2013-05-15 19 views

Odpowiedz

92

Definicja Java Virtual Machine jest w tym, co nazywa się Java Virtual Machine Specification

JVM jest z definicji virtual machine, że jest to maszyna oprogramowanie, które symuluje co robi prawdziwa maszyna. Podobnie jak prawdziwe maszyny ma on architekturę instruction set, wirtualną architekturę komputera i model wykonania. Jest w stanie uruchomić kod napisany za pomocą tego wirtualnego zestawu instrukcji, podobnie jak prawdziwa maszyna może uruchamiać kod maszynowy.

HotSpot to implementacja koncepcji JVM, pierwotnie opracowanej przez Sun i obecnie należącej do Oracle. Istnieją inne implementacje specyfikacji JVM, takie jak JRockit, IBM J9, spośród wielu innych.

Zobacz List of Java Virtual Machine Implementations

OpenJDK to projekt, w ramach którego implementacja opensource z HotSpot (i wiele innych rzeczy, np kompilatora Apis JDK, etc) jest rozwijany.

16

OpenJDK (Open Java Development Kit) jest wolna i otwarta implementacja źródło platformy Java Standard Edition (Java SE) .Powierzchnia openjdk to projekt rozpoczęty przez Sun Microsystems, obecnie obchodzi przez wiele firm i społeczności do zbudowania pakietu Java Development Kit całkowicie w otwartym kodzie źródłowym. Zgodnie z official documentation.

OpenJDK to open-source implementacja specyfikacji Java Platform, Standard Edition (Java SE). W maju 2007 roku Sun wydała w pełni możliwą do kompilacji wersję Java Development Kit (JDK) dla Java SE dla Społeczności OpenJDK jako wolne oprogramowanie na licencji GNU General Public License w wersji drugiej (GPLv2). Sun ogłosił Tymczasową Radę Zarządzającą dla społeczności OpenJDK. Firma Sun ogłosiła również, że wdrożenia oparte na OpenJDK mogą korzystać z zestawu kompatybilności technicznej Java SE 6 (JCK) w celu zapewnienia zgodności ze specyfikacją Java SE 6.

projekt OpenJDK składa się z kilku komponentów - HotSpot (urządzenie wirtualne), Class Library Java i Java javac compiler.For więcej na ten temat, odwiedź jego site.

Obecna maszyna JVM firmy Sun/Oracle nosi nazwę HotSpot, ponieważ szuka gorących punktów użycia w kodzie (miejsca, w których kod jest intensywniej używany) do optymalizacji "just-in-time". Począwszy od wikipedia, HotSpot, wydany jako "Java HotSpot Performance Engine" jest wirtualną maszyną Java dla komputerów stacjonarnych i serwerów, obsługiwaną i dystrybuowaną przez Oracle Corporation.

+0

Słyszałem, że OpenJDK używa również HotSpot do wykonywania kodu? Czy to prawda? – Justin

+0

@TheNewIdiot, więc mówisz, że HotSpot jest częścią OpenJDK? Czy jest też zastrzeżony HotSpot, jak sugeruje powyższa odpowiedź? – Pacerier

+0

@NINC, więc Hotspot jest częścią OracleJDK i OpenJDK? Hotspot = JRockit = OracleJDK = OpenJDK? – Pacerier

6

Hotspot jest, jak wspomniano powyżej, wieloplatformową implementacją koncepcji wirtualnej maszyny Java (JVM) i jest dystrybuowany za pomocą OpenJDK (Java Developer Kit) na licencji GNU General Public Licence. HotSpot jest napisany głównie w C++ i pierwotnie został opracowany pod Sun Microsystems. Obecnie jest rozwijany w ramach projektu OpenJDK na stronie www.java.net. HotSpot JVM był dostępny jako dodatek do Java 1.2, a później był używany jako domyślna Sun JVM w Javie 1.3. JVM jest obecnie w wersji 7, Build b147 i ma za sobą aktywną społeczność programistów.

Aby uzyskać więcej informacji goto: https://www.java.net/

Szczęśliwy Coding!

3

JVM to maszyna abstrakcyjna (specyfikacja). HotSpot, OpenJDK i JRockit i tak są implementacjami JVM.

wolne i otwarte implementacje

  • HotSpot, podstawowym referencyjna implementacja Java VM

  • OpenJDK - Otwórz Java Development Kit jest wolna i otwarta implementacja źródło na licencji GNU General Public License (GNU GPL) z wyjątkiem łączenia .

Proprietary implementacje

  • JRockit (pierwotnie od Odwołanie wirtualnych maszyn) nabyte przez Oracle dla Linux, Windows i Solaris

dłużej implementations
link wyjaśnia różnice między HotSpot i JRocket

-7

HotSpot jest zaawansowaną formą hakowania w C++, aby móc z niej korzystać, musisz skompilować ją w celu skompilowania nawet najprostszych rzeczy. O ile nie dostroisz kompilatorów i nie napiszesz ich od początku. HotSpot jest w zasadzie sposobem na konwersję kodu źródłowego na kod C++, a następnie skompilowanie go do kodu natywnego, a więc skompilowany termin jit.