在Java中,如果没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。而负责编译的Java虚拟机-JVM的一个系统级线程则自动释放该内存块。垃圾的回收意味着程序不再需要的对象是垃圾信息,会被丢弃。这一设计很好地提高了资源利用,方便了空间被后来的新对象使用。

Java垃圾回收机制特点

1、当一个对象没有被任何引用的时候,java的垃圾回收机制就会自动回收这些对象。

2、强制系统垃圾回收有两种方式:
(1) 调用System类的gc()静态方法:System.gc()
(2) 调用Runtime对象的gc()实例:Runtime.getRuntime().gc()

强调:所谓强制回收,其实也仅仅是一个建议。JVM接受这个消息后,并不是立即做垃圾回收,而只是对几个垃圾回收算法做了加权,使垃圾回收操作容易发生,或提早发生,或回收较多而已。

3、每个类都有一个finalize()方法,来释放对象的资源,但是不推荐使用,尽量少用。在垃圾回收机制回收的任何对象之前,总会先调用它的finalize()方法

对象在内存中的状态

浅谈Java垃圾回收机制

相关文章:

  • 2021-10-15
  • 2021-10-27
  • 2021-07-25
  • 2021-06-09
  • 2022-12-23
  • 2021-11-30
  • 2022-03-09
猜你喜欢
  • 2021-12-10
  • 2021-09-06
  • 2021-11-20
  • 2019-10-10
  • 2021-10-24
  • 2021-09-07
相关资源
相似解决方案