什么是Java的垃圾回收机制?

垃圾回收机制,简称 GC

  • Java 语言不需要程序员直接控制内存回收,由 JVM 在后台自动回收不再使用的内存
  • 提高编程效率
  • 保护程序的完整性
  • JVM 需要跟踪程序中有用的对象,确定哪些是无用的,影响性能

 

特点

  • 回收 JVM 堆内存里的对象空间,不负责回收栈内存数据
  • 无法处理一些操作系统资源的释放,如数据库连接、输入流输出流、Socket 连接
  • 垃圾回收发生具有不可预知性,程序无法精确控制垃圾回收机制执行
  • 可以将对象的引用变量设置为 null,垃圾回收机制可以在下次执行时回收该对象。
  • JVM 有多种垃圾回收 实现算法,表现各异
  • 垃圾回收机制回收任何对象之前,会先调用对象的 finalize() 方法
  • 可以通过 System.gc() 或 Runtime.getRuntime().gc() 通知系统进行垃圾回收,会有一些效果,但系统是否进行垃圾回收依然不确定
  • 不要主动调用对象的 finalize() 方法,应该交给垃圾回收机制调用


  

  

来一道刷了进BAT的面试题?

posted @ 2019-11-15 09:13  ConstXiong  阅读(791)  评论(0编辑  收藏  举报