Java運行時常量池是什么?
回答這個問題之前, 先來說點題外的.
就是什么是常量?
使用final修飾的成員變量稱為常量,這個常量值一旦賦值就無法改變!
final修飾的變量分為三種:靜態變量、實例變量和局部變量,分別表示三種類型的常量。
Java中的常量池,實際上分為兩種方式出現:靜態常量池和運行時常量池。
1)所謂靜態常量池,即*.class文件中的常量池,class文件中的常量池不僅僅包含字符串(數字)字面量,還包含類、方法的信息,占用class文件絕大部分空間。
2)而運行時常量池,則是jvm虛擬機在完成類裝載操作后,將class文件中的常量池載入到內存中,并保存在方法區中,我們常說的常量池,就是指方法區中的運行時常量池。
只要在Java中說到池的概念, 多數情況下就是為了減少頻繁的創建和銷毀. 使用一種方法進行管理起來這個過程.
就簡單的說一下問題, 具體可以參考. 深入理解Java虛擬機 這本書, 了解更多的內容.
小沐學學學回答. 根據自己的理解和別人的理解. 站在巨人的肩膀上, 才能走的更遠更快.