Java: Unterschied zwischen den Versionen

987 Bytes hinzugefügt ,  20. Mai 2017
K
DVM-Bytecode, Garbage Collection
K (Neuer Abschnitt "Technische Details" (Erklärung JVM & Bytecode))
K (DVM-Bytecode, Garbage Collection)
Zeile 9: Zeile 9:
Diese JVM kann man sich als simulierte CPU vorstellen, die den Java-Bytecode als Maschinencode ausführt.  
Diese JVM kann man sich als simulierte CPU vorstellen, die den Java-Bytecode als Maschinencode ausführt.  
Hierdurch lässt sich der Java-Bytecode auf jedem Betriebssystem (z.B. Windows-Varianten, [[Linux]] und MacOS) und jeder CPU-Plattform, für die eine Implementierung der JVM verfügbar ist, ausführen (Plattform-Unabhängigkeit).<ref>{{Cite web | url = http://www.theserverside.com/definition/Java-virtual-machine-JVM  | title = Java virtual machine (JVM) | accessdate = 2017-05-20  | publisher = theserverside.com | author = Margaret Rouse | language = en }}</ref>
Hierdurch lässt sich der Java-Bytecode auf jedem Betriebssystem (z.B. Windows-Varianten, [[Linux]] und MacOS) und jeder CPU-Plattform, für die eine Implementierung der JVM verfügbar ist, ausführen (Plattform-Unabhängigkeit).<ref>{{Cite web | url = http://www.theserverside.com/definition/Java-virtual-machine-JVM  | title = Java virtual machine (JVM) | accessdate = 2017-05-20  | publisher = theserverside.com | author = Margaret Rouse | language = en }}</ref>
Für Android-Apps wird dieser Bytecode aber in speziellen Bytecode für die [[Dalvik VM|Dalvik Virtual Machine (DVM)]] übersetzt, der für die Ausführung von den für Android-Geräte typischerweise verwendeten CPUs optimiert ist. Bei der ab [[Android]] {{Android|4.4}} zur Verfügung stehenden Laufzeitumgebung [[Android Runtime|Android Runtime (ART)]] wird der Bytecode für die DVM einmalig in Geräte-spezifischen Maschinencode übersetzt.
Weiter verfügt Java über eine automatische Speicherbereinigung (Garbage Collection), so dass durch die Erzeugung von Objekten dynamisch belegter Speicher nicht explizit vom Programmierer freigegeben werden muss.<ref>{{Cite web | url = http://www.javaworld.com/article/2078645/java-se/jvm-performance-optimization-part-3-garbage-collection.html | title =  JVM performance optimization, Part 3: Garbage collection | date = 2012-10-10 | accessdate = 2017-05-20 | publisher = javaworld.com | author = Eva Andreasson | language = en }}</ref>




Autopatrol, Moderator
1.304

Bearbeitungen