亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java禁止使用finalize方法

2024-07-13 10:12:53
字體:
來源:轉載
供稿:網友

什么是finalize方法

finalize()方法被定義在Java.lang.Object類中,意味著所有的類都可以重載這個方法。java垃圾回收器只之道釋放那些經由new分配的內存,所以如果你的對象并非通過new獲得的內存,那么垃圾回收器就不知道如何釋放該對象的內存了。

為了應對這種情況,java允許在類中重載java.lang.Object類中的finalize()方法。

它的工作原理:一旦垃圾回收器準備好釋放對象占用的存儲空間,將首先調用其finalize()方法,并且在下一次垃圾回收動作發生時,才會真正回收對象占用的內存。

finalize函數的調用機制

java虛擬機規范并沒有硬性規定垃圾回收該不該搞,以及該如何搞。所以這里提到的調用機制不能保證適合所有jvm。

何時被調用?

  finalize啥時候才會被調用捏?一般來說,要等到JVM開始進行垃圾回收的時候,它才有可能被調用。而JVM進行垃圾回收的時間點是非常不確定的,依賴于各種運行時的環境因素。正是由于finalize函數調用時間點的不確定,導致了后面提到的某些缺點。

誰來調用?

  常見的JVM會通過GC的垃圾回收線程來進行finalize函數的調用。由于垃圾回收線程比較重要(人家好歹也是JVM的一個組成部分嘛),為了防止finalize函數拋出的異常影響到垃圾回收線程的運作,垃圾回收線程會在調用每一個finalize函數時進行try catch,如果捕獲到異常,就直接丟棄,然后接著處理下一個失效對象的finalize函數。

為什么禁止使用finalize()

1.調用時間不確定---有資源浪費的風險

前面已經介紹了調用機制。同學們應該認清“finalize的調用時機是很不確定的”這樣一個事實。所以,假如你把某些稀缺資源放到finalize()中釋放,可能會導致該稀缺資源等上很久很久很久以后才被釋放。這可是資源的浪費啊!另外,某些類對象所攜帶的資源(比如某些JDBC的類)可能本身就很耗費內存,這些資源的延遲釋放會造成很大的性能問題。

2.可能不被調用----有資源泄露的風險

很多同學以為finalize()總是會被調用,其實不然。在某些情況下,finalize()壓根兒不被調用。比如在JVM退出的當口,內存中那些對象的finalize函數可能就不會被調用了。

估計有同學在打“runFinalizersOnExit”的主意,來確保所有的finalize在JVM退出前被調用。很可惜也很遺憾,該方法從JDK 1.2開始,就已經被廢棄了。即使該方法不被廢棄,也是有很大的線程安全隱患滴!   

從上述可以看出,一旦你依賴finalize()來幫你釋放資源,那可是很不妙?。ㄓ匈Y源泄漏的危險)!很多時候,資源泄露導致的性能問題更加嚴重,萬萬不可小看。

3.對象可能在finalize函數調用時復活

本來,只有當某個對象已經失效(沒有引用),垃圾回收器才會調用該對象的finalize函數。但是,萬一碰上某個變態的程序員,在finalize()函數內部再把對象自身的引用(也就是this)重新保存在某處,也就相當于把自己復活了(因為這個對象重新有了引用,不再處于失效狀態)。 為了防止發生這種詭異的事情,垃圾回收器只能在每次調用完finalize()之后再次去檢查該對象是否還處于失效狀態。這無形中又增加了JVM的開銷。隨便提一下。由于JDK的文檔中規定了,JVM對于每一個類對象實例最多只會調用一次finalize()。所以,對于那些詐尸的實例,當它們真正死亡時,finalize()反而不會被調用了。這看起來是不是很奇怪?

4.要記得自己做異常捕獲

剛才在介紹finalize()調用機制時提到,一旦有異常拋出到finalize函數外面,會被垃圾回收線程捕獲并丟棄。也就是說,異常被忽略掉了(異常被忽略的危害,“這里”有提到)。為了防止這種事兒,凡是finalize()中有可能拋出異常的代碼,你都得寫上try catch語句,自己進行捕獲。

5.小心線程安全

由于調用finalize()的是垃圾回收線程,和你自己代碼的線程不是同一個線程;甚至不同對象的finalize()可能會被不同的垃圾回收線程調用(比如使用“并行收集器”的時候)。所以,當你在finalize()里面訪問某些數據的時候,還得時刻留心線程安全的問題。

總結

