Przejdź do zawartości

Wirtualna maszyna Javy: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Pobieranie
wykasowałem stronę prowadzącą do dowloadów z trojanami
Linia 10: Linia 10:
* [[OpenJDK]]
* [[OpenJDK]]
* [[Common Language Runtime]]
* [[Common Language Runtime]]

* [http://java-virtual-machine.net/download.html Pobieranie wirtualna maszyna java]


[[Kategoria:Wirtualne maszyny Javy| ]]
[[Kategoria:Wirtualne maszyny Javy| ]]

Wersja z 19:14, 20 kwi 2010

Wirtualna maszyna Javy (ang. Java Virtual Machine, w skrócie JVM) to niezależny od platformy system uruchomieniowy dla programów. Standardowo służy programom napisanym w języku Java, ale można go używać także jako środowisko uruchomieniowe także dla innych języków, np. Jython to implementacja Pythona właśnie na JVM.

Programy napisane dla maszyny wirtualnej Javy są niezależne od platformy dzięki temu, że uruchamiane są bezpośrednio w JVM (po konwersji na kod pośredni, poprzez kompilator jak javac dla programów Javy lub w locie jak dla wspomnianego wyżej Jythona), a nie w rodzimym środowisku. Można je uruchomić na dowolnym komputerze i systemie operacyjnym na którym istnieje JVM. Poza tym można je uruchamiać przez klasyczną kompilację kodu źródłowego do maszynowego, umożliwia to na przykład kompilator GCJ z pakietu GCC.

Wirtualna maszyna Javy jest dostępna dla wielu platform. Istnieją różne jej implementacje, zwykle będące częścią całego pakietu narzędzi Javy, oraz samodzielne projekty jak na przykład JikesRVM, Kaffe, SableVM czy CACAO, które zazwyczaj dla swojego działania korzystają z zestawu standardowych bibliotek Javy GNU Classpath. Sun Microsystems, firma która stworzyła język Java, wraz z pakietem Java Runtime Environment dostarcza maszynę wirtualną. Od wersji 1.3 domyślną maszyną wirtualną jest HotSpot.

Starsze wersje maszyn wirtualnych miały problemy z wydajnością. Działo się tak, ponieważ maszyny były interpreterami kodu pośredniego języka Java. Obecne implementacje maszyn wirtualnych stosują kompilację kodu pośredniego do kodu maszynowego w trakcie uruchomienia (just-in-time compilation). Dzięki zastosowaniu tej technologii nowoczesne maszyny wirtualne niewiele ustępują wydajnością powszechnie używanym kompilatorom innych języków.

Zobacz też