国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

詳細(xì)介紹Java中的堆、棧和常量池

開發(fā) 后端
本文介紹的是java程序設(shè)計(jì)語言中的一些基本知識(shí),堆、棧和常量池的基本概念,適合初學(xué)者閱讀。希望對(duì)你有幫助,一起來看。

下面主要介紹JAVA中的堆、常量池

1.寄存器

最快的存儲(chǔ)區(qū), 由編譯器根據(jù)需求進(jìn)行分配,我們?cè)诔绦蛑袩o法控制。

2. 棧

存放基本類型的變量數(shù)據(jù)和對(duì)象的引用,但對(duì)象本身不存放在棧中,而是存放在堆(new 出來的對(duì)象)或者常量池中(字符串常量對(duì)象存放在常量池中。)

3. 堆

存放所有new出來的對(duì)象。

4. 靜態(tài)域

存放靜態(tài)成員(static定義的)

5. 常量池

存放字符串常量和基本類型常量(public static final)。

6. 非RAM存儲(chǔ)

硬盤等***存儲(chǔ)空間

這里我們主要關(guān)心棧,堆和常量池,對(duì)于棧和常量池中的對(duì)象可以共享,對(duì)于堆中的對(duì)象不可以共享。棧中的數(shù)據(jù)大小和生命周期是可以確定的,當(dāng)沒有引用指向數(shù)據(jù)時(shí),這個(gè)數(shù)據(jù)就會(huì)消失。堆中的對(duì)象的由垃圾回收器負(fù)責(zé)回收,因此大小和生命周期不需要確定,具有很大的靈活性。

對(duì)于字符串:其對(duì)象的引用都是存儲(chǔ)在棧中的,如果是編譯期已經(jīng)創(chuàng)建好(直接用雙引號(hào)定義的)的就存儲(chǔ)在常量池中,如果是運(yùn)行期(new出來的)才能確定的就存儲(chǔ)在堆中。對(duì)于equals相等的字符串,在常量池中永遠(yuǎn)只有一份,在堆中有多份。

如以下代碼:

  1. String s1 = "china";  
  2. String s2 = "china";  
  3. String s3 = "china";  
  4. String ss1 = new String("china");  
  5. String ss2 = new String("china");  
  6. String ss3 = new String("china"); 

對(duì)于基礎(chǔ)類型的變量和常量:變量和引用存儲(chǔ)在棧中,常量存儲(chǔ)在常量池中。

如以下代碼:

  1. int i1 = 9;  
  2. int i2 = 9;  
  3. int i3 = 9;  
  4. public static final int INT1 = 9;  
  5. public static final int INT2 = 9;  
  6. public static final int INT3 = 9;  

對(duì)于成員變量和局部變量:成員變量就是方法外部,類的內(nèi)部定義的變量;局部變量就是方法或語句塊內(nèi)部定義的變量。局部變量必須初始化。形式參數(shù)是局部變量,局部變量的數(shù)據(jù)存在于棧內(nèi)存中。棧內(nèi)存中的局部變量隨著方法的消失而消失。

成員變量存儲(chǔ)在堆中的對(duì)象里面,由垃圾回收器負(fù)責(zé)回收。 

