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] 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.+2. **Kompilierung**Der Java-Compiler (**javac**) übersetzt den Quellcode in **[[informationstechnik:programmierung:bytecode|Bytecode]]**, der in einer .class-Datei gespeichert wird.
  
-Laden des BytecodesDie JVM lädt den Bytecode zur Ausführung.+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.
  
-Interpretation oder JIT-Kompilierung:+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.
  
-Der Bytecode wird entweder interpretiert (Befehl für Befehl ausgeführt) oder +Dieser Prozess ermöglicht es, dass derselbe Java-Code auf verschiedenen Plattformen ohne Änderungen ausgeführt werden kann.
- +
-durch den JIT-Compiler (Just-in-Time) in nativen Maschinencode übersetzt, der direkt vom Prozessor ausgeführt wird. +
- +
-Ausführung: Der Maschinencode wird auf der spezifischen Hardware ausgeführt+
- +
-Dieser Prozess kombiniert die Flexibilität der Interpretation mit der Geschwindigkeit der nativen Ausführung.+
  
 ===== Unterschiede zu anderen Programmiersprachen ===== ===== Unterschiede zu anderen Programmiersprachen =====
  
-Java vs. C++: +**Java vs. C++**
- +  Java bietet automatische **Speicherverwaltung** durch **[[informationstechnik:programmierung:java:garbageCollection|Garbage Collection]]**, während C++ eine manuelle Speicherverwaltung erfordert. 
-Java bietet automatische Speicherverwaltung durch Garbage Collection, während C++ eine manuelle Speicherverwaltung erfordert. +  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.
-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. +
- +
-Java vs. Python: +
- +
-Java ist statisch typisiert, während Python dynamisch typisiert ist. +
- +
-Java ist in der Regel schneller in der Ausführung, Python jedoch bietet eine schnellere Entwicklung durch einfachere Syntax. +
- +
-Die Syntax von Java ist strenger und überladener im Vergleich zu Pythons leserfreundlicher Struktur. +
- +
-Java vs. JavaScript:+
  
-Trotz ähnlicher Namen sind Java und JavaScript grundverschieden. Java ist eine kompilierte SpracheJavaScript eine interpretierte Sprache für Webentwicklung.+**Java vsPython**: 
 +  * Java ist **statisch typisiert**während Python **dynamisch typisiert** ist. 
 +  * Java ist in der Regel **schneller** in der Ausführung, Python jedoch bietet eine **schnellere Entwicklung** durch einfachere Syntax. 
 +  * Die Syntax von Java ist **strenger** und überladener im Vergleich zu Pythons **leserfreundlicher** Struktur.
  
-Java wird für Server- und Backend-Entwicklung verwendet, während JavaScript hauptsächlich im Frontend von Webanwendungen eingesetzt wird.+**Java vs. JavaScript**: 
 +  * 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.
  
 ===== Einsatzgebiete von Java ===== ===== Einsatzgebiete von Java =====
Line 95: 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.1739353583.txt.gz
  • Last modified: 12/02/2025 09:46
  • by mnsr