卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

日本java和中國(guó)java 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í)例變量和局部變量,它們代表三種類型的常量。

事實(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ī)書籍,了解更多。

小木的答案。站在巨人的肩膀上,按照他自己的理解和別人的理解,你可以走得更遠(yuǎn)更快。

字符串常量池是在方法區(qū)中還是在獨(dú)立的區(qū)域中?

string STR=“nihao”當(dāng)程序開(kāi)始執(zhí)行這個(gè)代碼時(shí),它必須創(chuàng)建一個(gè)對(duì)象,但是對(duì)象創(chuàng)建之后,它是一個(gè)不可更改的常量,對(duì)象放在字符串池中,也就是你調(diào)用的常量池

如果我以后再寫代碼:string other=“Nihao”

STR和other的地址是一樣的,因?yàn)镾TR和other的聲明方式是一樣的。創(chuàng)建STR對(duì)象時(shí),如果字符串池中沒(méi)有“nihao”常量,請(qǐng)創(chuàng)建一個(gè)。在創(chuàng)建其他對(duì)象時(shí),如果發(fā)現(xiàn)字符串池中有“nihao”常量,就直接使用它

string B1=New string(“nihao”)

但是如果用上述方法直接New string(),則A1和B1引用的對(duì)象不在字符串池中,而是在堆中。但是,new string()的參數(shù)“nihao”也是一個(gè)字符串。這根繩子是從哪里來(lái)的?如果我們拆分代碼,我們會(huì)理解它:

string A1=new string(para)

會(huì)發(fā)現(xiàn)代碼字符串A1=new string(“nihao”)實(shí)際上創(chuàng)建了兩個(gè)對(duì)象,一個(gè)是string object,存儲(chǔ)在堆中,另一個(gè)是string constant object,存儲(chǔ)在字符串池中