一、jvm內存模型(注意與JMM——java內存模型區別)在1.7和1.8有了些許改變
盜了一張圖(1.8)
原來的永久代消息,取而代之是元數據區,元數據區也是方法區的一個實現。
從目前多方面資料看下來,jvm內存模型還是分爲2大塊,一個是運行時數據區分爲堆、棧、本地棧、計數器,另一個是本地內存(native memry)分爲元數據區和直接內存。元數據區沒有大小限制,最大就是你物理內存大小;直接內存是你物理內存的1/4。
二、GC——垃圾回收器
7個回收器,4種組合
三、G1
把新生代老年代統一分割成一個個大小相同小塊(region)
有些region存新生代,它依然會STW把對象複製到suvivor或者老年代;
有些region存老年代,它會講對象從一個塊複製到另一個塊,再清除。