更新時間:2023年06月29日11時28分 來源:傳智教育 瀏覽次數(shù):
線程共享的區(qū)域:主要用來保存對象實例,數(shù)組等,當堆中沒有內(nèi)存空間可分配給實例,也無法再擴展時,則拋出OutOfMemoryError異常。
年輕代被劃分為三部分,Eden區(qū)和兩個大小嚴格相同的Survivor區(qū),根據(jù)JVM的策略,在經(jīng)過幾次垃圾收集后,任然存活于Survivor的對象將被移動到老年代區(qū)間。
老年代主要保存生命周期長的對象,一般是一些老的對象。
元空間保存的類信息、靜態(tài)變量、常量、編譯后的代碼
為了避免方法區(qū)出現(xiàn)OOM,所以在java8中將堆上的方法區(qū)【永久代】給移動到了本地內(nèi)存上,重新開辟了一塊空間,叫做元空間。那么現(xiàn)在就可以避免掉OOM的出現(xiàn)了。