| Both sides previous revision Previous revision Next revision | Previous revision |
| informationstechnik:programmierung:java [12/02/2025 09:53] – [Weiterführende Literatur] mnsr | informationstechnik:programmierung:java [12/02/2025 10:05] (current) – [Der Weg vom Java-Code zur Maschinensprache] mnsr |
|---|
| 2. **Kompilierung**: Der Java-Compiler (**javac**) übersetzt den Quellcode in **[[informationstechnik:programmierung:bytecode|Bytecode]]**, 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. |
| |
| 3. **[[informationstechnik:programmierung:bytecode|Bytecode]]**: Dieser Bytecode ist plattformunabhängig und kann auf jeder Maschine mit einer [[informationstechnik:programmierung:javaRuntimeEnvironment|JVM]] ausgeführt werden. | 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. |
| |
| 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. | 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. |
| |
| **Java vs. C++**: | **Java vs. C++**: |
| * Java bietet automatische **Speicherverwaltung** durch **[[informationstechnik:programmierung:garbageCollection|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. |
| ===== Weiterführende Literatur ===== | ===== Weiterführende Literatur ===== |
| |
| * **"Effective Java" von Joshua Bloch** \u2013 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** \u2013 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/ |