国产麻豆精品视频-国产麻豆精品免费视频-国产麻豆精品免费密入口-国产麻豆精品高清在线播放-国产麻豆精品hdvideoss-国产麻豆精品

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

finalize()用途何在

發布時間:  2012/9/1 17:26:07

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

調用它。
讀完上述文字后,大家或許已弄清楚了自己不必過多地使用finalize()。這個思想是正確的;它并不是進行
普通清除工作的理想場所。那么,普通的清除工作應在何處進行呢?


本文出自:億恩科技【www.artduck.net】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線