JVM與計算機之間的關係

計算機內存硬件架構

image-20201224230943962

CPU,一臺現代計算機擁有兩個或多個CPU,其中一些CPU還有多核,從這一點能夠看出,在一個有兩個或多個CPU的現代計算機上,同時運行多個線程是很是有可能的,並且每一個CPU在某一個時刻,運行一個線程是確定沒有問題的,這意味着,若是Java程序是多線程的,在Java程序中,每一個CPU上一個線程是可能同時併發執行的。
CPU Refisters(寄存器),每一個CPU都包含一系列的寄存器,它們是CPU內存的基礎,CPU在寄存器中執行操做的速度遠大於在主存上執行的速度,這是由於CPU訪問寄存器的速度遠大於主存。

Cache(高速緩存),因爲計算機的存儲設備與處理器運算速度之間有着幾個數量級的差距,因此現代計算機系統都不得不加入一層讀寫速度儘量接近處理器運算速度的高級緩存來做爲內存與處理器之間的緩衝,將運算須要使用到的數據複製到緩存中,讓運算能快速的進行,當運算結束後,在從緩存同步到內存中。這樣處理器就無需等待緩慢的內存讀寫,CPU訪問緩存層的速度快於訪問主存的速度,但一般比訪問內部寄存器的速度要慢。緩存

 Main Memory(主存),隨機存取存儲器(random access memory,RAM)又稱做「隨機存儲器",一個計算機包含一個主存,全部的CPU均可以訪問主存,主存一般比CPU中的緩存大得多。

JVM和計算機之間的關係

image-20201224231350330

img

JVM 與 Computer 內存架構存在差別,硬件內存並沒有區分棧與堆,對於硬件而言,全部的棧和堆都分佈在主內存中,可能會出如今高速緩存、寄存器中。

內存模型抽象結構

image-20201224231510947

相關文章
相關標籤/搜索