java池化技術(shù) Java運(yùn)行時(shí)常量池是什么?
Java運(yùn)行時(shí)常量池是什么?在回答這個(gè)問(wèn)題之前,讓我們先談?wù)勈裁词浅A?。用final修改的成員變量稱為常量。一旦指定了常量的值,就不能更改!final修改了三種類型的變量:靜態(tài)變量、實(shí)例變量和局部變量
Java運(yùn)行時(shí)常量池是什么?
在回答這個(gè)問(wèn)題之前,讓我們先談?wù)勈裁词浅A俊?/p>
用final修改的成員變量稱為常量。一旦指定了常量的值,就不能更改
!final修改了三種類型的變量:靜態(tài)變量、實(shí)例變量和局部變量,它們代表三種類型的常量。
Java中的常量池可以分為兩種方式:靜態(tài)常量池和運(yùn)行時(shí)常量池。
1)所謂的靜態(tài)常量池是*中的常量池。類文件。類文件中的常量池不僅包含字符串(number)的文字量,還包含類和方法的信息,占用了類文件的大部分空間。
2)運(yùn)行時(shí)常量池是JVM虛擬機(jī)將類文件中的常量池加載到內(nèi)存中,并在完成類加載操作后將其保存在方法區(qū)域中。我們經(jīng)常在方法區(qū)域中將常量池稱為運(yùn)行時(shí)常量池。
只要我們?cè)贘ava中談?wù)摮氐母拍睿诖蠖鄶?shù)情況下,它是為了減少頻繁的創(chuàng)建和破壞。使用一種方法來(lái)管理這個(gè)過(guò)程。讓我們簡(jiǎn)單地談?wù)勥@個(gè)問(wèn)題,以供具體參考。深入了解Java虛擬機(jī)書籍,了解更多。
小木的答案。根據(jù)自己的理解和別人的理解,只有站在巨人的肩膀上,我們才能走得更遠(yuǎn)更快。
Java中的字符串常量池與Java中的堆和棧的區(qū)別?
Java常量池不在堆或棧中。它是一個(gè)獨(dú)立的內(nèi)存空間管理。
1. 堆棧:它存儲(chǔ)基本類型變量數(shù)據(jù)和對(duì)象引用,但對(duì)象本身不存儲(chǔ)在堆棧中,而是存儲(chǔ)在堆(新對(duì)象)或常量池(字符串常量對(duì)象存儲(chǔ)在常量池中)。堆:存儲(chǔ)所有新對(duì)象。
3. 常量池:存儲(chǔ)字符串常量和基本類型常量(publicstaticfinal)。
對(duì)于字符串:其對(duì)象的引用存儲(chǔ)在堆棧中。如果它們是在編譯時(shí)創(chuàng)建的(直接用雙引號(hào)定義),則它們存儲(chǔ)在常量池中。如果只能在運(yùn)行時(shí)(New)確定它們,則將它們存儲(chǔ)在堆中。對(duì)于相等的字符串,常量池中總是只有一個(gè)副本,堆中總是有多個(gè)副本。