jvm運(yùn)行時(shí)常量池 字符常量池是什么意思?
字符常量池是什么意思?它可以理解為內(nèi)存中專門為字符串類型變量打開的區(qū)域,如string a=“ABC”。當(dāng)您定義這樣一個(gè)變量時(shí),Java將首先進(jìn)入常量池,以確定是否存在類似“ABC”的字符串。如果有,
字符常量池是什么意思?
它可以理解為內(nèi)存中專門為字符串類型變量打開的區(qū)域,如string a=“ABC”。當(dāng)您定義這樣一個(gè)變量時(shí),Java將首先進(jìn)入常量池,以確定是否存在類似“ABC”的字符串。如果有,它會(huì)直接把內(nèi)存地址給a,否則它會(huì)生成一個(gè)字符串“ABC”,下一個(gè)字符串B=當(dāng)使用“ABC”時(shí),發(fā)現(xiàn)常量池中已經(jīng)有“ABC”。這時(shí),JVM不會(huì)再生成“ABC”,而是直接把它交給“ABC”來(lái)引用B,這樣您就會(huì)發(fā)現(xiàn)a==B