[Java基础] 垃圾回收机制

写在前面

本文简单介绍一下Java的垃圾回收机制相关概念。

活动地址:

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需写作干货注入能量… 热爱写作,愿意让自己成为更好的人… …

基本概念

定义

垃圾回收机制时指在Java语言的生命周期中,Java运行环境提供的一个系统的垃圾回收器线程,负责自动回收那些没有引用与之相连的对象所占用的内存。这种清除无用对象回收内存的行为就叫做垃圾回收。

作用

减轻内存管理的负担,减少很多错误的出现。

方法

在类的实例化对象被创建时,JVM会自动给该对象分配内存,调用该对象的构造方法并开始跟踪该对象。当该对象停止使用时,JVM便会通过垃圾回收器回收该对象所占的内存。

Java如何知道一个对象是否有用?

系统中每一个对象都有一个引用计数器,若一个对象被引用一次,引用计数器相应加1,减少一次引用,相应的引用计数器减1,以此类推,当引用计数器为0时,说明该对象需要被回收了。

垃圾回收机制的好处

很好的解决对内存的一些操作问题,包括追踪,监测,释放等。

防止系统内存被非法释放,更加稳定安全。

特点

只有当一个变量不被引用的时候,它所占用的内存才会被垃圾回收器回收;

不能通过程序强迫垃圾回收器立即执行;

当垃圾回收器回收内存时,会先调用对象的finalize()方法;

程序可能到运行结束都没有执行垃圾回收。

提示: 因为Java垃圾回收机制的特点,在编写代码的时候需要注意引用对象的生存周期,确保最短生存周期。
经验分享 程序员 微信小程序 职场和发展