1. 程式人生 > 程式設計 >java虛擬機器是做什麼用的

java虛擬機器是做什麼用的

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

1.概念

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

2.JVM、JRE和JDK的關係

java虛擬機器是做什麼用的

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虛擬機器是什麼內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!