国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Java finalize() 和System.gc()

導(dǎo)語:有人會(huì)問java有沒有和c 一樣的析構(gòu)函數(shù),我覺得嚴(yán)格意義上是沒有的,因?yàn)閖ava有垃圾回收機(jī)制,雖然有finalize()函數(shù),但是該函數(shù)并不具備c 析構(gòu)函數(shù)的功能

1.finalize()介紹

  • finalize方法在垃圾回收器準(zhǔn)備垃圾回收前被調(diào)用,但是不一定會(huì)被調(diào)用
  • finalize()其實(shí)是用來釋放不是通過java的new關(guān)鍵字分配的內(nèi)存比如說通過本地方法調(diào)用了c程序,該c程序malloc分配了內(nèi)存,那么垃圾回收器就不能通過java語言來釋放內(nèi)存,只能在finalize方法內(nèi)通過本地方法調(diào)用c程序進(jìn)行釋放內(nèi)存

2.System.gc()介紹

  • System.gc()建議垃圾回收器進(jìn)行垃圾回收,但是不一會(huì)立即執(zhí)行,不管新的對(duì)象還是舊的對(duì)象都會(huì)進(jìn)行回收,是full gc

3.測(cè)試程序

public class Book { private String bookName; public Book(String bookName) { this.bookName = bookName; System.out.println(bookName ' is created'); } @Override protected void finalize() throws Throwable { super.finalize(); System.out.println(bookName ' is freed'); }}public class Test { public static void main(String args[]) { Book l1 = new Book('book1'); Book l2 = new Book('book2'); l1 = l2 = null; System.gc(); }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

輸出結(jié)果:
book1 is created
book2 is created
book2 is freed
book1 is freed

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java四大引用
伊圖教程網(wǎng)-JAVA堆的管理--垃圾回收
Java垃圾回收機(jī)制
JVM 專題十九:垃圾回收(三)垃圾回收相關(guān)概念
面試四
Java常見的四種引用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服