源代码:

package basic;public class finalizeTest {private String name;public void finalize(){System.out.println("finalize called: " + this.name);System.out.println("Thread id in finalize: " + Thread.currentThread().getId());}public finalizeTest(String name){this.name = name;}public static void main(String[] args) {System.out.println("Main Thread id: " + Thread.currentThread().getId());finalizeTest test = new finalizeTest("Jerry");test.hashCode();/* 这个新创建出来的对象实例没有任何变量指向它,因此System.gc()调用之后就会被回收 * 而且能发现Scala实例执行finalize方法的线程并不是主线程,打印出的线程ID不一样* */new finalizeTest("Scala");System.gc();}}

打印输出:

Main Thread id: 1
finalize called: Scala
Thread id in finalize: 3

一个利用System.gc和finalize研究Java垃圾回收机制的练习相关推荐

  1. 【JVM】Java垃圾回收机制(GC)详解

    Java垃圾回收机制(GC)详解 一.为什么需要垃圾回收? 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收.除非内存无限大,我们可以任性的分配不回收,但是事实并非如 ...

  2. java垃圾回收机制_乐字节Java|GC垃圾回收机制、package和import语句

    本文接上一篇:乐字节Java|this关键字.static关键字.block块.本文是接着讲述JavaGC垃圾回收机制.package 和 import语句. 一.GC垃圾回收机制 GC全名:Garb ...

  3. 36.JVM内存分哪几个区,每个区的作用是什么、如和判断一个对象是否存活、java垃圾回收机制、垃圾收集的方法有哪些、java类加载过程、类加载机制、双亲委派、Minor GC和Major GC

    36.JVM内存分哪几个区,每个区的作用是什么? 37.如和判断一个对象是否存活?(或者GC对象的判定方法) 38.简述java垃圾回收机制? 39.java中垃圾收集的方法有哪些? 40.java类 ...

  4. JAVA垃圾回收机制GC之我姐是明星

    JAVA垃圾回收机制GC(Garbage Collection) 工作面试老伙伴之java垃圾回收机制 什么是GC,为什么要GC(我的明星老姐) 判断垃圾(找到不常穿的衣服) A 引用计数算法 B 可 ...

  5. Java垃圾回收机制(Garbage Collection)

    引用博客地址:http://www.cnblogs.com/ywl925/p/3925637.html 以下两篇博客综合描述Java垃圾回收机制 第一篇:说的比较多,但是不详细 http://www. ...

  6. Java垃圾回收机制与垃圾收集器

    Java垃圾回收机制与垃圾收集器 前言 判定对象是否存活(标记) 引用计数法 可达性分析 算法思想 算法步骤 对象复活 引用概念的完善 垃圾回收算法 标记 - 清除法 标记 - 复制法 标记 - 整理 ...

  7. Java深度历险(四)——Java垃圾回收机制与引用类型

    Java语言的一个重要特性是引入了自动的内存管理机制,使得开发人员不用自己来管理应用中的内存.C/C++开发人员需要通过malloc/free 和new/delete等函数来显式的分配和释放内存.这对 ...

  8. java 垃圾回收机制的理解

    1.垃圾回收的意义 在java体系中内存的分和回收是自动化管理的,从而程序员不需要操心内存的分配和是否浪费.javaGC机制能帮我们把不需要的对象占用的内存回收,保证程序高效的运行.由于我们创建的对象 ...

  9. java垃圾回收机制_笔记 | Java垃圾回收机制

    本文经授权转载自程序员杂货铺(ID:speakFramework) 垃圾回收 最近上海的小伙伴是不是要被强垃圾分类搞疯了???哈哈哈哈 上海是个走在前列的城市啊,不光骑自行车闯红灯要被罚钱,垃圾不分类 ...

最新文章

  1. kivy 的on_touch_move和on_touch_down
  2. Git笔记(14) 分支开发工作流
  3. 450B Jzzhu and Sequences 我考研之后做的第一道题
  4. SAR成像(一):线性调频信号(LFM)和脉冲压缩
  5. 资产管理系统——必备功能
  6. 如果你想专升本那就一定要看的专升本语文_文学常识完整版(五)
  7. pg_repack使用
  8. java统计每个单词单词出现的次数_Java统计英文句子中出现次数最多的单词并计算出现次数的方法...
  9. Xilinx FPGA资源解析与使用系列——Transceiver(一)参考时钟解析
  10. 基于Java毕业设计爱心公益网站设计与制作源码+系统+mysql+lw文档+部署软件
  11. 快学Python:函数的使用
  12. PDF预览完整解决方案及各种兼容(VUE版)
  13. 白鹭引擎的微信分享接口
  14. 快速实现 分页器(超简单) 可以直接用
  15. 交互式裁剪系统--2006-Gaze-Based Interaction for Semi-Automatic Photo Cropping
  16. 小小蜜蜂蜇壮汉不死,注射打针反致死
  17. 唯鲲论坛-外汇桥接技术为何存在?它能带给经纪商什么?
  18. 【论】Towards Smart Transportation System: A Case Study on the Rebalancing Problem of Bike Sharing Sys
  19. GOF23-建造者模式
  20. BUUCTF 被劫持的神秘礼物 writeup

热门文章

  1. 【转】SVM入门(一)SVM的八股简介
  2. tableview 的小 点点,
  3. 一个亿万富翁和一个陌生人的换钱计划
  4. POJ 3020 Antenna Placement
  5. 远程屏幕传输“差异截图”的问题。
  6. 【原】ASP.Net 项目实做 搭建开发环境
  7. 用InstallShield9打包 vb6+水晶报表中文版9.2 [转]
  8. Linux 常用解压和压缩命令
  9. AngularJs出现错误Error: [ng:areq]
  10. Beaglebone Back学习三(开发环境搭建)