JVM 記憶體共分為虛拟機棧,堆,方法區,程式計數器,本地方法棧五個部分。
一、堆
1、存放所有new出來的東西;
2、存放對象和數組;
3、jvm中最大的一塊記憶體。
二、程式計數器
1、存放目前線程的下一步操作指令的位址;
2、jvm中最小的一塊記憶體。
三、方法區
1、存放虛拟機加載的類的資訊、常量、靜态變量等資料,運作時常量池。
四、java棧
1、是java方法執行的記憶體模型;
2、主要為了java方法執行提供服務;
3、生命周期和線程相同。
五、本地方法棧
和java虛拟機棧類似,但是它是為了本地方法執行提供服務。
線程共享:堆、程式計數器。
線程私有:方法區,java棧,本地方法棧。