码迷,mamicode.com
首页 > 其他好文 > 详细

System.gc() 和 Runtime.gc()、. finalize() 方法

时间:2020-04-14 22:42:40      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:渠道   部分   sys   int   nal   垃圾回收   run   特殊   不用   

1、System.gc() 和 Runtime.gc()

这两个方法用来提示JVM要进行垃圾回收。但是,立即开始还是延迟进行垃圾回收是取决于JVM的。

程序员可以手动执行 System.gc(),通知 GC 运行,但是 Java 语言规范并不保证 GC 一定会执行。

 

2、. finalize() 方法

垃圾回收器决定回收某对象时,就会运行该对象的finalize0方法。但是在Java中如果内存总是充足的,垃圾回收可能永远不会进行,也就是说filalize0可能永远不被执行。finalize()方法主要的用途是回收特殊渠道申请的内存。Java程序有垃圾回收器,所以一般情况下内存问题不用程序员操心。但有一种JNI(Java Native Interface)调用non-Java程序(C或C++),finalize()的工作就是回收这部分的内存。

 

System.gc() 和 Runtime.gc()、. finalize() 方法

标签:渠道   部分   sys   int   nal   垃圾回收   run   特殊   不用   

原文地址:https://www.cnblogs.com/zhai1997/p/12701437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!