日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java的string存放位置的疑惑

瀏覽:179日期:2023-12-12 11:40:08

問題描述

有一道題是這樣的:

new String('aaa')創(chuàng)建了幾個對象? 答案是創(chuàng)建一個或2個,理由是如果常量區(qū)中存在了aaa變量,則只在堆中創(chuàng)建一個;如果常量區(qū)不存在aaa變量,則分別在常量區(qū)和堆中各創(chuàng)建一個。

但我實際測試的結果卻不符:

String s1 = new String('aaa');String s2 = 'aaa';System.out.println(s1 == s2); //false

如果說new String('aaa')在堆中和常量區(qū)中都創(chuàng)建了對象,那么為什么s2不直接復用s1的常量池的引用呢?

補充:發(fā)現(xiàn)自己想錯了,s1應該指向的堆中的元素,而s2指向的是常量池中的,所以兩者不相等是對的,那有沒有辦法測試測試出new String('aaa')也同時在常量池中創(chuàng)建對象了呢?

又或者String s3 = 'aa'.concat('a'); 請問這個s3是指向堆中還是指向常量池的,它能否復用常量池中的變量呢?

問題解答

回答1:

String s1 = new String('aaa'); String s2 = 'aaa'; System.out.println(s1 == s2); //false System.out.println(s1.intern() == s2); //true

當一個String實例調用intern()方法時,會查找常量池中是否有相同的字符串常量,如果有,則返回其的引用,如果沒有,則在常量池中增加一個等于str的字符串并返回它的引用,由于s2已經(jīng)在常量池中,所以s1.intern()不會再創(chuàng)建,而是直接引用同一個'aaa'。

如果這個還不夠明顯,那么我們就來試驗,

public class Cons { public static void main(String[] args) throws InterruptedException {String s1 = new String('vv'); }}

然后命令行

java的string存放位置的疑惑

注意常量池有 VV

回答2:問題一:

String a = “aaa”,會在常量池中創(chuàng)建對象,如果常量池中存在同樣的對象,那a就直接指向該對象。而 String a = new String('aaa'),若常量池中存在,則不在常量池中創(chuàng)建,只在堆中創(chuàng)建。

String a = new String('aaa');String b = new String('aaa');System.out.println(a == b);//比較兩者堆中的引用返回falseSystem.out.println(a.intern() == b.intern());//比較兩者常量池中的引用,返回true問題二:

從源碼中找答案String s3 = 'aa'.concat('a'); 其實就相當于 String s3 = new String('aaa'),會在堆中創(chuàng)建對象。

public String concat(String str) { int otherLen = str.length(); if (otherLen == 0) {return this; } int len = value.length; char buf[] = Arrays.copyOf(value, len + otherLen); str.getChars(buf, len); return new String(buf, true);}回答3:

String不是每次賦值都重新創(chuàng)建一個String對象實例嗎?所以才會有StringBuilder呀。

回答4:

按照面向對象的思想,有沒有同時在常量池創(chuàng)建對象,可能String自己最清楚,嗯,他有一個intern()方法。

回答5:

前面幾位的回答已經(jīng)非常好了,我補充一句,我們經(jīng)常說的“把字符串放到常量池”是指把字符串的引用放到字符串常量池(String Pool,本質是一個哈希表)中,字符串本身還是放在堆上的。

回答6:

// new一次就是在堆中創(chuàng)建一個新的對象。不new的話aaa直接在字符串常量中取值;// String s2 = 'aaa'; 先在內存中尋找aaa,如果有,則將aaa的內存首地址指向了s1, 如果沒有則在堆中中創(chuàng)建一個新的對象。// String s1 = new String('aaa');// // 不管'aaa'在內存中是否存在,都會在堆中開辟新空間,將字符串'aaa'的內存首地址指向s1。String a = 'aaa';// aaa在常量池中創(chuàng)建一個對象,將內存首地址指向了aString b = 'aaa';// 直接aaa已經(jīng)存在的內存首地址指向b。String c = new String('aaa');// 不管存在與否,在堆中創(chuàng)建1個空間,內存首地址與常量池中的地址完全不同System.out.println(a==b);// trueSystem.out.println(a==c);// false

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品av一区二区| 国产亚洲一区| 久久精品一本| 国产精品sss在线观看av| 欧美日韩黄网站| 国产精品一区二区精品| 国产视频一区二区在线播放| 欧美日韩一区自拍| 五月激激激综合网色播| 日本a口亚洲| 日韩中文字幕91| 亚洲欧美高清| 亚洲精品影视| 免费观看日韩电影| 日韩专区欧美专区| 日本不卡高清视频| 欧美视频久久| 久久精品影视| 狠狠久久婷婷| 蜜桃视频一区二区三区在线观看 | 国产91在线播放精品| 91看片一区| 国产中文欧美日韩在线| 亚洲综合专区| 久久国产精品99国产| 五月亚洲婷婷 | 伊人精品一区| 99热精品在线| 一区二区三区国产盗摄| 国产三级精品三级在线观看国产| 国产精品一区免费在线| 久久免费视频66| 久久中文亚洲字幕| 国产亚洲亚洲| 国产欧美日韩亚洲一区二区三区| 高清久久一区| 尤物网精品视频| 日本欧美大码aⅴ在线播放| 精品久久精品| 国产综合婷婷| 欧美日本久久| 日韩精品一区二区三区免费观看| 久久亚洲美女| 美女久久久精品| 婷婷激情图片久久| 久久国产生活片100| 蜜桃成人精品| 伊人国产精品| 国产精品久久久久9999高清| 日韩精品影视| 国产亚洲电影| 五月精品视频| 美女视频网站久久| 欧美日韩国产高清| 午夜久久99| 免费精品视频| 国产在线|日韩| 欧美va天堂| 吉吉日韩欧美| 亚洲激情婷婷| 麻豆国产一区| 亚洲欧美久久久| 欧美a在线观看| 欧美一区三区| 国产乱码精品一区二区三区四区 | 老鸭窝毛片一区二区三区| 日本久久综合| 丝袜诱惑制服诱惑色一区在线观看| 欧美日韩一二| 久久国产精品美女| 日韩在线一二三区| av资源新版天堂在线| 午夜电影一区| 日韩视频在线一区二区三区 | 美女尤物久久精品| 国产不卡人人| 91成人福利| 国产偷自视频区视频一区二区| sm捆绑调教国产免费网站在线观看| 亚洲毛片在线免费| 九色精品91| 日韩国产欧美一区二区| 国产免费播放一区二区| 亚洲精品国产偷自在线观看| 成人国产精品一区二区网站| 日本亚洲三级在线| 一区在线免费| bbw在线视频| 麻豆精品在线视频| 少妇精品在线| 99国产一区| 欧美日韩一二| 日本欧美不卡| 精品三级av在线导航| 欧美日本精品| 日本v片在线高清不卡在线观看| 91精品1区| 久久久国产精品一区二区中文| 国产精品日本一区二区三区在线| 亚洲精一区二区三区| 亚洲国产不卡| 久久亚洲精品中文字幕蜜潮电影| 成人精品视频| 精品国产欧美日韩一区二区三区| 国产丝袜一区| 国产日韩亚洲| 久久国产乱子精品免费女| 四虎精品一区二区免费| 丝袜美腿亚洲一区| 久久高清一区| 亚洲视频二区| 四虎精品一区二区免费| 亚洲久久一区| 久久不射网站| 亚洲精品高潮| 欧美一级一区| 国产精品资源| 久久亚洲精品中文字幕| 麻豆一区二区99久久久久| 蜜桃精品视频| 精品视频一区二区三区四区五区| 精品国产乱码久久久久久樱花| 国产精品a级| 麻豆视频久久| 首页国产精品| av资源亚洲| 亚洲一本视频| 亚洲一区国产一区| 狠狠色综合网| 免费人成在线不卡| 中文字幕日韩高清在线| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲欧美久久| 18国产精品| 精品在线网站观看| 91av亚洲| 国产一区91| 午夜久久av | 国产精品福利在线观看播放| av资源新版天堂在线| 日韩精品影视| 午夜精品免费| 日韩成人av影视| 久久久精品区| 99精品视频在线观看免费播放| 成人av二区| 亚洲久久一区| 久久精品日韩欧美| 久久精品国内一区二区三区水蜜桃| 国产精品7m凸凹视频分类| 日韩精品一级中文字幕精品视频免费观看| 亚洲三级av| 精品国产中文字幕第一页| 国产在线|日韩| 丝袜亚洲精品中文字幕一区| 日本v片在线高清不卡在线观看| 国产欧美日韩精品高清二区综合区 | 蜜桃tv一区二区三区| 亚洲精品1区2区| 日韩午夜视频在线| 麻豆高清免费国产一区| 天堂网av成人| 日本亚洲视频在线| 麻豆精品久久| 日韩精品一区二区三区免费观看| 免费人成精品欧美精品| 国产日产精品_国产精品毛片 | 快播电影网址老女人久久| 狠狠久久婷婷| 国产精品一区二区99| 偷拍精品精品一区二区三区| 乱人伦精品视频在线观看| 国产欧美一区二区三区米奇| 日韩国产专区| 中文字幕av亚洲精品一部二部| 麻豆极品一区二区三区| 欧美在线资源| 美女在线视频一区| 亚洲欧美久久| 91亚洲一区| 日韩在线成人| 日韩一区二区在线免费| 亚洲精品视频一二三区| 伊人久久在线| 日韩精品导航| 中文字幕在线视频久| 亚洲影院天堂中文av色| 91亚洲国产高清| 日本aⅴ免费视频一区二区三区| 久久久久国产| 国产精品日本一区二区三区在线| 99成人在线| 国产在线看片免费视频在线观看| 蜜桃视频在线观看一区| 午夜av成人| 国产欧美日韩一区二区三区在线| 亚洲女同一区| 久久电影tv| 国产精品中文字幕亚洲欧美 | 群体交乱之放荡娇妻一区二区|