一.JVM內存劃分java
|--------------------|-------------PC寄存器-------|算法
|----方法區 ---------|--------------java 虛擬機棧--| 數組
|----堆區----------- |-------------本地方法棧------|線程
|----共享區域------- |--------------線程獨有-------|對象
其中左邊爲共享內存空間,右邊爲線程獨有的線程級別的內存內存
各個區存儲什麼?虛擬機
1.方法區:類的描述,常量等變量
2.堆:java對象,數組方法
3.pc寄存器:保存當前線程的執行地址new
4.本地方法棧:方法等的局部變量
5.本地方法棧:系統本地方法
2、GC
1.知識準備:標記清除算法和複製清除算法
2.堆區劃分
{(年輕代:Eden區,s0,s1),(老年代:old),(持久代:perm)}
年輕代使用複製清除算法(serial ,parnew ,parallel)
年老代(CMS,serial old,parallel old)
爲嘛分s0和s1:我的認爲是使用的是複製清除算法