无招胜有招之Java进阶JVM(九)HotSpot
?
?
Java 版本1.8.0_121
Java SE 運行環(huán)境:也就是我們所說的jre.
至于hotspot:(兩個字 講究)
#翻譯的官方文檔
Java HotSpot虛擬機是Java SE平臺的核心組件。它實現(xiàn)了Java虛擬機規(guī)范,并在Java運行時環(huán)境中作為共享庫交付。作為Java字節(jié)碼執(zhí)行引擎,它在各種操作系統(tǒng)和體系結(jié)構(gòu)上提供Java運行時工具,例如線程和對象同步。它包括動態(tài)編譯器,可以自適應(yīng)地將Java字節(jié)碼編譯成優(yōu)化的機器指令,并使用垃圾收集器高效地管理Java堆,為低暫停時間和吞吐量進行了優(yōu)化。它為分析、監(jiān)視和調(diào)試工具和應(yīng)用程序提供數(shù)據(jù)和信息。
HotSpot是一個“符合人體工程學”的JVM。根據(jù)平臺配置,它將選擇編譯器、Java堆配置和垃圾收集器,這些配置為大多數(shù)應(yīng)用程序提供良好到極好的性能。但是,在特殊情況下,可能需要進行特定的調(diào)優(yōu)才能獲得盡可能好的性能。
?
即時編譯器:
在Java編程語言和環(huán)境中,即時編譯器(JIT compiler,just-in-timecompiler)是一個把Java的字節(jié)碼(包括需要被解釋的指令的程序)轉(zhuǎn)換成可以直接發(fā)送給處理器(processor)的指令的程序。當你寫好一個Java程序后,源語言的語句將由Java前端編譯器(javac或者Eclipse JDT中的增量式編譯器)編譯成字節(jié)碼,而不是編譯成與某個特定的處理器硬件平臺對應(yīng)的本地指令代碼(比如,Intel的Pentium微處理器或IBM的System/390處理器)。字節(jié)碼是可以發(fā)送給任何平臺并且能在那個平臺上運行的獨立于平臺的代碼。
在任何平臺上,Java都會將編譯好的字節(jié)碼解釋成能被特定的處理器所理解的指令(即一次編譯,到處運行)。
即時編譯器(JIT compiler)隨虛擬機一起供給的,并可選使用。它把字節(jié)碼編譯成可立即執(zhí)行的指定平臺的可執(zhí)行代碼。Sun微系統(tǒng)建議,選擇JIT編譯器選項通常會使程序運行地更快,尤其是當某個可執(zhí)行的方法被重復使用時。
?
編譯優(yōu)化:
這個問題,留給留言板!
【推薦】https://www.cnblogs.com/linghu-java/p/8589843.html
路漫漫,加油!!!
?
?
?
總結(jié)
以上是生活随笔為你收集整理的无招胜有招之Java进阶JVM(九)HotSpot的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无招胜有招之Java进阶JVM(八)类加
- 下一篇: SpringBoot 注解大全