Java基础篇——垃圾回收

活动地址:CSDN21天学习挑战赛

 

        与任何有生命的事物一样,Java中的对象也要经历创建、使用和回收等阶段,这些阶段称为对象的生命周期(Lifecycle)对象被使用完毕后,应当释放其所占的内存单元,以使这些内存可被分配给将来创建的对象,这一过程在Java中被称为垃圾回收Garbage Collection,GC),由垃圾回收器负责完成。

Java垃圾回收的作用是什么?

        垃圾回收是Java语言提供的一种自动回收内存的功能,可以让程序员减轻内存管理的负担,同时也减少了很多错误的出现。

Java垃圾回收的方法是什么?

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

        垃圾回收器是Java虚拟机的一个重要组成部分,其作用是查找和回收不在被使用的对象,以便更有效的使用内存资源。

Java垃圾回收机制的好处:

  • 很好的解决了对内存的一些操作问题,包括跟踪,监测,释放
  • 防止系统内存被非法释放,更加稳定安全

​Java垃圾回收机制的特点:

  • 只有一个变量不被任何引用类型使用时,它所占的内存才会被垃圾回收器回收
  • 不能通过程序强迫垃圾回收器的执行
  • 当垃圾回收器将要释放无用内存时,先调用对象的finalize方法
  • 程序可能到运行运行结束都没有执行垃圾回收

缺点         

        凡事有利也有弊,垃圾自动回收的一个潜在的缺点是其对程序执行性能的影响。虚拟机需要遍历程序中所有的对象以命中无用内存,然后进行内存块的复制、碎片整理以及更新对象引用等,这些都需要一定的时间开销。

        但是随着Java平台软硬件性能的不断提升以及垃圾回收算法的不断改进,通常不必关注垃圾回收对程序执行性能的影响。

程序员可以通过某些良好的编程习惯是对象尽量满足垃圾回收的条件,具体有以下两点:

  1. 将使用完的对象显示赋值为null
  2. 复用之前的对象

猜你喜欢

转载自blog.csdn.net/m0_52991090/article/details/126433025