[BIT0429]-Java 垃圾自動回收機制代碼演示

   在C等語言中,內存管理和回收對於程序員來說是非常痛苦的,因為這需要程序員具有極高的編碼水平來確保自主回收內存不會導致程序出現問題。在Java這門優秀的語言中引入了垃圾自動回收機制(GC),雖然這犧牲輕微的效率,但卻使得程序員更加專注于代碼邏輯,並且搭建和管理程序也變得更加輕鬆和高效。下面我們通過一個有趣的小程序來演示Java垃圾自動回收的機制:
   一、創建一個學生類,並且重寫系統的finalize()方法:
  package cn.bjsxt.oop08;
public class Student {
    String name;

    public Student(String name) {
        super();
        this.name = name;
    }

    public Student() {
        super();
    }

    @Override
    protected void finalize() throws Throwable {
        // TODO Auto-generated method stub
        super.finalize();
        System.out.println(name+"一路走好,兄弟");
    }
}  
二、創建測試類,在測試類裡面創建多個學生類對象,然後讓這些對象賦值為空,並且調用System.gc()方法通知垃圾回收器回收垃圾:
package cn.bjsxt.oop08;

public class Test {

    public static void main(String[] args) {
        Student student1=new Student("学生1");
        Student student2=new Student("学生2");
        Student student3=new Student("学生3");
        Student student4=new Student("学生4");
        Student student5=new Student("学生5");
        Student student6=new Student("学生6");
        Student student7=new Student("学生7");
        student1=null;
        student2=null;
        student3=null;
        student4=null;
        student5=null;
        student6=null;
        //student7=null;
        System.gc();
        try {
            Thread.sleep(1);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
 三、這是運行結果:
 学生3一路走好,兄弟
 学生6一路走好,兄弟
 学生5一路走好,兄弟
 学生4一路走好,兄弟
 学生1一路走好,兄弟
 学生2一路走好,兄弟
 第二次運行結果:
 学生2一路走好,兄弟
 学生6一路走好,兄弟
 学生5一路走好,兄弟
 学生4一路走好,兄弟
 学生1一路走好,兄弟
 学生3一路走好,兄弟
 你也可以測試一下,每次的運行結果都會不一樣。

2017/10/24 BIT创作,您可以免费转载和使用!(本模块博客是作者学习期间整理的学习心得,不是java技术的标准严格学习文档,仅作参考交流使用,对于使用本文档的后果,作者不作任何口头或书面的承诺)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值