Warum werden Zeiger in Java nicht verwendet?

5 Antworten


  • Der Hauptgrund ist, dass wir Java sowohl für die Entwicklung von Windows-Anwendungen als auch für Webanwendungen verwenden werden. Wenn wir Pointer verwenden, insbesondere für Webanwendungen, haben wir ein Sicherheitsproblem. Über Pointer erhalten wir direkt im System Zugriff auf die Adresse. Wenn wir im Web verwenden, können die Benutzer auf Ihren Server zugreifen und den Adressstandort der Daten ändern. Dies ist ein Verstoß gegen die Sicherheit. Um dies zu verhindern, wurden Zeiger in JAVA komplett vermieden.
  • In der Java-Sprache wird die Referenzierung und Dereferenzierung von Objekten automatisch für Sie abgewickelt. Java erlaubt es Ihnen nicht, Zeiger oder Speicheradressen jeglicher Art zu manipulieren. Es erlaubt Ihnen nicht, Objekt- oder Array-Referenzen in Ganzzahlen umzuwandeln und es erlaubt Ihnen keine Zeigerarithmetik durchzuführen. Es erlaubt Ihnen nicht, die Größe eines primitiven Typs oder Objekts in Byte zu berechnen. Diese Einschränkungen haben zwei Gründe:

    Zeiger sind eine notorische Fehlerquelle. Ihre Beseitigung vereinfacht die Sprache und beseitigt viele potenzielle Fehler. Zeiger und Zeigerarithmetik könnten verwendet werden, um Javas Laufzeitprüfungen und Sicherheitsmechanismen zu umgehen. Das Entfernen von Zeigern ermöglicht es Java, die Sicherheitsgarantien bereitzustellen, die es bietet.

    Für einen C-Programmierer mag das Fehlen von Zeigern und Zeigerarithmetik eine abscheuliche Einschränkung in Java erscheinen. Aber sobald Sie sich an das objektorientierte Programmiermodell von Java gewöhnt haben, scheint es überhaupt keine ernsthafte Einschränkung mehr zu sein. Das Fehlen von Zeigern bedeutet, dass Sie wahrscheinlich keine UNIX-Gerätetreiber in Java schreiben können (zumindest nicht ohne in C geschriebene native Methoden zu verwenden). Aber eine große Sache – die meisten von uns müssen diese Art von Low-Level-Programmierung sowieso nie machen.
  • Java ist die Sprache des Internets. Mit anderen Worten, es ist eine Sprache der Netzwerke.
    Da wir wissen, dass wir mit Zeigern auf alle wichtigen Daten zugreifen können, indem wir durch Zeiger zeigen. Und in Netzwerken und in Java ist Sicherheit eine Präferenz. Java verwendet also keine Zeiger.
  • Nun, es ist sehr umstritten, ob Java Zeiger unterstützt oder nicht. Nicht wenige glauben, dass jeder Referenztyp in Java ein Zeiger ist, deshalb die bekannte Null-Zeiger-Ausnahme. Andererseits unterstützt die Version 1.5 von Java Zeigerarithmetik.

    Java ist im Grunde eine objektorientierte Programmiersprache, die in den 1990er Jahren von Sun Microsystems entwickelt wurde. Java-Anwendungen werden normalerweise in Bytecode assembliert, aber auch eine Kompilierung in lokalen Maschinencode ist möglich. Während der Laufzeit wird Bytecode normalerweise entweder konstruiert oder zu lokalem Code kompiliert, um zu funktionieren, aber eine direkte Hardwareimplementierung von Bytecode über einen Java-Prozessor ist ebenfalls möglich.

    Java hat den größten Teil seiner Syntax von anderen bekannten Programmiersprachen wie C und C++, besteht aber aus einem weniger komplizierten Objektmodell und winzigen Low-Level-Funktionen.
  • Es ist allgemein bekannt, dass Java die Zeiger nicht verwendet, aber das stimmt nicht. Diese Sprache verwendet Zeiger, die jedoch explizit verwendet werden und nicht direkt manipuliert werden können.

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear