java的String類中直接賦值和構(gòu)造方法的區(qū)別-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中的小編將會(huì)給大家?guī)碛嘘P(guān)java的String類中直接賦值和構(gòu)造方法的區(qū)別,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了常州免費(fèi)建站歡迎大家使用!

區(qū)別:

直接賦值:只會(huì)開辟一塊堆內(nèi)存空間,并且該字符串對(duì)象可以自動(dòng)保存在對(duì)象池中以供下次使用。

構(gòu)造方法:會(huì)開辟兩塊堆內(nèi)存空間,其中一塊成為垃圾空間,不會(huì)自動(dòng)保存在對(duì)象池中,可以使用intern()方法手工入池。

直接賦值:

java的String類中直接賦值和構(gòu)造方法的區(qū)別

常量優(yōu)化機(jī)制:

String類的設(shè)計(jì)使用了共享設(shè)計(jì)模式。

在JVM底層實(shí)際上會(huì)自動(dòng)維護(hù)一個(gè)對(duì)象池(字符串對(duì)象池),如果現(xiàn)在采用了直接賦值的模式進(jìn)行String類的對(duì)象實(shí)例化操作,那么該實(shí)例化對(duì)象(字符串內(nèi)容)將自動(dòng)保存到這個(gè)對(duì)象池之中。

如果下次繼續(xù)使用直接賦值的模式聲明String類對(duì)象,此時(shí)對(duì)象池之中如若有指定內(nèi)容,將直接進(jìn)行引用;

如若沒有,則開辟新的字符串對(duì)象而后將其保存在對(duì)象池之中以供下次使用所謂的對(duì)象池就是一個(gè)對(duì)象數(shù)組(目的就是減少開銷)

構(gòu)造方法賦值:

類對(duì)象使用構(gòu)造方法實(shí)例化是標(biāo)準(zhǔn)做法。

String str = new String("hello");

通過分析可知,如果使用String構(gòu)造方法就會(huì)開辟兩塊堆內(nèi)存空間,并且其中一塊堆內(nèi)存將成為垃圾空間。除了這一缺點(diǎn)之外,也會(huì)對(duì)字符串共享產(chǎn)生問題。

因此,一般會(huì)采取直接賦值的方式。

上述就是小編為大家分享的java的String類中直接賦值和構(gòu)造方法的區(qū)別了,如果您也有類似的疑惑,不妨礙參照上述分析進(jìn)行理解。如果想了解更多相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊。

網(wǎng)頁標(biāo)題:java的String類中直接賦值和構(gòu)造方法的區(qū)別-創(chuàng)新互聯(lián)
文章分享:http://bm7419.com/article10/didddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)