国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java語言個人學習總結1

2019-11-06 06:30:13
字體:
來源:轉載
供稿:網友

1.java中棧區里面的數據是共享的,但是不同與C語言里面的多個指針指向同一個變量可以修改變量值,在Java中,當定義一個變量時候,編譯器會首先去查找該變量的值是否存在于棧區,如果有,直接將變量的引用指向該值,否則新創建一個值并讓變量指向它。

		int a=3;		int b=3;//a,b同時指向3 		a=5;		System.out.PRintln(b);//輸出為3

所以當修改某個變量的值的時候(a=5),就會改變原引用的指向(a:3->5),但是不會影響其他的指向原值的引用(b=3);

2.Java中內存分為堆內存(new出來的對象放在這里)和棧內存(基本數據類型創建的變量都放在這),棧內存的變量的存取比堆內存快。

3.字符串的創建,一種是從字符串池創建(String s=“abc”;),另一種是從堆創建(String s=new String("abc");)

字符串池的速度快,每個串都是唯一的,如果定義的對象已經位于串池,直接將變量引用指向該串,不創建新的串;否則創建新的串,并將變量引用指向該串;
		String a="csdn";		String b="csdn";		System.out.println(a==b);//輸出為true,
//“==” 用來比較變量的引用是否相同;  “equals()” 方法使用來比較變量引用里面的內容是否相同;

輸出值為“true”說明他們的引用是相同的,也就是說,串池里面的每個內容是唯一的

堆創建,會首先檢查字符串池里面是否存在,如果有,直接復制到堆內,否則,在堆內創建一個串;
		String a=new String("csdn");		String b=new String("csdn");		System.out.println(a==b);//輸出false  L1		System.out.println(a.equals(b));//輸出true  L2堆內存創建的每個串,都是不同的對象,它們可能內容相同(L2),但是每個引用都指向不同的對象(L1);
		String a=new String("csdn");		String b="csdn";		System.out.println(a==b);//輸出為false  L1		System.out.println(a.equals(b));//輸出為true  L2使用不同的方式創建串,即使引用指向的內容是相同的(L2),引用也不會相同(L1)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南雄市| 孟州市| 房产| 徐闻县| 金寨县| 赫章县| 光泽县| 大新县| 慈利县| 仁布县| 永寿县| 保山市| 当阳市| 荔浦县| 金乡县| 淳安县| 曲周县| 赤水市| 阳高县| 九龙县| 石渠县| 城口县| 石河子市| 云林县| 汉川市| 龙游县| 宜丰县| 社旗县| 平舆县| 临海市| 且末县| 临洮县| 囊谦县| 安陆市| 澎湖县| 准格尔旗| 定兴县| 洞头县| 珲春市| 资源县| 靖安县|