Was ist Java?
Java ist eine objektorientierte Programmiersprache. Sie übernimmt nicht nur die verschiedenen Vorteile der C++-Sprache, sondern verzichtet daher auch auf die schwer verständlichen Konzepte wie Mehrfachvererbung und Zeiger , Die Java-Sprache ist leistungsstark und verfügt über zwei Funktionen, die einfach und benutzerfreundlich sind. Als Vertreter der statischen objektorientierten Programmiersprachen implementiert die Java-Sprache die objektorientierte Theorie perfekt und ermöglicht es Programmierern, komplexe Programmierungen mit einer eleganten Denkweise durchzuführen.
Java zeichnet sich durch Einfachheit, Objektorientierung, Verteilung, Robustheit, Sicherheit, Plattformunabhängigkeit und -portabilität, Multithreading und Dynamik aus. Java kann Desktopanwendungen, Webanwendungen, verteilte Systeme und eingebettete Systemanwendungen usw. schreiben.
Sprachfunktionen
1. Einfachheit
Java scheint ähnlich wie C++ konzipiert zu sein, aber um die Sprache klein und leicht zu erlernen zu machen , die Designer Wir haben viele in der C++-Sprache verfügbare Funktionen entfernt, die von durchschnittlichen Programmierern selten verwendet werden. Beispielsweise unterstützt Java die go to-Anweisung nicht und bietet stattdessen break- und continue-Anweisungen sowie Ausnahmebehandlung. Java eliminiert außerdem die Operatorüberladung und die Mehrfachvererbungsfunktionen von C++ und verwendet nicht die Hauptdatei, sodass keine Vorverarbeitung erforderlich ist. Da Java keine Strukturen hat, sind Arrays und Strings Objekte, sodass keine Zeiger erforderlich sind. Java kann Objektreferenzen und indirekte Referenzen automatisch verarbeiten und eine automatische Sammlung nutzloser Einheiten realisieren, sodass Benutzer sich nicht um Speicherverwaltungsprobleme kümmern müssen und mehr Zeit und Energie in Forschung und Entwicklung investieren können.
2. Objektorientiert
Java ist eine objektorientierte Sprache. Für Programmierer bedeutet dies, auf die Daten in der Anwendung und die Methoden zur Manipulation der Daten zu achten, anstatt ausschließlich in Prozeduren zu denken. In einem objektorientierten System ist eine Klasse eine Sammlung von Daten und Methoden zur Datenverarbeitung. Daten und Methoden beschreiben zusammen den Zustand und das Verhalten eines Objekts. Jedes Objekt ist eine Kapselung seines Zustands und Verhaltens. Klassen sind in einem bestimmten System und einer bestimmten Hierarchie angeordnet, sodass Unterklassen das Verhalten von Oberklassen erben können. In dieser Klassenhierarchie gibt es eine Wurzelklasse, also die Klasse mit allgemeinem Verhalten. Java-Programme werden mithilfe von Klassen organisiert.
Java enthält außerdem eine erweiterte Sammlung von Klassen, die verschiedene Pakete bilden, die Benutzer in ihren eigenen Programmen verwenden können. Java bietet beispielsweise Klassen, die grafische Benutzeroberflächenkomponenten generieren (Paket java.awt), wobei awt die Abkürzung für Abstract Windowing Toolkit (Abstract Windowing Toolkit) ist, Klassen, die Eingabe und Ausgabe verarbeiten (Paket java.io), und Klassen, die Unterstützung von Netzwerkfunktionen (Java.net-Paket).
3. Verteilung
Java ist für die Unterstützung von Anwendungen im Netzwerk konzipiert. Java unterstützt nicht nur verschiedene Ebenen von Netzwerkverbindungen, sondern unterstützt auch zuverlässige Stream-Netzwerkverbindungen mit der Socket-Klasse, sodass Benutzer verteilte Clients und Server generieren können.
Das Netzwerk wird zum Vertriebsvehikel für Softwareanwendungen. Java-Programme müssen nur einmal geschrieben und überall ausgeführt werden.
4. Kompilierung und Interpretierbarkeit
Der Java-Compiler generiert Bytecode anstelle des üblichen Maschinencodes. Java-Bytecode bietet ein architekturneutrales Objektdateiformat und ist darauf ausgelegt, Programme effizient auf mehreren Plattformen bereitzustellen. Java-Programme können auf jedem System ausgeführt werden, das einen Java-Interpreter und ein Laufzeitsystem implementiert.
In einer interpretierten Umgebung entfällt die standardmäßige „Verknüpfungs“-Phase der Programmentwicklung weitgehend. Wenn es in Java eine Verknüpfungsphase gibt, handelt es sich lediglich um den Prozess des Ladens neuer Klassen in die Umgebung. Es handelt sich um einen inkrementellen und einfachen Prozess. Daher unterstützt Java schnelles Prototyping und einfaches Experimentieren, was zu einer schnellen Programmentwicklung führt. Dies ist ein eleganter Entwicklungsprozess, der im krassen Gegensatz zum traditionellen, zeitaufwändigen „Kompilieren, Verknüpfen und Testen“ steht.
5. Robustheit
Java wurde ursprünglich als Sprache zum Schreiben von Unterhaltungselektronik-Software verwendet und ist daher darauf ausgelegt, äußerst zuverlässige und robuste Software zu schreiben. Java eliminiert bestimmte Programmierfehler und macht es relativ einfach, zuverlässige Software darin zu schreiben.
Java ist eine stark typisierte Sprache, die eine erweiterte Kompilierungszeitprüfung auf mögliche Probleme mit Typkonflikten ermöglicht. Java erfordert eine explizite Methodendeklaration und unterstützt keine implizite Deklaration im C-Stil. Diese strengen Anforderungen stellen sicher, dass der Compiler Aufruffehler erkennt, was zu zuverlässigeren Programmen führt.
Eine der wichtigsten Verbesserungen der Zuverlässigkeit ist das Speichermodell von Java. Java unterstützt keine Zeiger, wodurch die Möglichkeit des Überschreibens von Speicher und der Beschädigung von Daten ausgeschlossen ist. In ähnlicher Weise verhindert die automatische „Garbage Collection“ von Java Speicherlecks und andere schädliche Fehler im Zusammenhang mit der dynamischen Speicherzuweisung und -freigabe. Der Java-Interpreter führt auch viele Laufzeitprüfungen durch, z. B. die Überprüfung, ob alle Array- und String-Zugriffe innerhalb der Grenzen liegen.
Die Ausnahmebehandlung ist eine weitere Funktion in Java, die Programme robuster macht. Eine Ausnahme ist ein Signal dafür, dass ein ungewöhnlicher Zustand, ähnlich einem Fehler, aufgetreten ist. Mithilfe von try/catch/finally-Anweisungen können Programmierer den Fehlerbehandlungscode finden, was die Aufgabe der Fehlerbehandlung und -behebung vereinfacht.
6. Sicherheit
Das Speicherzuweisungsmodell von Java ist eine der wichtigsten Methoden zur Abwehr von Schadcode. Java hat keine Zeiger, daher können Programmierer nicht hinter die Kulissen blicken und Zeiger auf den Speicher fälschen. Noch wichtiger ist, dass der Java-Compiler keine Entscheidungen über die Speicheranordnung trifft, sodass der Programmierer die tatsächliche Speicheranordnung der Klasse nicht anhand der Deklaration erraten kann. Speicherverweise in kompiliertem Java-Code weisen die tatsächliche Speicheradresse auf, die vom Java-Interpreter zur Laufzeit ermittelt wird.
Das Java-Laufzeitsystem verwendet einen Bytecode-Verifizierungsprozess, um sicherzustellen, dass der in das Netzwerk geladene Code keine Einschränkungen der Java-Sprache verletzt. Zu diesem Sicherheitsmechanismus gehört auch, wie Klassen aus dem Internet geladen werden. Beispielsweise werden geladene Klassen in separaten Namensräumen statt in lokalen Klassen platziert, wodurch verhindert wird, dass ein bösartiges Applet Standard-Java-Klassen durch seine eigenen Versionen ersetzt.
7. Portabilität
Java macht Sprachdeklarationen unabhängig von Implementierungsaspekten. Java gibt beispielsweise explizit die Größe und das Betriebsverhalten jedes Basisdatentyps an (diese Datentypen werden durch die Java-Syntax beschrieben).
Die Java-Umgebung selbst ist auf neue Hardwareplattformen und Betriebssysteme portierbar. Der Java-Compiler ist ebenfalls in Java geschrieben, während das Java-Laufzeitsystem in der ANSIC-Sprache geschrieben ist.
8. Hohe Leistung
Java ist eine Sprache, die zuerst kompiliert und dann interpretiert wird, daher ist sie nicht so schnell wie eine vollständig kompilierte Sprache. Aber es gibt Situationen, in denen die Leistung von entscheidender Bedeutung ist. Java-Designer haben einen „Just-in-Time“-Compiler entwickelt, der Java-Bytecode auch zur Laufzeit in Maschinencode übersetzt besteht darin, eine vollständige Kompilierung zu erreichen.
Das Java-Bytecode-Format wurde unter Berücksichtigung der Anforderungen dieser „Just-in-Time“-Compiler entwickelt, sodass der Prozess der Maschinencodegenerierung recht einfach ist und ziemlich guter Code erzeugt werden kann.
9. Multi-Threading
Java ist eine Multi-Thread-Sprache. Sie bietet Unterstützung für die Multi-Thread-Ausführung (auch als Lightweight-Prozeduren bezeichnet) und kann verschiedene Aufgaben bewältigen, wodurch die Programmierung mit Threads erfolgt ganz einfach. Das Lang-Paket von Java stellt eine Thread-Klasse bereit, die Methoden zum Starten von Threads, Ausführen von Threads, Stoppen von Threads und Überprüfen des Thread-Status unterstützt.
Die Thread-Unterstützung von Java umfasst auch eine Reihe von Synchronisationsprimitiven. Diese Grundelemente basieren auf dem weit verbreiteten Synchronisationsschema, das von C.A.R. Haore im Supervisor- und Conditional-Variable-Stil entwickelt wurde. Mit dem Schlüsselwort synchronisiert können Programmierer angeben, dass bestimmte Methoden in einer Klasse nicht gleichzeitig ausgeführt werden können. Diese Methoden unterliegen der Kontrolle von Überwachungsverfahren, um sicherzustellen, dass die Variablen in einem konsistenten Zustand gehalten werden.
10. Dynamik
Die Java-Sprache ist darauf ausgelegt, sich an sich ändernde Umgebungen anzupassen. Beispielsweise werden Klassen in Java bei Bedarf geladen und einige werden sogar über das Netzwerk bezogen.
Das obige ist der detaillierte Inhalt vonWas ist Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!