Zum Inhalt springen

Java: Unterschied zwischen den Versionen

4 Bytes hinzugefügt ,  13. September 2020
K
noch nicht existierenden Artikel "JavaScript" verlinkt
K (Noch eine Quelle für Prog-Sprache, die auch auf der JVM laufen)
K (noch nicht existierenden Artikel "JavaScript" verlinkt)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 6: Zeile 6:
Der Java-Quellcode wird von einem Compiler in ''Bytecode'' für die '''Java Virtual Machine (JVM)''' übersetzt.
Der Java-Quellcode wird von einem Compiler in ''Bytecode'' für die '''Java Virtual Machine (JVM)''' übersetzt.
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. Der Dalvid-Bytecode ist in der [[Apk|Apk-Datei (Installations-Datei)]] in Form der Datei <code>classes.dex</code> enthalten. Bei der ab [[Android]] {{Android|4.4}} zur Verfügung stehenden Laufzeitumgebung [[Android Runtime|Android Runtime (ART)]] wird der Dalvik-Bytecode einmalig in Geräte-spezifischen Maschinencode übersetzt.  
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. Der Dalvid-Bytecode ist in der [[Apk|Apk-Datei (Installations-Datei)]] in Form der Datei <code>classes.dex</code> enthalten. Bei der ab [[Android]] {{Android|4.4}} zur Verfügung stehenden Laufzeitumgebung [[Android Runtime|Android Runtime (ART)]] wird der Dalvik-Bytecode einmalig in Geräte-spezifischen Maschinencode übersetzt.  


Zeile 18: Zeile 18:
Neben ''Kotlin'' gibt es noch weitere Programmiersprachen, deren Programme in Bytecode für die Ausführung mit der JVM kompiliert werden können, z.B. Groovy, Scala, Clojure oder Ceylon.<ref>{{Cite web |url = http://heise.de/-2281060 | title = Ein zweiter Blick auf JVM-Programmiersprachen | accessdate = 2016-04-16 | date = 2014-08-01 | publisher = heise.de | department = heise Developer | author = Simon Olofsson}}</ref><ref>{{Cite web | url = https://heise.de/-3852542 | title = Vorgestellt: Sechs Sprachen für die Java Virtual Machine | date = 2017-10-09 | accessdate = 2017-10-09 | publisher = heise.de | author = Moritz Förster }}</ref>
Neben ''Kotlin'' gibt es noch weitere Programmiersprachen, deren Programme in Bytecode für die Ausführung mit der JVM kompiliert werden können, z.B. Groovy, Scala, Clojure oder Ceylon.<ref>{{Cite web |url = http://heise.de/-2281060 | title = Ein zweiter Blick auf JVM-Programmiersprachen | accessdate = 2016-04-16 | date = 2014-08-01 | publisher = heise.de | department = heise Developer | author = Simon Olofsson}}</ref><ref>{{Cite web | url = https://heise.de/-3852542 | title = Vorgestellt: Sechs Sprachen für die Java Virtual Machine | date = 2017-10-09 | accessdate = 2017-10-09 | publisher = heise.de | author = Moritz Förster }}</ref>


Die von der Firma Netscape entwickelte Skriptsprache ''JavaScript'' ist trotz des Namensbestandteils "Java" technologisch unabhängig von ''Java''. Die ersten Versionen dieser Sprache wurden unter dem Namen ''LiveScript'' veröffentlicht.<ref>{{Cite web | url = http://www.htmlgoodies.com/beyond/javascript/article.php/3470971 | title = Java vs. JavaScript: Similarities and Differences | accessdate = 2017-05-19 | publisher = htmlgoodies.com | author = Joe Burns | language = en }}</ref>  
Die von der Firma Netscape entwickelte Skriptsprache [[JavaScript]] ist trotz des Namensbestandteils "Java" technologisch unabhängig von ''Java''. Die ersten Versionen dieser Sprache wurden unter dem Namen ''LiveScript'' veröffentlicht.<ref>{{Cite web | url = http://www.htmlgoodies.com/beyond/javascript/article.php/3470971 | title = Java vs. JavaScript: Similarities and Differences | accessdate = 2017-05-19 | publisher = htmlgoodies.com | author = Joe Burns | language = en }}</ref>  


== Trivia ==
== Trivia ==
Autopatrol, Moderator
1.304

Bearbeitungen

Cookies helfen uns bei der Bereitstellung von Android Wiki. Durch die Nutzung von Android Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.