informationstechnik:programmierung:java

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
informationstechnik:programmierung:java [12/02/2025 09:46] – [Unterschiede zu anderen Programmiersprachen] mnsrinformationstechnik:programmierung:java [12/02/2025 10:05] (current) – [Der Weg vom Java-Code zur Maschinensprache] mnsr
Line 1: Line 1:
-====== Java: Eine Einführung ======+====== Java ======
  
-Java ist eine der bekanntesten und am weitesten verbreiteten Programmiersprachen der Welt. Seit ihrer Einführung durch Sun Microsystems im Jahr 1995 hat sich Java in vielen Bereichen der Softwareentwicklung etabliert, von Unternehmensanwendungen bis hin zu mobilen Apps.+**Java** ist eine der bekanntesten und am weitesten verbreiteten [[informationstechnik:programmierung:programmiersprache|Programmiersprachen]] der Welt. Seit ihrer Einführung durch **Sun Microsystems** im Jahr 1995 hat sich Java in vielen Bereichen der Softwareentwicklung etabliert, von Unternehmensanwendungen bis hin zu mobilen Apps.
  
 ===== Was ist Java? ===== ===== Was ist Java? =====
  
-Java ist eine objektorientierte, plattformunabhängige Programmiersprache. Das Motto "Write Once, Run Anywhere" beschreibt die Fähigkeit von Java-Programmen, auf verschiedenen Betriebssystemen ohne Änderungen ausgeführt zu werden. Dies wird durch die Java Virtual Machine (JVM) erreicht, die den Java-Bytecode interpretiert+Java ist eine **objektorientierte****plattformunabhängige** Programmiersprache. Das Motto "Write Once, Run Anywhere" beschreibt die Fähigkeit von Java-Programmen, auf verschiedenen Betriebssystemen ohne Änderungen ausgeführt zu werden. Dies wird durch die **Java Virtual Machine (JVM)** erreicht, die den Java-Bytecode interpretiert.
- +
-===== Kompiliert oder interpretiert? ===== +
- +
-Java kombiniert kompilierte und interpretierte Ansätze: +
- +
-Kompilierung: Der Java-Quellcode wird mit dem Java Compiler (javac) in Bytecode übersetzt. Dieser Bytecode ist plattformunabhängig und kann auf jedem System mit einer JVM ausgeführt werden. +
- +
-Interpretation/Just-in-Time (JIT) Compilation: Die JVM interpretiert den Bytecode oder übersetzt ihn zur Laufzeit mit dem JIT-Compiler in Maschinencode. Dies verbessert die Ausführungsgeschwindigkeit erheblich.+
  
 ===== Der Weg vom Java-Code zur Maschinensprache ===== ===== Der Weg vom Java-Code zur Maschinensprache =====
  
-Schreiben des Quellcodes: Der Entwickler schreibt den Code in einer Datei mit der Endung .java+1. **Quellcode**: Der Entwickler schreibt den Code in einer .java-Datei.
- +
-Kompilierung: Mit dem Befehl javac Dateiname.java wird der Quellcode in Bytecode übersetzt, der in einer .class-Datei gespeichert wird. +
- +
-Laden des Bytecodes: Die JVM lädt den Bytecode zur Ausführung. +
- +
-Interpretation oder JIT-Kompilierung:+
  
