Java nicht interpretiert

GetIT

Mitglied
Hallo,

eigentlich habe ich gelernt das Java eine interpretierte (und kompilierte) Sprache ist.
Auch am Anfang des Buches "Java ist auch eine Insel" (und wahrscheinlich jedes Tutorials/Buchs/...) steht das Java in einen Bytecode (Maschinenunabhängigen) kompiliert und dann von der JVM interpretiert wird.
Auf der Konsole kann ich das ja auch nachvollziehen
Code:
?> javac MyTutorial.java
?> java MyTutorial

Aber jetzt steht dann im Buch:
Warum sich Sun für diese Teilung (--> in die Aufteilung in Referenz- und Primitive Datentypen) entschied, lässt sich mit einem einfachen Grund erkären: Java wurde als Programmiersprache entworfen, die kleine, schwache Geräte unterstützen sollte, und auf denen musste die Java-Software, die am Anfang noch interpretiert wurde so schnell wie möglich laufen.

Wieso am Anfang?
Das ist doch jetzt immer noch so.
 
K

kneitzel

Gast
Also Bytecode wird nicht nur interpretiert sondern es gibt weitergehende "Just in Time" Compiler. Die Wikipedia Seite hat das recht gut beschrieben:
"Um die Ausführungsgeschwindigkeit zu erhöhen, werden Konzepte wie die Just-in-time-Kompilierung und die Hotspot-Optimierung verwendet. In Bezug auf den eigentlichen Ausführungsvorgang kann die JVM den Bytecode also interpretieren, ihn bei Bedarf jedoch auch kompilieren und optimieren."
https://de.wikipedia.org/wiki/Java_(Programmiersprache)

Und diese Kompilierung (Mit Optimierung) ist heute eigentlich Standard. Daher kommt wohl diese Formulierung.
 

httpdigest

Top Contributor
Interessant hier sei vielleicht noch zu erwähnen, dass auch im OpenJDK bzw. in HotSpot keine "Interpretierung" im engeren Sinne mehr stattfindet. Also, wenn man sich einen Interpreter als basically eine for-Schleife mit einem großen Switch-Case Statement für alle möglichen Bytecode-Instruktionen vorstellt und er dann Instruktion für Instruktion den Bytecode einer Methode liest und emuliert. Das passiert nicht mehr. Stattdessen nutzt zumindest HotSpot einen "templated interpreter". Hier wird bereits beim ersten Ausführen einer Methode Maschinencode generiert, der aber einfach nur aus vorgefertigten Maschinencode-Templates für alle Bytecode-Instruktionen besteht. Dieser sehr suboptimale Code wird dann einfach aneinanderkonkateniert für alle Bytecode-Instruktionen der Methode. Und erst bei einer konfigurierbaren Anzahl an Methodenaufrufen oder Schleifendurchläufen in der Methode wird die Methode Just-In-Time Kompiliert bzw. das bereits existierende Kompilat eher optimiert.

Mehr Infos: https://markmail.org/download.xqy?id=vn5olfue3yiwldjh&number=1
 

httpdigest

