The history of Java virtual machine, the most complete 153 spring family bucket interview questions

history java virtual machine complete

Die without end :Sun Exact VM

stay Sun Classic After the release ,Sun Our virtual machine team is JDK 1.2 A post called Exact VM Virtual machine , Attempt to resolve Classic VM All the problems encountered . Its execution system solves the classic problem VM The problem that the interpreter and compiler can't work at the same time . It also has some characteristics of modern high-performance processors , Such as two-level real-time compilation .

Besides ,Exact VM It also improves the object lookup of virtual machines . In the classic VM in , If you want to find an object , You need a handle ( It's like a pointer ) To find it . If you need to search for objects , You need to search it layer by layer through the handle tree it constructs . however , stay Exact VM Precise memory management is used in , That is, the virtual machine can accurately know the type of data in memory , This reduces search costs , Improved execution performance .

Unfortunately , although ExactVM Has been released , But it wasn't really used on a large scale until it quit . When released JDK 1.2 when , Started the precise VM, but Sun classic VM It's still the default Java virtual machine . When JDK 1.3 When it was released , virtual machine HotSpot VM Introduced as the default virtual machine ,Sun Classic VM Introduced as a standby virtual machine .

Leader of Wulin :Sun HotSpot VM

hotspot VM It can be said to be the most widely used Java virtual machine , It's for almost all Java Virtual machine knowledge . But actually , Virtual machines are not created by Sun Developed , But by the Longview Technologies Developed .Sun be aware JIT Many excellent results in compilation , On 1997 Years acquired Longview Technologies, And bought it. HotSpot VM.

HotSpot Not only the above two virtual machines ( Such as precise memory management ) The advantages of , It also has many new technologies such as hot spot detection . Hot spot detection technology refers to the execution of counters , Find the most valuable code , And then inform JIT The compiler makes in-depth optimization on the method . however Exact VM There are similar technologies in ,Sun There is also a lot of controversy inside , But why choose HotSpot As the default virtual machine, it is not clear .

in general , since 2000 Released in JDK 1.3 since ,HotSpot VM Has been in the historical stage as the default virtual machine . Now? ,2018 year ,18

《 A big factory Java Analysis of interview questions + Back end development learning notes + The latest architecture explanation video + Practical project source code handout 》

【】 Full content open source sharing

Years have passed , It is still our most commonly used virtual machine , It shows Sun HotSpot VM The resilience of .

Schools of thought contend :BEA JRockit / IBM J9 VM

All of these are Sun Virtual machines launched by the company , But in addition to Sun company , Other organizations and companies have also developed many virtual machine implementations , The most famous one is BEA JRockit and IBM J9 VM.

BEA Of JRockit Is a virtual machine that focuses on server hardware and server application scenarios . It does a lot of optimization for the server scenario , So it doesn't pay much attention to program startup speed .JRockit The virtual machine does not contain an interpreter implementation , All code is compiled and executed by an immediate compiler . Besides , Its task control service suite is also very powerful .

IBM Of J9 VM Is a more general-purpose virtual machine , It is positioned as a multi-purpose virtual machine from server to desktop application to embedded system .IBM Development J9VM As IBM Various Java Product execution platform .

previous : Those nameless virtual machines

from Sun Classic、Sun Exact VM、Sun HotSpot VM, Until then BEA JRockit、IBM J9 VM, These virtual machines can be said to be the official history of virtual machines , Is each Java What programmers should know . But beyond that , In fact, there are all kinds of virtual machines .

for example , The most powerful is not the virtual machine mentioned above , But dedicated business and virtual machines , be called Azul VM and BEA.VM. These virtual machines only run on specific hardware platforms , So the requirements are relatively high . But its performance is also very strong . It can manage at least dozens of CPU And hundreds GB Memory resources of , But it also provides the garbage collector with a controllable range of memory GC Time , wait .

Besides , There are many other virtual machines , such as Apache Harmony、Google Android Dalvik VM、Mircosoft JVM wait .

The final winner :Oracle

Looking back on all this history ,Sun The published virtual machine seems to be similar to Oracle irrelevant . But in 2010 year , Oracle acquired Sun, So Oracle has HotSpot VM.2008 year , Oracle from BEA Acquired JRocket VM, With two of the best virtual machines in the world .

Planning virtual machines for the future ,Oracle Announced that it would JRockit Excellent features integrated into HotSpot VM in , For example, transplant JRockit Garbage collector and task control service .

appendix :Java Virtual machine history

JDK Version upgrades are not just about languages and features , It also includes the compilation and execution of Java Virtual machine upgrade .

copyright:author[m0_ sixty-four million eight hundred and sixty-seven thousand a],Please bring the original link to reprint, thank you.