写在前面
本文简单介绍一下Java的垃圾回收机制相关概念。
活动地址:优快云21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…
…
基本概念
定义
垃圾回收机制时指在Java语言的生命周期中,Java运行环境提供的一个系统的垃圾回收器线程,负责自动回收那些没有引用与之相连的对象所占用的内存。这种清除无用对象回收内存的行为就叫做垃圾回收。
作用
减轻内存管理的负担,减少很多错误的出现。
方法
在类的实例化对象被创建时,JVM会自动给该对象分配内存,调用该对象的构造方法并开始跟踪该对象。当该对象停止使用时,JVM便会通过垃圾回收器回收该对象所占的内存。
Java如何知道一个对象是否有用?
系统中每一个对象都有一个引用计数器,若一个对象被引用一次,引用计数器相应加1,减少一次引用,相应的引用计数器减1,以此类推,当引用计数器为0时,说明该对象需要被回收了。
垃圾回收机制的好处
很好的解决对内存的一些操作问题,包括追踪,监测,释放等。
防止系统内存被非法释放,更加稳定安全。
特点
只有当一个变量不被引用的时候,它所占用的内存才会被垃圾回收器回收;
不能通过程序强迫垃圾回收器立即执行;
当垃圾回收器回收内存时,会先调用对象的finalize()方法;
程序可能到运行结束都没有执行垃圾回收。
提示:
因为Java垃圾回收机制的特点,在编写代码的时候需要注意引用对象的生存周期,确保最短生存周期。