這是一篇學(xué)習(xí)筆記(._. )
1.Java堆(堆內(nèi)存,Heap)
是垃圾收集器管理的主要區(qū)域彭沼,也稱GC堆咽白。作用是存放Java對象實例
2.Java虛擬機棧(棧內(nèi)存尿招,Stack)
作用是存儲Java方法運行時的局部變量(含數(shù)據(jù)類型、對象的引用窄刘,方法執(zhí)行結(jié)束后釋放)
每個Java方法得執(zhí)行對應(yīng)著一個棧幀得進棧和出棧得操作
3.本地方法棧
與Java虛擬機棧類似窥妇,不過它服務(wù)于Native方法,Java虛擬機棧服務(wù)于執(zhí)行Java方法
4.方法區(qū)(Non·Heap)
堆的一個邏輯部分娩践,作用是存儲已被虛擬機加載的類信息活翩、常量、靜態(tài)變量等數(shù)據(jù)
5.程序計數(shù)器
當(dāng)前線程所執(zhí)行的字節(jié)碼的行號指示器翻伺,線程私有材泄,實現(xiàn)異常處理、線程恢復(fù)等基礎(chǔ)功能
6.運行時數(shù)據(jù)區(qū)
方法區(qū)的一部分吨岭,存儲常量信息拉宗,如各種字面量、符號引用等
7.直接內(nèi)存
也叫堆外內(nèi)存辣辫,它并不是虛擬機運行時數(shù)據(jù)區(qū)的一部分旦事,也不是Java虛擬機規(guī)范中定義的內(nèi)存區(qū)域,而是Java虛擬機的堆以外的內(nèi)存急灭,直接受操作系統(tǒng)管理姐浮。可直接訪問葬馋,?比如NIO會用到這部分