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

關于Java垃圾回收問題

開發 后端
Java垃圾回收器負責回收無用對象占據的內存資源.但也有特殊情況:假定你的對象(并非使用new)獲得了一塊"特殊"的內存區域,這極大的簡化了程序開發人員的工作,但Java垃圾回收器也有其自身的問題。

Java垃圾回收器只知道釋放那些經由new分配的內存,所以它不知道該如何釋放該對象的這塊"特殊"內存.為了應對這種情況,Java允許在類中定義一個名為finalize()的方法.它的工作原理"假定"是這樣的:一旦Java垃圾回收器準備好釋放對象占用的存儲空間,將首先調用其finalize()方法.并且在下一次垃圾回收動作發生時,才會真正回收對象占用的內存.所以要是你打算用finalize(),就能在垃圾回收時刻做一些重要的清理工作.也許你會發現,只要程序沒有瀕臨豐儲空間用完的那一刻,對象占用的空間就總也得不到釋放,如果程序執行結束,并且垃圾回收器一直沒有釋放你創建的任何對象的存儲空間,則隨著程序的退出,那些資源也會全部交還給操作系統.

這個策略是恰當的,因為垃圾回收本身也有開銷,要是不使用它,那就不用支付這部分開銷.所以你根本沒有辦法知道垃圾回收器會不會執行,什么時候執行.你要回收的對象不一定會被回收.finalize()方法用于清理什么樣的對象?如果我要清理某個對象,而該對象中含有其它對象,finalize()就應該明確釋放那些對象呢?

不----無論對象是如何創建的,Java垃圾回收器都會負責釋放對象占據的所有內存.這就將對finalize()的需求限制到一種特殊情況,即通過某種創建對象方式以外的方式為對象分配存儲空間.不過,大家也看到,Java中一切皆為對象,那這種特殊情況是怎么回事?看來之所以要有finalize(),是由于在分配內存時可能采用了類似C語言中的做法.而非Java中的通常做法.

這種情況主要發生在使用"本地方法"的情況下,本地方法是一種在Java中調用非Java代碼的方式.本地方法目前只支持C和C++,但它們可以調用其他語言寫的代碼,所以實際上可以調用任何代碼.在非Java代碼中,也許會調用C的malloc()函數系列來分配存儲空間,而且除非調用了free()函數,否則存儲空間將得不到釋放,從而造成內存泄露.當然,free()是C和C++中的函數,所以要在finalize()中用本地方法調用它.至此,大家或許明白了不要過多地使用finalize()的道理了.System.gc(),強行運行垃圾回收器.

finalize()在什么時候被調用?有三種情況1.對象被Garbage Collection時自動調用,比如運行System.gc()的時候.2.程序退出時為每個對象調用一次finalize方法。3.顯式的調用finalize方法

除此以外,正常情況下,當某個對象被系統收集為無用信息的時候,finalize()將被自動調用,但是jvm不保證finalize()一定被調用,也就是說,finalize()的調用是不確定的,這也就是為什么sun不提倡使用finalize()的原因.

