【JVM】內存劃分

JVM內存空間主要劃分爲五塊兒多線程

堆內存:存放對象等一些存活時間與大小不肯定的數據
棧內存:存放基本類型、對象引用等一些存活時間與大小肯定的數據,存取效率最高
方法區:存儲了每一個類的信息(包括類的名稱、方法信息、字段信息)、靜態變量、常量以及編譯器編譯後的代碼等
本地方法棧:本地方法棧與Java棧的做用和原理很是類似。區別只不過是Java棧是爲執行Java方法服務的,而本地方法棧則是爲執行本地方法(Native Method)服務的
程序計數器:因爲在JVM中,多線程是經過線程輪流切換來得到CPU執行時間的,所以,在任一具體時刻,一個CPU的內核只會執行一條線程中的指令,所以,爲了可以使得每一個線程都在線程切換後可以恢復在切換以前的程序執行位置,每一個線程都須要有本身獨立的程序計數器,而且不能互相被幹擾,不然就會影響到程序的正常執行次序。所以,能夠這麼說,程序計數器是每一個線程所私有的線程

相關文章
相關標籤/搜索