javaonline:new_version
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
javaonline:new_version [2024/09/12 09:06] – [Unterschiede zum bisherigen Compiler/neue Features] martin | javaonline:new_version [2025/01/07 11:02] (aktuell) – [Unterschiede zum bisherigen Compiler/neue Features] martin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
FIXME -> Seite ist noch im Aufbau! | FIXME -> Seite ist noch im Aufbau! | ||
- | ====== Beta-Version mit neuem Compiler und weiteren | + | ====== Beta-Version mit neuem Compiler und vielen |
<WRAP center round info 80%> | <WRAP center round info 80%> | ||
- | Um den Compiler der Online-IDE zukunftsfähig zu halten und fortgeschrittene Sprachelemente von Java zu unterstützen habe ich ihn in den letzten 12 Monaten | + | Um den Compiler der Online-IDE zukunftsfähig zu halten und fortgeschrittene Sprachelemente von Java zu unterstützen habe ich ihn nochmals von Grund auf neu programmiert. Da sich dabei auch grundlegende Datenstrukturen und Schnittstellen stark verändert haben, musste ich auch die Laufzeitbibliothek komplett überarbeiten. Die neue Version der Online-IDE ist inzwischen schon lauffähig und sehr stabil, **hat aber sicher noch ein paar unentdeckte Bugs**. Trotzdem möchte ich Ihnen schon jetzt die Gelegenheit geben, alles auszuprobieren. Sie finden den jeweils aktuellen Entwicklungsstand unter [[https:// |
- | In den nächsten Tagen werde ich noch eine Funktionalität hinzufügen, mit der Sie mir Fehler und Verbesserungsvorschläge auf einfache Art melden können. Über jede Art von Unterstützung würde ich mich freuen! | + | </ |
+ | |||
+ | ==== Meldung von Fehlern ==== | ||
+ | <WRAP center round tip 80%> | ||
+ | Falls Sie Fehler finden würde | ||
+ | * Falls Sie einen GitHub-Account haben, | ||
+ | * Innerhalb der Online-IDE gibt es jetzt den Menüpunkt Hilfe -> Fehler melden. | ||
+ | Über jede Art von Unterstützung würde ich mich freuen! | ||
</ | </ | ||
===== Unterschiede zum bisherigen Compiler/ | ===== Unterschiede zum bisherigen Compiler/ | ||
- | * Deutlich **bessere Performance** der ausgeführten Programme (zwischen 3 und 100-mal, je nach Umfang der Verwendung der Grafikbibliothek) | + | * Deutlich **bessere Performance** der ausgeführten Programme (zwischen 3 und 50-mal, je nach Umfang der Verwendung der Grafikbibliothek) |
- | * Nebenläufige Ausführung mehrerer Threads | + | * Nebenläufige Ausführung mehrerer Threads |
* die **Java-Klassen Thread, Runnable, Semaphor** | * die **Java-Klassen Thread, Runnable, Semaphor** | ||
* **synchronized methods** und **synchronized blocks** | * **synchronized methods** und **synchronized blocks** | ||
* **locking**, | * **locking**, | ||
- | * **Test-Runner** zur Ausführung von **JUnit-Tests** | + | * **Test-Runner** zur Ausführung von **JUnit-Tests** |
* Die Klasse **Assertions** (assert-Methoden auch im globalen Namensraum verfügbar) | * Die Klasse **Assertions** (assert-Methoden auch im globalen Namensraum verfügbar) | ||
* **generic methods** | * **generic methods** | ||
* **anonymous inner classes**, **named inner classes** | * **anonymous inner classes**, **named inner classes** | ||
* **lambda functions** | * **lambda functions** | ||
- | * Umfangreichere | + | * Umfangreichere |
* **Exceptions** ('' | * **Exceptions** ('' | ||
- | * **Methodendeklarationen im Hauptprogramm** \\ (für die " | + | * **Methodendeklarationen im Hauptprogramm** \\ (für die " |
* Grundlegende **Überarbeitung des Debuggers** | * Grundlegende **Überarbeitung des Debuggers** | ||
+ | * Klassenbibliothek fürs Zentralabitur in Nordrhein-Westfalen | ||
* Klassen für **3D-Grafik** (noch im Aufbau) | * Klassen für **3D-Grafik** (noch im Aufbau) | ||
Zeile 33: | Zeile 41: | ||
=== Scheduler === | === Scheduler === | ||
Das Laufzeitsystem der Online-IDE verfügt jetzt über einen Scheduler, der mehrere Threads quasi gleichzeitig ausführen kann (preemtive multitasking). | Das Laufzeitsystem der Online-IDE verfügt jetzt über einen Scheduler, der mehrere Threads quasi gleichzeitig ausführen kann (preemtive multitasking). | ||
+ | |||
+ | === Import der Javascript-Bibliotheken === | ||
+ | Die Javascript-Bibliotheken werden ab jetzt alle als ECMAScript 6-Module nachgeladen. Dies erleichtert das Einbinden der Embedded-IDE in bestehende Seiten. | ||
+ | |||
+ | === Kapselung der css-Klassen === | ||
+ | Die Online-IDE hatte bisher viele css-Klassen als Bezeichner im globalen Namensraum, insbesondere auch in der Embedded-Variante. Diese wurden jetzt auf ein Minimum reduziert, daher gibt es ab jetzt weniger Nebeneffekte, | ||
+ | |||
+ | === Unit-Tests zur Qualitätssicherung des Compilers === | ||
+ | Ein großer Teil der Funktionalität des neuen Compilers wird jetzt durch automatisierte Unit-Tests qualitätsgesichert, |
javaonline/new_version.1726131991.txt.gz · Zuletzt geändert: 2024/09/12 09:06 von martin