十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
這篇文章將為大家詳細講解有關JVM的內存分為幾個部分,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
具體的概念:
JVM的內存可分為3個區(qū):堆(heap)、棧(stack)和方法區(qū)(method,也叫靜態(tài)區(qū))。
分配情況:
堆區(qū):
1、存儲的全部是對象,每個對象都包含一個與之對應的class的信息(class的目的是得到操作指令) ;
2、jvm只有一個堆區(qū)(heap),且被所有線程共享,堆中不存放基本類型和對象引用,只存放對象本身和數組本身;
棧區(qū):
1、每個線程包含一個棧區(qū),棧中只保存基礎數據類型本身和自定義對象的引用;
2、每個棧中的數據(原始類型和對象引用)都是私有的,其他棧不能訪問;
3、棧分為3個部分:基本類型變量區(qū)、執(zhí)行環(huán)境上下文、操作指令區(qū)(存放操作指令);
方法區(qū)(靜態(tài)區(qū)):
1、被所有的線程共享,方法區(qū)包含所有的class(class是指類的原始代碼,要創(chuàng)建一個類的對象,首先要把該類的代碼加載到方法區(qū)中,并且初始化)和static變量。;
2、方法區(qū)中包含的都是在整個程序中永遠唯一的元素,如class,static變量。
關于JVM的內存分為幾個部分就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。