測試代碼 package test;  

  1. /**     
  2.  * 測試垃圾回收器與finalize()方法     
  3.  * @author Administrator     
  4.  */     
  5. public class GcTest {     
  6.    public static void main(String[] args) {     
  7.         Book b1 = new Book();     
  8.         b1.setName("new");             
  9.         Book b2 = new Book();     
  10.         b2.setName("old");             
  11.         /*     
  12.          * 把b2引用指向null.讓b2引用所指的Book對象不在有引用指向它.     
  13.          * 垃圾回收器運行時,讓對象回收掉.     
  14.          */     
  15.         b2 = null;           
  16.         /*     
  17.          * 強行運行垃圾回收器.     
  18.          */     
  19.         System.gc();     
  20.     }     
  21. }     
  22.     
  23. class Book{            
  24.     private String name;     
  25.          
  26.     public String getName() {     
  27.         return name;     
  28.     }            
  29.     public void setName(String name) {     
  30.         this.name = name;     
  31.     }            
  32.     @Override     
  33.     protected void finalize() throws Throwable {     
  34.         // TODO Auto-generated method stub     
  35.         super.finalize();     
  36.         System.out.println(getName()+"--->執行GC工作.");     
  37.     }     
  38. }    
  39. package test;  
  40. /**  
  41.  * 測試垃圾回收器與finalize()方法  
  42.  * @author Administrator  
  43.  */  
  44. public class GcTest {  
  45.    
  46.  public static void main(String[] args) {  
  47.   Book b1 = new Book();  
  48.   b1.setName("new");   
  49.   Book b2 = new Book();  
  50.   b2.setName("old");    
  51.   /*  
  52.    * 把b2引用指向null.讓b2引用所指的Book對象不在有引用指向它.  
  53.    * 垃圾回收器運行時,讓對象回收掉.  
  54.    */  
  55.   b2 = null;    
  56.   /*  
  57.    * 強行運行垃圾回收器.  
  58.    */  
  59.   System.gc();  
  60.  }  
  61. }  
  62.  
  63. class Book{   
  64.  private String name;  
  65.  public String getName() {  
  66.   return name;  
  67.  }  
  68.  public void setName(String name) {  
  69.   this.name = name;  
  70.  }  
  71.  @Override  
  72.  protected void finalize() throws Throwable {  
  73.   // TODO Auto-generated method stub  
  74.   super.finalize();  
  75.   System.out.println(getName()+"--->執行GC工作.");  
  76.  }  

結果代碼

old--->執行GC工作. 

【編輯推薦】

  1. Java連接MySQL中文亂碼處理
  2. 在Java應用程序中使用Jfreechart配置
  3. Java虛擬機內部構成淺析
  4. 淺談Java線程的生命周期
  5. 關于Java繼承的一些復習
責任編輯:彭凡 來源: javaeye
相關推薦

2021-01-04 10:08:07

垃圾回收Java虛擬機

2009-12-30 10:14:29

JVM垃圾回收

2010-12-13 11:14:04

Java垃圾回收算法

2017-08-04 10:53:30

回收算法JVM垃圾回收器

2022-01-20 10:34:49

JVM垃圾回收算法

2015-04-21 11:33:37

JavaJava垃圾回收

2022-07-27 08:01:29

CMS垃圾回收器

2022-03-21 11:33:11

JVM垃圾回收器垃圾回收算法

2015-07-06 10:14:25

Java垃圾回收實戰

2009-07-06 17:34:22

Java垃圾回收

2009-06-23 14:15:00

Java垃圾回收

2021-11-05 15:23:20

JVM回收算法

2012-01-09 17:06:16

JavaJVM

2011-07-04 16:48:56

JAVA垃圾回收機制GC

2014-12-19 11:07:40

Java

2011-06-28 12:39:34

Java垃圾回收

2015-06-04 09:38:39

Java垃圾回收機

2023-08-08 10:29:55

JVM優化垃圾回收

2020-07-09 08:26:42

Kubernetes容器開發

2021-03-03 08:13:57

模式垃圾回收
點贊
收藏

51CTO技術棧公眾號

亚洲伊人影院| 中文字幕在线成人| 在线观看电影av| 久久天天躁狠狠躁夜夜爽蜜月 | 国产精品麻豆视频| 国产二区在线播放| 久久久国产成人精品| 亚洲午夜伦理| 国产福利影院在线观看| 91精品国产综合久久久久久| 久久视频免费| 亚州欧美一区三区三区在线 | 日韩中文字幕一区二区| 国产精品久线在线观看| 日本无删减在线| 国产精品日韩久久久久| 久久精品久久久精品美女| 在线播放的av| 久久人人爽人人爽爽久久| 宅男噜噜噜66国产日韩在线观看| 999精品网站| 精品美女一区二区三区| 免费黄色成人| 欧美,日韩,国产在线| 日韩欧美一区电影| 天堂美国久久| jizz大全欧美jizzcom| 日韩精品在线视频| 在线精品福利| 2222www色视频在线观看| 中日韩美女免费视频网址在线观看| 欧美日本在线| 日本一二三区视频免费高清| 日日骚av一区| 国产一区日韩二区欧美三区| 在线a免费看| 国产又爽又黄的激情精品视频| 成人av片在线观看| 在线黄色的网站| 欧美激情一区二区三区在线视频| 偷拍与自拍一区| 蜜桃精品噜噜噜成人av| 一区二区三区国产免费| 亚洲天堂av在线播放| 美女国产一区二区| 国产在线激情视频| 国产欧美一区二区视频| 欧美丝袜一区二区三区| 欧美精品一二| 免费白浆视频| 97视频免费看| 国产清纯在线一区二区www| 性高爱久久久久久久久| 在线综合视频网站| 欧美成人aa大片| 亚洲综合不卡| 国产成人无吗| 欧美在线视频一区二区三区| 欧美精品久久久久久久久老牛影院| 欧美一区成人| 成年在线观看免费人视频| 成人午夜小视频| 色综合久久中文字幕| 综合色一区二区| 国产黄色在线播放| 精品婷婷色一区二区三区蜜桃| 日本道精品一区二区三区 | 日本一区二区三区四区五区六区| 亚洲国产成人久久综合一区| 精品白丝av| 黄色免费网站在线| 亚洲精品乱码视频| 亚洲精品自拍偷拍| 成人黄色大片在线观看| 麻豆国产精品| xxxxx国产| 91久久精品国产91久久性色| 日本道在线观看一区二区| 亚洲东热激情| 国产白丝在线观看| 艳母动漫在线观看| 日韩在线观看免费高清| 国产精品高清亚洲| 久久人体视频| 黄网站在线免费| 亚洲第一精品区| 中文字幕无线精品亚洲乱码一区 | 四虎在线观看| 国产中文一区二区| 亚洲国产精品成人av| 不卡视频一二三| 一区三区自拍| 性色av一区| 日本在线一区| 日韩在线不卡视频| 亚洲女女做受ⅹxx高潮| 欧美fxxxxxx另类| dj大片免费在线观看| 国产二区视频在线| 国产ts人妖一区二区三区| 在线观看亚洲成人| 国产成人免费网站| 婷婷精品在线观看| 免费av在线网址| 国产美女主播在线播放| 国产精品露脸自拍| 欧美电影精品一区二区| 中文字幕一区二区三区四区五区六区 | 亚洲国产高清一区二区三区| 羞羞视频在线观看不卡| 欧美交换配乱吟粗大25p| 欧美乱大交做爰xxxⅹ性3| 色综合夜色一区| 国产一区二区在线观看视频| 久久人人爽人人爽人人片av不| 日韩午夜影院| 日韩美女爱爱视频| 国产精品自产拍在线观看中文| 精品久久久久久最新网址| 国产精品国产三级国产a| 在线视频免费在线观看一区二区| 8av国产精品爽爽ⅴa在线观看 | 91香蕉国产在线观看软件| 日韩大片在线| 26uuu亚洲电影| 中文字幕在线第一页| 国产xxxx振车| 国产日产精品一区二区三区四区 | 两个人看的在线视频www| 四虎4hutv紧急入口| 欧美日韩高清免费| 91精品国产色综合久久不卡98| 337p亚洲精品色噜噜狠狠| 国产精品女主播av| 日韩电影在线观看网站| 中文字幕精品影院| 制服丝袜专区在线| 日韩电影在线观看完整版| www一区二区www免费| 国产精品久久一区二区三区| 久久99亚洲热视| 亚洲国产成人av在线| 亚洲成人综合视频| 成人av中文字幕| 天堂一区二区在线| 偷偷www综合久久久久久久| 视频一区在线| av中文在线资源库| 伦理片一区二区三区| 国产视频手机在线播放| 欧美精品久久久| 国产精品久久久久久久久男| 色琪琪综合男人的天堂aⅴ视频| 欧美挠脚心视频网站| 一区二区三区蜜桃| 久久亚洲捆绑美女| 极品少妇xxxx偷拍精品少妇| 午夜精品久久久久99热蜜桃导演 | 日韩欧美综合| 久久久久久久久成人| 国产丝袜精品丝袜| 理论在线观看| 日本aa大片在线播放免费看| 免费国产黄色网址| 熟妇熟女乱妇乱女网站| 精品亚洲第一| 亚洲a级在线观看| 热re91久久精品国99热蜜臀| 日韩资源在线观看| 日韩精品小视频| 日韩欧美的一区| 欧美日韩一区久久| 欧美视频一二三| 一区二区三区四区中文字幕| 久久综合久久综合九色| 国产成人av一区二区三区在线| 视频一区二区中文字幕| 日韩午夜在线| 99国产精品久久久久久久| 欧美视频在线观看| 99久久精品费精品国产| 国产探花一区| 精品中文字幕一区二区三区av| 国产在线拍揄自揄拍视频| 91一区二区在线| 精品久久国产精品| 久久久久久九九| 国产精品7m视频| 欧美亚洲第一区| 91精品国产91久久久久久久久| 中文字幕精品久久久久| 在线精品播放av| 精品国产依人香蕉在线精品| 亚洲视频欧洲视频| 亚洲视频在线观看| 中文字幕精品一区久久久久| 最新国产成人av网站网址麻豆| 色偷偷偷综合中文字幕;dd| 最新国产精品拍自在线播放 | 高清国产在线一区|