9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
學習啦>生活課堂>生活小常識>

java堆與棧的區別

時間: 志峰887 分享

  java堆與棧相信很多人都會混淆,那么應該怎樣去區分呢?下面是學習啦小編為大家準備的java堆與棧的區別,希望大家喜歡!

  java堆與棧的區別

  各司其職

  最主要的區別就是棧內存用來存儲局部變量和方法調用。

  而堆內存用來存儲Java中的對象。無論是成員變量,局部變量,還是類變量,它們指向的對象都存儲在堆內存中。

  獨有還是共享

  棧內存歸屬于單個線程,每個線程都會有一個棧內存,其存儲的變量只能在其所屬線程中可見,即棧內存可以理解成線程的私有內存。

  而堆內存中的對象對所有線程可見。堆內存中的對象可以被所有線程訪問。

  異常錯誤

  如果棧內存沒有可用的空間存儲方法調用和局部變量,JVM會拋出java.lang.StackOverFlowError。

  而如果是堆內存沒有可用的空間存儲生成的對象,JVM會拋出java.lang.OutOfMemoryError。

  空間大小

  棧的內存要遠遠小于堆內存,如果你使用遞歸的話,那么你的棧很快就會充滿。如果遞歸沒有及時跳出,很可能發生StackOverFlowError問題。

  你可以通過-Xss選項設置棧內存的大小。-Xms選項可以設置堆的開始時的大小,-Xmx選項可以設置堆的最大值。

  java堆與棧相關閱讀

  棧與堆都是Java用來在Ram中存放數據的地方。與C++不同,Java自動管理棧和堆,程序員不能直接地設置棧或堆。

  Java的堆是一個運行時數據區,類的對象從中分配空間。這些對象通過new、newarray、anewarray和 multianewarray等指令建立,它們不需要程序代碼來顯式的釋放。堆是由垃圾回收來負責的,堆的優勢是可以動態地分配內存大小,生存期也不必事 先告訴編譯器,因為它是在運行時動態分配內存的,Java的垃圾收集器會自動收走這些不再使用的數據。但缺點是,由于要在運行時動態分配內存,存取速度較 慢。

  棧的優勢是,存取速度比堆要快,僅次于寄存器,棧數據可以共享。但缺點是,存在棧中的數據大小與生存期必須是確定的,缺乏靈活性。

  棧中主要存放一些基本類型的變量(,int, short, long, byte, float, double, boolean, char)和對象句柄。

  棧有一個很重要的特殊性,就是存在棧中的數據可以共享。假設我們同時定義:

  int a = 3;

  int b = 3;

  編譯器先處理int a = 3;首先它會在棧中創建一個變量為a的引用,然后查找棧中是否有3這個值,如果沒找到,就將3存放進來,然后將a指向3。接著處理int b = 3;在創建完b的引用變量后,因為在棧中已經有3這個值,便將b直接指向3。這樣,就出現了a與b同時均指向3的情況。

  這時,如果再令a=4;那么編譯器會重新搜索棧中是否有4值,如果沒有,則將4存放進來,并令a指向4;如果已經有了,則直接將a指向這個地址。因此a值的改變不會影響到b的值。

  要注意這種數據的共享與兩個對象的引用同時指向一個對象的這種共享是不同的,因為這種情況a的修改并不會影響到b, 它是由編譯器完成的,它有利于節省空間。而一個對象引用變量修改了這個對象的內部狀態,會影響到另一個對象引用變量。

1721130 主站蜘蛛池模板: 亚洲欧美日韩成人综合一区| 乱老年女人伦免费视频| 国产永久免费高清在线| 无码人妻一区二区三区免费N鬼沢 亚洲国产精品自产在线播放 | 在线视频一区二区三区色| 欧洲亚洲精品免费二区| 国产精品黑色丝袜在线观看| 亚洲AV无码国产在丝袜APP | 人妻系列中文字幕精品| 国产精品线在线精品| 久久这里只有精品好国产| 亚洲午夜成人精品电影在线观看| 人妻夜夜爽天天爽三区丁香花| 91久久性奴调教国产免费| 国产成人久久精品二三区| 亚洲国产天堂久久综合226114| 最近2019免费中文字幕8| 亚洲一区二区三区在线| 蜜桃av亚洲精品一区二区| 人妻无码久久久久久久久久久 | 亚欧洲乱码视频一二三区| 熟妇啊轻点灬大JI巴太粗| 国产午夜福利在线视频| 国产大陆av一区二区三区| 人妻久久久一区二区三区| 国产熟女老阿姨毛片看爽爽 | 欧美日韩中文字幕视频不卡一二区| 亚洲无人区一区二区三区| 国产在线高清视频无码| 亚洲欧美人成人综合在线播放 | 久久狠狠一本精品综合网| 999国产精品一区二区| 欧美成人精品三级在线观看| 成在线人视频免费视频| 亚洲av日韩av一区久久| 国产精品一区二区三区黄| 精品蜜臀国产av一区二区| 日韩不卡一区二区三区四区| 国产不卡精品视频男人的天堂| 成人一区二区三区在线午夜| 日区中文字幕一区二区|