-Der Bytecode wird entweder interpretiert (Befehl für Befehl ausgeführtoder+2. **Kompilierung**: Der Java-Compiler (**javac**übersetzt den Quellcode in **[[informationstechnik:programmierung:bytecode|Bytecode]]**, der in einer .class-Datei gespeichert wird.
  
-durch den JIT-Compiler (Just-in-Time) in nativen Maschinencode übersetzt, der direkt vom Prozessor ausgeführt wird.+3. **[[informationstechnik:programmierung:bytecode|Bytecode]]**: Dieser Bytecode ist plattformunabhängig und kann auf jeder Maschine mit einer [[informationstechnik:programmierung:java:javaRuntimeEnvironment|JVM]] ausgeführt werden.
  
-Ausführung: Der Maschinencode wird auf der spezifischen Hardware ausgeführt.+4. **Ausführung durch die JVM**Die **Java Virtual Machine** interpretiert oder kompiliert den Bytecode zur Laufzeit in **[[informationstechnik:programmierung:maschinencode|Maschinensprache]]**, die vom Betriebssystem und der Hardware verstanden wird.
  
-Dieser Prozess kombiniert die Flexibilität der Interpretation mit der Geschwindigkeit der nativen Ausführung.+Dieser Prozess ermöglicht es, dass derselbe Java-Code auf verschiedenen Plattformen ohne Änderungen ausgeführt werden kann.
  
 ===== Unterschiede zu anderen Programmiersprachen ===== ===== Unterschiede zu anderen Programmiersprachen =====
  
 **Java vs. C++**: **Java vs. C++**:
-  * Java bietet automatische **Speicherverwaltung** durch **Garbage Collection**, während C++ eine manuelle Speicherverwaltung erfordert.+  * Java bietet automatische **Speicherverwaltung** durch **[[informationstechnik:programmierung:java:garbageCollection|Garbage Collection]]**, während C++ eine manuelle Speicherverwaltung erfordert.
   * Java ist **plattformunabhängig**, C++ hingegen ist stark von der Zielplattform abhängig.   * Java ist **plattformunabhängig**, C++ hingegen ist stark von der Zielplattform abhängig.
   * In Java gibt es keine **Mehrfachvererbung** von Klassen, während C++ dies unterstützt.   * In Java gibt es keine **Mehrfachvererbung** von Klassen, während C++ dies unterstützt.
Line 48: Line 34:
   * Trotz ähnlicher Namen sind Java und JavaScript **grundverschieden**. Java ist eine **kompilierte** Sprache, JavaScript eine **interpretierte** Sprache für Webentwicklung.   * Trotz ähnlicher Namen sind Java und JavaScript **grundverschieden**. Java ist eine **kompilierte** Sprache, JavaScript eine **interpretierte** Sprache für Webentwicklung.
   * Java wird für **Server- und Backend-Entwicklung** verwendet, während JavaScript hauptsächlich im **Frontend** von Webanwendungen eingesetzt wird.   * Java wird für **Server- und Backend-Entwicklung** verwendet, während JavaScript hauptsächlich im **Frontend** von Webanwendungen eingesetzt wird.
 +
 ===== Einsatzgebiete von Java ===== ===== Einsatzgebiete von Java =====
  
Line 86: Line 73:
 ===== Fazit ===== ===== Fazit =====
  
-Java bleibt eine der zuverlässigsten und am weitesten verbreiteten Programmiersprachen. Mit seiner Plattformunabhängigkeit, Stabilität und umfangreichen Bibliotheken ist es besonders für Unternehmensanwendungen und die Android-Entwicklung attraktiv. Dennoch gibt es Situationen, in denen andere Sprachen aufgrund von Performance- oder Entwicklungsanforderungen bevorzugt werden.+Java bleibt eine der **zuverlässigsten** und **am weitesten verbreiteten** Programmiersprachen. Mit seiner Plattformunabhängigkeit, Stabilität und umfangreichen Bibliotheken ist es besonders für Unternehmensanwendungen und die Android-Entwicklung attraktiv. Dennoch gibt es Situationen, in denen andere Sprachen aufgrund von Performance- oder Entwicklungsanforderungen bevorzugt werden.
  
 ===== Weiterführende Literatur ===== ===== Weiterführende Literatur =====
  
-"Effective Java" von Joshua Bloch – Best Practices für erfahrene Entwickler. +  * **"Effective Java" von Joshua Bloch** - Best Practices für erfahrene Entwickler. 
- +  * **"Head First Java" von Kathy Sierra und Bert Bates** - Ein praxisorientiertes Buch für Einsteiger. 
-"Head First Java" von Kathy Sierra und Bert Bates – Ein praxisorientiertes Buch für Einsteiger. +  * **Oracle Java Documentation**: https://docs.oracle.com/en/java/
- +
-Oracle Java Documentation: https://docs.oracle.com/en/java/+
  • informationstechnik/programmierung/java.1739353618.txt.gz
  • Last modified: 12/02/2025 09:46
  • by mnsr