java虛擬機是做什麼用的

為瞭能夠在不同的平臺支持java的語言,我們需要一種輔助機制進行翻譯,所以java虛擬機就誕生瞭,也就是平時所說的JVM。能夠對java語言進行翻譯,然後適應於其他的平臺。下面窩們就JVM的概念,與其他機制的關系、設置參數帶來介紹,然後講解其中的一個重點知識點。

1.概念

JVM是java上的一個虛構出來的計算機,是一個位於Java與操作系統之間的中間態。有自己完善的硬件結構,如處理器、堆棧、寄存器等,還具有相應的指令系統。

2.JVM、JRE和JDK的關系

3.設置JVM內存的參數有四個

-Xmx Java Heap最大值,默認值為物理內存的1/4,最佳設值應該視物理內存大小及計算機內其他內存開銷而定;

-Xms Java Heap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發測試機JVM可以保留默認值;

-Xmn Java Heap Young區大小,不熟悉最好保留默認值;

-Xss 每個線程的Stack大小,不熟悉最好保留默認值

4.常用知識點

堆(heap)與棧(stack)

堆和棧是程序運行的關鍵,很有必要它他們的關系說清楚。

在java中,Main函數就是棧的起始點,也是程序的起始點。程序要運行總是有一個起點的(程序執行的入口)。

棧幀相關

int i=0;
i=i++; 
sout(i);//為什麼i還等於0?

java虛擬機定義:

虛擬機是一種抽象化的計算機,通過在實際的計算機上仿真模擬各種計算機功能來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。Java虛擬機屏蔽瞭與具體操作系統平臺相關的信息,使得Java程序隻需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。

所謂的java虛擬機,就是一臺虛擬的機器。它是一款軟件,用來執行一系列虛擬計算機指令,大體上虛擬機可以分為系統虛擬機和程序虛擬機。visual Box、VMare就屬於系統虛擬機。他們完全是對物理計算機的仿真,提供一個可運行完整操作系統的軟件平臺。而java虛擬機就是典型程序虛擬機,它專門為執行單個計算機程序而設計,在java虛擬機中執行的指令我們稱之為java字節碼指令。java發展到今天,出現瞭很多虛擬機,最初sun使用的叫Classic的java虛擬機,到現在使用最廣泛的是HotSpot虛擬機,除瞭sun以外還有BEA的JRockit,目前JRockit和HotSpot都被甲骨文公司收入旗下,大有整合的趨勢。

到此這篇關於java虛擬機是做什麼用的的文章就介紹到這瞭,更多相關java虛擬機是什麼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: