Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| informationstechnik:programmierung:java [12/02/2025 08:54] – created mnsr | informationstechnik:programmierung:java [12/02/2025 10:05] (current) – [Der Weg vom Java-Code zur Maschinensprache] mnsr | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | 1111====== 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 |
| ===== Was ist Java? ===== | ===== Was ist Java? ===== | ||
| Java ist eine **objektorientierte**, | Java ist eine **objektorientierte**, | ||
| + | |||
| + | ===== Der Weg vom Java-Code zur Maschinensprache ===== | ||
| + | |||
| + | 1. **Quellcode**: | ||
| + | |||
| + | 2. **Kompilierung**: | ||
| + | |||
| + | 3. **[[informationstechnik: | ||
| + | |||
| + | 4. **Ausführung durch die JVM**: Die **Java Virtual Machine** interpretiert oder kompiliert den Bytecode zur Laufzeit in **[[informationstechnik: | ||
| + | |||
| + | 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**, | + | * Java bietet automatische **Speicherverwaltung** durch **[[informationstechnik: |
| * Java ist **plattformunabhängig**, | * Java ist **plattformunabhä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 20: | Line 32: | ||
| **Java vs. JavaScript**: | **Java vs. JavaScript**: | ||
| - | * Trotz ähnlicher Namen sind Java und JavaScript **grundverschieden**. Java ist eine **kompilierte** Sprache, JavaScript eine **interpretiere** 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 ===== | ||
| - | 1. **Unternehmensanwendungen**: | + | 1. **Unternehmensanwendungen**: |
| - | 2. **Android-Entwicklung**: | + | |
| - | 3. **Webentwicklung**: | + | 2. **Android-Entwicklung**: |
| + | | ||
| + | 3. **Webentwicklung**: | ||
| 4. **Big Data**: Technologien wie **Apache Hadoop** sind in Java geschrieben und werden in der Datenanalyse eingesetzt. | 4. **Big Data**: Technologien wie **Apache Hadoop** sind in Java geschrieben und werden in der Datenanalyse eingesetzt. | ||
| - | 5. **Eingebettete Systeme**: Java findet auch Anwendung in **Embedded Systems** und **IoT-Geräten**. | + | |
| - | 6. **Wissenschaftliche Anwendungen**: | + | 5. **Eingebettete Systeme**: Java findet auch Anwendung in **Embedded Systems** und **IoT-Geräten**. |
| + | |||
| + | 6. **Wissenschaftliche Anwendungen**: | ||
| ===== Stärken von Java ===== | ===== Stärken von Java ===== | ||
| * **Plattformunabhängigkeit**: | * **Plattformunabhängigkeit**: | ||
| + | |||
| * **Große Community**: | * **Große Community**: | ||
| + | |||
| * **Sicherheitsfeatures**: | * **Sicherheitsfeatures**: | ||
| + | |||
| * **Multithreading**: | * **Multithreading**: | ||
| + | |||
| * **Reife und Stabilität**: | * **Reife und Stabilität**: | ||
| Line 43: | Line 64: | ||
| * **Performance**: | * **Performance**: | ||
| + | |||
| * **Speicherverbrauch**: | * **Speicherverbrauch**: | ||
| + | |||
| * **Verbose Syntax**: Der Code in Java ist oft **umfangreicher** als in anderen modernen Sprachen wie Python oder Kotlin. | * **Verbose Syntax**: Der Code in Java ist oft **umfangreicher** als in anderen modernen Sprachen wie Python oder Kotlin. | ||
| + | |||
| * **Langsame Innovationszyklen**: | * **Langsame Innovationszyklen**: | ||
| Line 53: | Line 77: | ||
| ===== Weiterführende Literatur ===== | ===== Weiterführende Literatur ===== | ||
| - | * **" | + | * **" |
| - | * **" | + | * **" |
| * **Oracle Java Documentation**: | * **Oracle Java Documentation**: | ||
| - | |||
| - | ===== Übungen ===== | ||
| - | |||
| - | * Schreiben Sie ein einfaches "Hello World" | ||
| - | * Erstellen Sie eine kleine Android-App mit Java und einer anderen mit Kotlin, und vergleichen Sie die Unterschiede. | ||
| - | * Entwickeln Sie eine Multithreading-Anwendung und untersuchen Sie die Performance im Vergleich zu C++. | ||
| - | |||