java 堆棧知識

java 基本類型是存放在棧中,

String的方式有兩種

1:String   a= new String("zhaoxiao");   這種方式  a存放在  堆中

2:String b="zhaoxiao"  這種方式 b存放在常量池中

System.out.println(a==b);  答案爲false  因爲存儲空間不同

String str1="abc";

String str2="abc"

System.out.println(str1==str2);  答案爲true  聲明str1的時候 str1 會找常量池中是否有abc  如果沒有就會在常量池中創建,str2 聲明的時候會找常量池中是否有abc  如果有

就會把str2 指針 指向abc 這個值

所以說  常量池中相同的值只能有一個,堆中相同的值可以有多個(new   出來的duixiang),棧中相同的值(基本類型),只能有一個。

int a=1;

int b=1; System.out.println(a==b) 不用說 答案肯定是true   因爲a和b指向1的指針 一樣的

發佈了28 篇原創文章 · 獲贊 11 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章