麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Java 的 finalize()用途何在

2019-11-18 13:21:05
字體:
供稿:網(wǎng)友

  此時,大家可能已相信了自己應(yīng)該將finalize()作為一種常規(guī)用途的清除方法使用。它有什么好處呢?
  要記住的第三個重點是:
  
  垃圾收集只跟內(nèi)存有關(guān)!
  
  也就是說,垃圾收集器存在的唯一原因是為了回收程序不再使用的內(nèi)存。所以對于與垃圾收集有關(guān)的任何活動來說,其中最值得注重的是finalize()方法,它們也必須同內(nèi)存以及它的回收有關(guān)。
  但這是否意味著假如對象包含了其他對象,finalize()就應(yīng)該明確釋放那些對象呢?答案是否定的——垃圾收集器會負責(zé)釋放所有對象占據(jù)的內(nèi)存,無論這些對象是如何創(chuàng)建的。它將對finalize()的需求限制到非凡的情況。在這種情況下,我們的對象可采用與創(chuàng)建對象時不同的方法分配一些存儲空間。但大家或許會注重到,java中的所有東西都是對象,所以這到底是怎么一回事呢?
  之所以要使用finalize(),看起來似乎是由于有時需要采取與Java的普通方法不同的一種方法,通過分配內(nèi)存來做一些具有C風(fēng)格的事情。這主要可以通過“固有方法”來進行,它是從Java里調(diào)用非Java方法的一種方式(固有方法的問題在附錄A討論)。C和C++是目前唯一獲得固有方法支持的語言。但由于它們能調(diào)用通過其他語言編寫的子程序,所以能夠有效地調(diào)用任何東西。在非Java代碼內(nèi)部,也許能調(diào)用C的malloc()系列函數(shù),用它分配存儲空間。而且除非調(diào)用了free(),否則存儲空間不會得到釋放,從而造成內(nèi)存“漏洞”的出現(xiàn)。當(dāng)然,free()是一個C和C++函數(shù),所以我們需要在finalize()內(nèi)部的一個固有方法中調(diào)用它。
  讀完上述文字后,大家或許已弄清楚了自己不必過多地使用finalize()。這個思想是正確的;它并不是進行普通清除工作的理想場所。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美性色生活片免费播放 | 久久久久久麻豆 | 欧美福利视频一区二区三区 | 国产精品久久99精品毛片三a | 九九综合九九 | 99国语露脸久久精品国产ktv | 亚洲精品久久久久久下一站 | 亚洲人成网在线观看 | a集毛片 | 18pao国产成人免费视频 | 久久蜜桃香蕉精品一区二区三区 | 一级国产航空美女毛片内谢 | 亚洲人成在线播放网站 | 色综合网在线观看 | 国产永久免费观看 | 九九视频在线观看黄 | 国产精品久久久久久影视 | www.91sese| 亚洲第一页中文字幕 | 欧美三级欧美成人高清www | 成人在线观看免费视频 | 成人一级黄色大片 | 久久免费视频精品 | 欧美成人综合视频 | 精品999www| 91视频久久 | 毛片中文字幕 | 国色天香综合网 | 久久精精品 | 国人精品视频在线观看 | 圆产精品久久久久久久久久久 | 欧美亚洲啪啪 | 国产精品色综合 | 91久久国产露脸精品国产 | 久久久日韩精品一区二区三区 | 中文字幕一二三区芒果 | 欧美成年人视频在线观看 | 黄色片在线免费播放 | 911色_911色sss主站色播 | 久久精品视频首页 | 久久久久九九九女人毛片 |