java垃圾回收代码
public class GcTest
{public static void main(String[] args){for (int i = 0 ; i < 4; i++){new GcTest();// 下面两行代码的作用完全相同,强制系统进行垃圾回收// System.gc();Runtime.getRuntime().gc();}}public void finalize(){System.out.println("系统正在清理GcTest对象的资源...");}
}
java -verbose:gc GcTest
finalize()方法具有如下4个特点:
永远不要主动调用某个对象的finalize()方法,该方法交给垃圾回收机制调用。
finalize()方法何时被调用,是否被调用具有不确定性,不要把finalize()方法当成一定会被执行的方法。
当JVM执行可恢复对象的finalize()方法时,可能使该对象或系统中其他对象重新变成可达状态。
当JVM执行finalize()方法时出现异常时,垃圾回收机制不会报告异常,程序继续执行。
public class FinalizeTest
{private static FinalizeTest ft = null;public void info(){System.out.println("测试资源清理的finalize方法");}public static void main(String[] args) throws Exception{// 创建FinalizeTest对象立即进入可恢复状态new FinalizeTest();// 通知系统进行资源回收
// System.gc(); //①// 强制垃圾回收机制调用可恢复对象的finalize()方法
// Runtime.getRuntime().runFinalization(); //②System.runFinalization(); //③ft.info();}public void finalize(){// 让tf引用到试图回收的可恢复对象,即可恢复对象重新变成可达ft = this;}
}
java对象的强引用,软引用,弱引用,虚引用
java垃圾回收代码相关推荐
- 假期三天,我肝了万字的Java垃圾回收,看完你还敢说不会?
大家好,我是狂聊,上一篇已经把 Jvm 的运行区数据和类加载机制聊完了. 今天来说说 Java 垃圾回收,高频面试问题. 提纲附上,话不多说,直接干货 1.什么是垃圾回收? 垃圾回收(Garbage ...
- java垃圾回收机制_笔记 | Java垃圾回收机制
本文经授权转载自程序员杂货铺(ID:speakFramework) 垃圾回收 最近上海的小伙伴是不是要被强垃圾分类搞疯了???哈哈哈哈 上海是个走在前列的城市啊,不光骑自行车闯红灯要被罚钱,垃圾不分类 ...
- 细述 Java垃圾回收机制→Java Garbage Collection Monitoring and Analysis
本文非原创,翻译自Java Garbage Collection Monitoring and Analysis 在Java中为对象分配和释放内存空间都是由垃圾回收线程自动执行完成的.和C语言不一样的 ...
- Java垃圾回收机制(Garbage Collection)
引用博客地址:http://www.cnblogs.com/ywl925/p/3925637.html 以下两篇博客综合描述Java垃圾回收机制 第一篇:说的比较多,但是不详细 http://www. ...
- java垃圾回收机制串行_Java垃圾回收机制
Java语言是一门自动内存管理的语言,不再需要的对象可以通过垃圾回收自动进行内存释放. Java运行时内存区域划分 JVM将Java程序运行时内存区域划分成以下几个部分: 程序计数器(Program ...
- java垃圾回收根对象_Java垃圾回收怎么理解?
展开全部 Java的堆是一个运行时数据区,类的实例(对象)从中62616964757a686964616fe58685e5aeb931333339653664分配空间.Java虚拟机(JVM)的堆中储 ...
- Java垃圾回收(GC)机制详解
Java垃圾回收(GC)机制详解 转自:https://www.cnblogs.com/xiaoxi/p/6486852.html 一.为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因 ...
- 53.垃圾回收算法的实现原理、启动Java垃圾回收、Java垃圾回收过程、垃圾回收中实例的终结、对象什么时候符合垃圾回收的条件、GC Scope 示例程序、GC OutOfMemoryError的示例
53.垃圾回收算法的实现原理 53.1.目录 53.2.启动Java垃圾回收 53.3.Java垃圾回收过程 53.4.垃圾回收中实例的终结 53.5.对象什么时候符合垃圾回收的条件? 53.5.1. ...
- 36.JVM内存分哪几个区,每个区的作用是什么、如和判断一个对象是否存活、java垃圾回收机制、垃圾收集的方法有哪些、java类加载过程、类加载机制、双亲委派、Minor GC和Major GC
36.JVM内存分哪几个区,每个区的作用是什么? 37.如和判断一个对象是否存活?(或者GC对象的判定方法) 38.简述java垃圾回收机制? 39.java中垃圾收集的方法有哪些? 40.java类 ...
最新文章
- VS2015占内存大吗?_手游越来越占内存,80%的手机安装一个大游戏就满了,厂商肉搏...
- import keras 报错 ImportError: cannot import name ‘urlopen‘
- (0049)iOS开发之数据精度处理四舍五入问题
- Spring配置问题——元素 quot;context:component-scanquot; 的前缀 quot;contextquot; 未绑定...
- delphi oracle新建用户,Delphi 中如何用另外一个用户的身份来运行一人程序
- 如何更好的利用Node.js的性能极限
- The DVMM Lab at Columbia University
- nexus 7 arm linux,Nexus 7安装Ubuntu Touch
- 30 | 图的表示:如何存储微博、微信等社交网络中的好友关系?
- C语言fread和fwrite的用法详解
- webserver介绍与实现(利用各模块的封装实现)
- 记录一次svn报错:[Previous operation has not finished; run 'cleanup' if it was interrupted] 的排错过程
- java版本号分段比较_java比较版本号大小
- Excel表中只能选择固定内容
- 前台离岗提示语_安全温馨提示语大全.doc
- spring mvc前端验证代码生成器
- (echarts)引入折线图
- 淘宝api的商品详情是指什么意思?
- B/S 系统界面设计规范
- SAP学习之配置——BOM用途