以上所述是小編給大家介紹的Java禁止使用finalize方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久国产精彩视频| 91精品国产91久久| 日韩久久免费电影| 91精品91久久久久久| 91高潮精品免费porn| 中文字幕欧美视频在线| 久久噜噜噜精品国产亚洲综合| 欧美成人h版在线观看| 久久影视电视剧凤归四时歌| 日韩中文在线观看| 狠狠躁夜夜躁人人躁婷婷91| 国产自产女人91一区在线观看| 2019最新中文字幕| 日韩av在线不卡| 久久久亚洲精品视频| 日韩视频免费看| 91亚洲精品视频| 亚洲国产欧美一区二区三区久久| 伊人伊成久久人综合网小说| 久久久久久久久久久国产| 亚洲欧洲一区二区三区久久| 精品动漫一区二区三区| 欧美极度另类性三渗透| 久久伊人精品视频| 91丨九色丨国产在线| 亚洲激情中文字幕| 精品国产一区二区三区久久久| 亚洲女人天堂成人av在线| 国产亚洲精品91在线| 97在线视频观看| 欧美激情精品久久久久久变态| 国产精品入口日韩视频大尺度| 欧美一级电影免费在线观看| 国产97在线播放| 久久av.com| 亚洲欧美在线看| 日韩精品在线免费观看| 国产精品一区二区在线| 美女性感视频久久久| 色婷婷av一区二区三区久久| 精品视频在线导航| 一区二区av在线| 这里只有精品视频| 欧美大片在线看免费观看| 中文字幕久久久av一区| 国产美女久久精品香蕉69| 正在播放国产一区| 精品中文字幕视频| 亚洲国产精品久久91精品| 国产精品一二三视频| 欧美成aaa人片在线观看蜜臀| 亚洲精品xxxx| 久久久久99精品久久久久| 亚洲精品国产精品久久清纯直播| 青草青草久热精品视频在线观看| 91久久精品日日躁夜夜躁国产| 精品视频在线观看日韩| 4438全国亚洲精品在线观看视频| 成人黄色生活片| 欧美电影《睫毛膏》| 国产欧美久久一区二区| 国产日韩在线免费| 久久精品久久久久电影| 成人网址在线观看| 亚洲国产精品成人精品| 欧美成人午夜激情视频| 国产亚洲欧美日韩一区二区| 午夜精品99久久免费| 精品国产精品三级精品av网址| 国产成人精品日本亚洲专区61| 最近2019年中文视频免费在线观看| 96精品视频在线| 欧美日韩国产成人在线| 成人在线观看视频网站| 国产成人91久久精品| 亚洲bt天天射| 国产精品久久久久免费a∨| 亚洲美腿欧美激情另类| 欧美日韩国产精品一区| 欧美精品videosex牲欧美| 久久电影一区二区| 欧洲成人午夜免费大片| 国模视频一区二区三区| 欧美日韩国产精品专区| 国产色婷婷国产综合在线理论片a| 欧美精品手机在线| 日韩精品在线视频| 国产脚交av在线一区二区| 日本一区二区三区在线播放| 欧美日韩免费观看中文| 欧美另类69精品久久久久9999| 日韩在线视频中文字幕| 中文字幕欧美在线| 欧美日韩国产精品一区二区不卡中文| 韩国三级日本三级少妇99| 午夜精品一区二区三区在线视频| 日韩精品在线私人| 欧美午夜片欧美片在线观看| 欧美日韩在线一区| 91久久久久久国产精品| 久久精视频免费在线久久完整在线看| 欧洲亚洲免费在线| 欧美在线视频导航| 久久久免费高清电视剧观看| 国产精品视频区1| 8x海外华人永久免费日韩内陆视频| 中文字幕亚洲欧美日韩2019| 亚洲天堂男人的天堂| 亚洲精品日韩在线| 日韩精品有码在线观看| 亚洲欧美日本伦理| 日本成人免费在线| 久久五月情影视| 国产色婷婷国产综合在线理论片a| 影音先锋欧美在线资源| 亚洲精品国产欧美| 国产成人一区二区三区小说| 国产成人精品999| 中文字幕在线视频日韩| 久久精品国产99国产精品澳门| 欧美小视频在线观看| 91久久在线观看| 亚洲午夜小视频| 亚洲 日韩 国产第一| 亚洲成人在线网| 91av视频在线播放| 亚洲91av视频| 久热精品视频在线观看一区| 免费91麻豆精品国产自产在线观看| 日韩电影大全免费观看2023年上| 色偷偷综合社区| 欧美在线视频导航| 另类美女黄大片| 国产日韩欧美日韩| 国产在线视频2019最新视频| 亚洲国产精品女人久久久| 91久久嫩草影院一区二区| 精品久久久久人成| 亚洲高清久久久久久| 国产精品久久久久久久久久东京| 亚洲日韩中文字幕在线播放| 曰本色欧美视频在线| 亚洲视频精品在线| 中文字幕久热精品视频在线| 欧美电影在线观看高清| 性色av一区二区三区| 亚洲欧美激情在线视频| 国产一区二区三区免费视频| 成人做爽爽免费视频| 91香蕉亚洲精品| 伊人亚洲福利一区二区三区| 日韩av三级在线观看| 国产精品网红福利| 91精品中文在线| 国产999精品| 一区二区中文字幕| 在线观看久久av| 韩国三级日本三级少妇99| 亚洲一二在线观看| 日韩精品亚洲视频| 亚洲精品一区二区久| 青青a在线精品免费观看| 欧美激情亚洲自拍| 亚洲三级 欧美三级|