Java gc(垃圾回收)机制 补充
来源:互联网 发布:那个人好像一条狗 知乎 编辑:程序博客网 时间:2024/06/14 00:13
问题
单一线程中,当程序执行System.gc()
后,立即让该线程休眠,是否一定会触发一次gc操作。
代码测试
public class Test { String msg = "nihao"; public static void main(String[] args) { Test test = new Test(); System.out.println("first"+test.msg); test = null; System.gc(); try { System.out.println("secend"); Thread.sleep(1000); System.out.println("four"); } catch (Exception e) { e.printStackTrace(); } } protected void finalize(){ System.out.println("third"); }}
运行结果
C:\Users\C5-0\tmp>java TestfirstnihaosecendthirdfourC:\Users\C5-0\tmp>java TestfirstnihaosecendthirdfourC:\Users\C5-0\tmp>java TestfirstnihaosecendthirdfourC:\Users\C5-0\tmp>java Testfirstnihaosecendthirdfour
结论
通过上述的测试结果,我们猜测触发线程的休眠会触发一次gc操作。但是在java中,gc操作执行的时间只是由JVM来控制的,即使程序中有System.gc()
,也只是告诉JVM:我需要你执行一次gc操作,但是具体的操作时间任然由JVM决定,可能程序结束都不会执行,也可能马上执行,所以,会触发上述的结果可能只是一个巧合,记住一点即可:Java中,gc操作的时间是由JVM(java虚拟机)决定的!
0 0
- Java gc(垃圾回收)机制 补充
- JAVA gc垃圾回收机制
- Java垃圾回收机制----GC
- JAVA 垃圾回收机制GC
- java垃圾回收机制GC
- JAVA gc垃圾回收机制
- JAVA gc垃圾回收机制
- Java gc垃圾回收机制
- JAVA gc垃圾回收机制
- JAVA gc垃圾回收机制
- Java gc(垃圾回收)机制
- JAVA gc垃圾回收机制
- JAVA gc垃圾回收机制
- GC java垃圾回收机制
- Java 垃圾回收机制GC
- gc, Java 垃圾回收机制
- Java垃圾回收机制GC
- 【Java】垃圾回收机制 GC
- linux入门:linux目录结构
- dom4j解析XML
- 从零开始自动部署Django项目(一):开发配置与生产配置
- Lua 常见问题
- easyui 数据网格取消滚动条的方法
- Java gc(垃圾回收)机制 补充
- 第三方登陆详细流程
- 计算机科学中最重要的32个算法
- C语言基础知识学习系列(一)
- 一步一步教你实现主题切换功能
- 《Drools6.4 中文文档》第18章18.3 管理(组织单元&资源库)
- 子序列个数
- Pipe实例
- mac升级macOS Sierra后ssh下载问题解决