如以下代碼:

  1. class BirthDate {  
  2. private int day;  
  3. private int month;  
  4. private int year;  
  5. public BirthDate(int d, int m, int y) {  
  6. day = d;  
  7. month = m;  
  8. year = y;  
  9. }  
  10. 省略get,set方法…… }  
  11. public class Test{ public static void main(String args[]){  
  12. int date = 9;  
  13. Test test = new Test();  
  14. test.change(date);  
  15. BirthDate d1= new BirthDate(7,7,1970);  
  16. }  
  17. public void change1(int i){ i = 1234;  

對(duì)于以上這段代碼,date為局部變量,i,d,m,y都是形參為局部變量,day,month,year為成員變量。下面分析一下代碼執(zhí)行時(shí)候的變化:

1. main方法開始執(zhí)行:

  1. int date = 9;  

date局部變量,基礎(chǔ)類型,引用和值都存在棧中。

2. test為對(duì)象引用,存在棧中,對(duì)象(new Test())存在堆中。 

  1. Test test = new Test();  

3. 

  1. test.change(date);  

i為局部變量,引用和值存在棧中。當(dāng)方法change執(zhí)行完成后,i就會(huì)從棧中消失。 

4. 

  1. BirthDate d1= new BirthDate(7,7,1970);  

d1為對(duì)象引用,存在棧中,對(duì)象(new BirthDate())存在堆中,其中d,m,y為局部變量存儲(chǔ)在棧中,且它們的類型為基礎(chǔ)類型,因此它們的數(shù)據(jù)也存儲(chǔ)在棧中。day,month,year為成員變量,它們存儲(chǔ)在堆中(new BirthDate()里面)。當(dāng)BirthDate構(gòu)造方法執(zhí)行完之后,d,m,y將從棧中消失。

5.main方法執(zhí)行完之后,date變量,test,d1引用將從棧中消失,new Test(),new BirthDate()將等待垃圾回收。

希望通過以上內(nèi)容的介紹,能夠給你帶來幫助。

【編輯推薦】

  1. 淺談Java數(shù)據(jù)庫存取技術(shù)
  2. 詳細(xì)介紹Java多線程編程
  3. 詳細(xì)介紹java的反射技術(shù)
  4. Java新手之Java 從代碼到運(yùn)行的過程
  5. 詳細(xì)介紹Java接口的作用
責(zé)任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-22 16:50:05

JAVA

2011-06-09 11:36:00

java

2018-10-26 15:54:16

JavaClass常量池

2011-06-01 14:01:45

JavaString

2009-06-08 22:01:03

Java堆Java棧區(qū)別

2018-06-20 10:34:56

堆棧iOSswift

2009-08-26 17:31:59

C# const常量

2011-07-21 17:02:48

JAVA模式框架

2012-06-29 13:54:11

Java內(nèi)存原型

2022-12-27 08:13:40

JAVA字符串常量池

2011-07-11 15:02:54

枚舉

2011-07-21 15:44:33

Java內(nèi)部類

2011-07-11 11:02:12

JAVA集合框架

2009-06-03 15:52:34

堆內(nèi)存棧內(nèi)存Java內(nèi)存分配

2013-05-17 15:38:22

iOS開發(fā)iOS堆棧heap stack

2010-09-09 10:09:07

Java內(nèi)存分配

2009-08-03 18:49:17

C#和Java

2010-03-18 15:47:07

Java創(chuàng)建線程

2011-06-08 15:45:41

字符串JAVA

2012-06-05 00:41:07

JavaJava內(nèi)存
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美日韩视频不卡| 又黄又爽无遮挡| 91亚洲精品一区二区乱码| 米奇在线777| 亚洲精品自在久久| 国产精品一国产精品| 亚洲欧洲精品一区二区三区波多野1战4| 日本一区二区免费在线观看视频 | 国产精品12345| 一本色道久久综合精品竹菊| 午夜不卡一区| 精品一区二区三区日本| 国产精品午夜免费| 密臀av在线播放| а√在线天堂官网| 日韩免费视频一区二区| 天堂社区日本电影超碰| 91啪国产在线| 国产精品久久观看| 黄页网站在线观看视频| 欧美日韩在线播放一区| av综合网址| 婷婷五月色综合| 亚欧色一区w666天堂| 日韩电影精品| 亚洲人成人77777线观看| 一本一本大道香蕉久在线精品| 91精品尤物| 蜜臀av无码一区二区三区| 日韩欧美一级精品久久| 影视一区二区| 婷婷六月激情| 97在线免费观看| 本田岬高潮一区二区三区| 美洲精品一卡2卡三卡4卡四卡| 91精品国产高清久久久久久91裸体 | 99sesese| 日韩在线观看你懂的| 久久夜色精品| 成人免费在线电影| 国产精品久久久久久久久久久久久久 | 欧美日本黄视频| 国产在线精品不卡| 欧美videos另类精品| 91av免费看| 亚洲第一av色| 牲欧美videos精品| av在线无限看| 久久久久www| 丰满白嫩尤物一区二区| freexxx性亚洲精品| 国产偷国产偷亚洲高清97cao| 五月天婷婷综合| 国产成人精品一区二区免费看京| 日韩在线第三页| 久久久精品免费视频| 高清久久久久久| 日韩电影免费观| 性欧美18一19内谢| 亚洲黄色有码视频| 极品尤物av久久免费看| 超碰成人av| 日日噜噜夜夜狠狠久久丁香五月| 亚洲成人久久久久| 日韩电影免费在线| 福利在线免费视频| 中文字幕在线观看一区二区三区| 日韩欧美精品在线| 久久国产精品露脸对白| 少妇视频在线观看| 青青草视频在线免费播放| 久久黄色av网站| 久久免费精品国产久精品久久久久| 久久久久久久性潮| 免费黄色福利视频| 国内免费久久久久久久久久久| 中文字幕一区三区| 成人免费看片39| 欧美日韩国产综合视频| 国产精品10p综合二区| 日韩一区二区在线看片| 国产一区免费电影| 亚洲一区二区三区在线免费| 97dyy97影院理论片在线| 成人自拍性视频| 欧美一个色资源| 国产成人av福利| 91成人入口| 中文字幕亚洲精品视频| 韩日午夜在线资源一区二区| 亚洲国产精品成人av| 91天堂素人约啪| 精品视频97| 成人黄视频在线观看| 日本中文字幕亚洲| 国产成人一区二| 欧美一区二区三区免费大片 | 国产精品swag| 亚洲精品720p| 国产日韩精品一区二区三区在线| 欧美在线免费看视频| av片哪里在线观看| 亚洲小视频在线播放| 久久久久久久久久国产精品| 偷窥国产亚洲免费视频| 久久一区欧美| 在这里有精品| 91大神在线网站| 亚洲中文字幕无码专区| 国产欧美婷婷中文| 亚洲女在线观看| 一区二区视频免费在线观看| 国产精品日韩久久久| 亚州精品国产| 欧美日韩国产综合视频| 黑人巨大国产9丨视频| 国产不卡av在线| 亚洲成人激情在线观看| 欧美国产一区在线| 99精品免费视频| 在线精品自拍| av在线麻豆| 成人在线播放网站| 日韩中文一区二区三区| 国内精品一区二区三区四区| 在线播放一区二区三区| 国产日产欧美一区二区视频| 日韩视频中文| 日韩高清成人在线| 69av成人| 三级在线电影| 任你操这里只有精品| 国产高清一区视频| 欧美区二区三区| 精品久久人人做人人爽| 亚洲综合一区二区精品导航| 国产在线日韩欧美| 三区四区不卡| 久久wwww| sm捆绑调教国产免费网站在线观看| 2020中文字幕在线播放| 欧美一级片免费播放| 久久av一区二区三区漫画| 欧美一级大片视频| 国产一区二区久久精品| 欧美日韩免费一区二区三区视频| 国产精品欧美一区喷水| 麻豆国产精品777777在线| 精品99久久| 久久久精品区| 免费毛片b在线观看| 福利视频在线导航| 91人成在线| 男人的天堂狠狠干| 久久综合九色欧美狠狠| 国产精品视频yy9099| 久久的精品视频| 日韩经典中文字幕在线观看| 91黄色免费看| 亚洲午夜久久久久久久久电影院| 91麻豆文化传媒在线观看| 久久99久久99精品免视看婷婷 | 欧美大黑帍在线播放| 久久99久久99精品蜜柚传媒| 国产精品久久久久国产a级| 欧美成人激情视频免费观看| 亚洲精品乱码久久久久久按摩观| 一本一道波多野结衣一区二区| 国产精品国产三级国产a| 成人av综合在线| 狠狠网亚洲精品| 久久三级视频| 女人色偷偷aa久久天堂| 国产aⅴ精品一区二区三区久久| 久久久91麻豆精品国产一区| 九九热线视频只有这里最精品| 日本大片在线播放| av电影高清在线观看| av大片在线观看| 精品三级久久久久久久电影聊斋| 午夜在线不卡| 国产网站观看9久| 69ww免费视频播放器| 久草福利视频在线| 国产精品人人妻人人爽人人牛| 一区二区精品视频| 日韩精品无码一区二区三区| 国内精品久久久久久久果冻传媒| 91在线视频免费| 97操在线视频| 91热福利电影| 超碰97在线资源| av资源站久久亚洲| 亚洲最大的成人网| 国产成人一区二区三区免费看| 亚洲自拍av在线| 国产精品播放| 欧美不卡1区2区3区| 蜜桃臀一区二区三区| 亚洲精品第一区二区三区|