java虛擬機怎么樣?
網(wǎng)友解答: 首先Java EE是以Java SE為基礎的。所以并沒有"JVM for Java EE"這么一說,只有"JVM for Java SE",可以用于Java SE與Java
首先Java EE是以Java SE為基礎的。所以并沒有"JVM for Java EE"這么一說,只有"JVM for Java SE",可以用于Java SE與Java EE得。
所以在這個類別下,主流虛擬機選擇有:(需要按流行程度遞減)得:
HotSpot VM
J9 VM
Zing VM
HotSpot VM的:
大家知道的HotSpot VM是絕對的主流的。大家用它的時候很可能就沒想過還有別的選擇的,或者是為了遷就依賴了Oracle/Sun JDK某些具體實現(xiàn)的爛代碼而選擇用HotSpot VM的省點心的。
其實在JDK8的HotSpot VM已經(jīng)是以前的HotSpot VM與JRockit VM的合并版的,所以也就是傳說中的"HotRockit",只是產(chǎn)品里名字還是叫HotSpot VM的。
這個J9VM:J9是IBM開發(fā)的一個高度模塊化的JVM的。
那為什么要學習Java虛擬機?
其實這個問題就和為什么要學習數(shù)據(jù)結(jié)構(gòu)和算法是一個道理的,工欲善其事,必先利其器。曾經(jīng)的我經(jīng)常害怕處理內(nèi)存溢出的問題,只是因為不知道他的為什么會出現(xiàn)這個問題,所以當我在看了這本書以后明白了垃圾回收算法,以及JVM是如何幫助我們處理GC的,這個時候當出現(xiàn)這個問題的時候我就明白需要查找GC Root,或者查看GC日志,去查找這個問題的根源,這樣就能處理這些問題的。
大家知道的所以工欲善其事必先利其器,這就是我要說的。。。。。
網(wǎng)友解答:Java之所以能夠?qū)崿F(xiàn)跨平臺的特性,完全是Java虛擬機(JVM)的功勞,Java在計算機內(nèi)存中虛擬出一臺計算機,即JVM,在JVM中運行所有的Java程序,而不讓Java程序直接和操作系統(tǒng)接觸,從而能夠屏蔽不同操作系統(tǒng)帶來的差異,讓相同的Java程序能夠在不同平臺上運行出相同的結(jié)果。