類常量池
誕生時間:編譯時
所處區域:堆(類常量池存在Class文件中,一個Class文件對應一個類常量池)
儲存內容:符號引用和字面量。
字符串常量池
誕生時間:編譯時
所處區域:堆
儲存內容:堆內的字符串對象的引用和字符串常量。
運行時常量池
誕生時間:當類加載到內存中後
所處區域:本地內存(每個class都加載後常量池的數據被彙總到運行時常量池,運行時常量池存在元空間中)
儲存內容:class文件元信息描述,編譯後的代碼數據,引用類型數據(類經過解析後會把符號引用替換爲直接引用,解析的過程會去查詢字符串常量池,以保證運行時常量池所引用的字符串與全局字符串池中所引用的是一致的)。