Top Contributor
Weil Bytecode halt "am Anfang" (und mit Anfang ist hier 1995 gemeint) noch in BlueRay Playern und Set-Top Boxen interpretiert wurde. Heute aber eigentlich nicht mehr.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
P Neue Java v8 JRE Version nicht über alte drüber installierbar: Wie sonst? Java Basics - Anfänger-Themen 7
MarvinsDepression Umgebungsvariable kann Java-Applikationen außerhalb der IDE nicht starten Java Basics - Anfänger-Themen 4
GoenntHack Java Text von JLabel verändert sich nicht Java Basics - Anfänger-Themen 1
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
S Java Client-je nach Heap Size Größe startet Applikation oder nicht Java Basics - Anfänger-Themen 4
Vernon.098 Java (BlueJ) Mensch ärgere dich nicht Programmien Java Basics - Anfänger-Themen 6
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
H Java file nicht gefunden Java Basics - Anfänger-Themen 5
C java.sql Statement kann nicht geschlossen werden Java Basics - Anfänger-Themen 9
F Java GUI-PaintComponent funktioniert nicht Java Basics - Anfänger-Themen 1
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
R Erste Schritte Eclipse - Java - System.out.println(); funktioniert nicht Java Basics - Anfänger-Themen 2
C Java Boolean reagiert nicht Java Basics - Anfänger-Themen 18
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
J Datentypen Komm in einem Android Buch mit Java nicht weiter... Java Basics - Anfänger-Themen 7
D JAVA JDK korrekt installieren javac wird nicht gefunden Java Basics - Anfänger-Themen 2
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
J Compiler-Fehler Java findet main Klasse nicht Java Basics - Anfänger-Themen 16
D Erste Schritte Java speichert wert des Scanners nicht Java Basics - Anfänger-Themen 2
A Java Scanner Funktioniert nicht Java Basics - Anfänger-Themen 2
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
K Schlüsselworte Nach Java update findet mdb Datei nicht Java Basics - Anfänger-Themen 6
J Java-Dateien lassen sich nicht editieren Java Basics - Anfänger-Themen 46
D Erste Schritte Java läuft nicht Java Basics - Anfänger-Themen 33
X Java 64 bit Funktioniert nicht Java Basics - Anfänger-Themen 7
J Java FTP Download lädt datein nicht Ordentlich herunter Java Basics - Anfänger-Themen 9
J Java Ordner Erstellung nicht möglich. Java Basics - Anfänger-Themen 3
D Java Applet wird nicht im Browser angezeigt Java Basics - Anfänger-Themen 6
T Java Executable jar file funktioniert nicht Java Basics - Anfänger-Themen 4
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
A Erste Schritte Java Output wird nicht angezeigt Java Basics - Anfänger-Themen 7
P Java-Code funktioniert nicht Java Basics - Anfänger-Themen 13
J [Rundungsfehler bei Double] Grundkurs Java: Checke Lösungsweg nicht Java Basics - Anfänger-Themen 1
V Verstehe die Lösung einer Aufgabe von Grunkurs-Java nicht. Java Basics - Anfänger-Themen 11
O Javac findet die .java datei nicht Java Basics - Anfänger-Themen 2
snipesss Java-Code gedownloaded, funktioniert aber nicht? Java Basics - Anfänger-Themen 9
OlafHD Java Uhrzeit aktualisiert sich nicht Java Basics - Anfänger-Themen 2
J Java Datei lässt sich nicht kompilieren Java Basics - Anfänger-Themen 3
C Java Hauptklasse konnte nicht gefunden oder geladen werden Java Basics - Anfänger-Themen 14
P Verstehe Lösung einer Aufgabe von "Grundkurs-Java" nicht Java Basics - Anfänger-Themen 5
B Drucken in JAVA -> nicht "Java printing" Java Basics - Anfänger-Themen 3
W Erste Schritte import java.util.scanner funktioniert nicht Java Basics - Anfänger-Themen 2
V Java Uitil Timer Stoppt nicht Java Basics - Anfänger-Themen 2
C Lottospiel kann Fehler nicht finden Java Java Basics - Anfänger-Themen 6
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
S UserPref und Java Application klappt immer nicht. Java Basics - Anfänger-Themen 2
U Java generics funktioniert nicht Java Basics - Anfänger-Themen 0
M Bekomm altes Uni-Projekt in java nicht mehr zum laufen Java Basics - Anfänger-Themen 7
C Programm JAR startet nicht - Could not create the Java Virtual Machine Java Basics - Anfänger-Themen 4
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
S Java CSV, er nimmt die nächste Zeile nicht Java Basics - Anfänger-Themen 2
D Java erkennt eine deklarierte Variable nicht Java Basics - Anfänger-Themen 2
M java kennt Variable nicht? Java Basics - Anfänger-Themen 2
J Java Writer funktioniert nicht mehr Java Basics - Anfänger-Themen 8
G Java lässt sich nicht installieren Java Basics - Anfänger-Themen 1
T Warum wartet Java nicht bis die for schleife zu ende ist Java Basics - Anfänger-Themen 18
B JDK installieren Befehl java funktioniert nicht Java Basics - Anfänger-Themen 15
D Java geht auf windows 64 bit nicht. Java Basics - Anfänger-Themen 5
W Java wird nicht erkannt Java Basics - Anfänger-Themen 1
Z Java Compiler will nicht mehr Java Basics - Anfänger-Themen 3
R Kann jemand diese Java Programmierung machen? Versteh ich leider nicht Java Basics - Anfänger-Themen 17
S Java funktioniert nicht Java Basics - Anfänger-Themen 2
A Java-Zeilenprogramm lässt sich nicht exportieren Java Basics - Anfänger-Themen 13
B Java getter/setter funktioniert nicht! Java Basics - Anfänger-Themen 7
R Java JDK/ Kompiler geht nicht Java Basics - Anfänger-Themen 4
S java für besonders dumme dummies oder ich bekomms nicht mal installiert Java Basics - Anfänger-Themen 29
X Ich bekomme die Java Communications Api nicht installiert Java Basics - Anfänger-Themen 9
M Java 64 bit version funktoniert nicht bei win 64 bit Java Basics - Anfänger-Themen 6
D Erste Schritte Java Konsole öffnet sich nicht Java Basics - Anfänger-Themen 4
N Explode in Java (split). Komme nicht weiter. Java Basics - Anfänger-Themen 2
H Java Datein starten nicht :( Java Basics - Anfänger-Themen 5
FrozeTee .java Dateien unter Windows 7 werden nicht angezeigt Java Basics - Anfänger-Themen 7
W Java label nicht ansprechbar Java Basics - Anfänger-Themen 7
M Java Class File lässt sich nicht ausführen Java Basics - Anfänger-Themen 3
K Java editor kompiliert aber startet nicht Java Basics - Anfänger-Themen 5
A Variablen [Java] Variable nicht erkannt Java Basics - Anfänger-Themen 11
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
N JAVA Installation - Umgebungsvariable geht nicht. Java Basics - Anfänger-Themen 3
M Kann Java Programm nicht starten Java Basics - Anfänger-Themen 7
B Java-Basics --> Fehlermeldung nicht verständlich! Java Basics - Anfänger-Themen 8
K Hilfe, komme nicht weiter in meinem JAVA-Spiel Java Basics - Anfänger-Themen 3
P Problem- Java Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 9
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
M Java kann nicht installiert werden "entpacken RT fehlgeschlagen" Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben