求教一个java关于垃圾回收的问题

(1) GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。(2) 对于GC来说,当程序员创建...
求教一个java关于垃圾回收的问题
(1) GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

(2) 对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

(3) 垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,当一个对象不再被引用的时候,按照特定的垃圾收集算法来实现资源自动回收的功能。

(4) System.gc();就是呼叫java虚拟机的垃圾回收器运行回收内存的垃圾。

(5) 当不存在对一个对象的引用时,我们就假定不再需要那个对象,那个对象所占有的存储单元可以被收回,可通过System.gc()方法回收,但一般要把不再引用的对象标志为null为佳。

(6) 每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。 Runtime.getRuntime().gc();

(7) java.lang.System.gc()只是java.lang.Runtime.getRuntime().gc()的简写,两者的行为没有任何不同。

(8) 唯一的区别就是System.gc()写起来比Runtime.getRuntime().gc()简单点. 其实基本没什么机会用得到这个命令, 因为这个命令只是建议JVM安排GC运行, 还有可能完全被拒绝。 GC本身是会周期性的自动运行的,由JVM决定运行的时机,而且现在的版本有多种更智能的模式可以选择,还会根据运行的机器自动去做选择,就算真的有性能上的需求,也应该去对GC的运行机制进行微调,而不是通过使用这个命令来实现性能的优化。2014-10-30
mengvlog 阅读 8 次 更新于 2025-07-19 08:48:24 我来答关注问题0
  • (1) GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。(2) 对于GC来说,当程序员创建...

  •  文暄生活科普 Java 7种经典垃圾回收器

    本文介绍七种经典Java垃圾回收器:Serial、Serial old、ParNew、Parallel Scavenge、Parallel old、CMS、G1。Serial与Serial Old:单线程的回收器,使用复制与标记整理算法,适合低内存环境。启动命令为:-XX:+UseSerialGC -XX:+UseSerialOldGC。Parale Scavenge与Parallel Old:Parallel Scavenge为多线程版本...

  • (1).对象不一定会被回收。(2).垃圾回收不是析构函数。(3).垃圾回收只与内存有关。(4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的。二、垃圾回收器:1、在 Java 中,当创建一个对象时,Java 虚拟机(JVM)为该对象分配内存、调用构...

  •  文暄生活科普 java中有哪些常见的垃圾回收器?

    Java 中常见的垃圾回收器主要有以下几种:Serial 收集器,它是一个单线程的收集器,进行垃圾收集工作时必须暂停其他所有线程("Stop The World")。它在新生代使用标记-复制算法,在老年代使用标记-整理算法。ParNew 收集器,是 Serial 收集器的多线程版本,具有与 Serial 相同的行为,包括控制参数、收...

  •  翡希信息咨询 Java垃圾回收GC 算法实现:G1算法详解

    G1垃圾收集算法详解:一、主要目标与特点 主要目标:将停顿时间与分布预期化与可配置化。作为软实时垃圾收集器,可设置具体的停顿时间指标,如任意1秒内停顿不得超过5毫秒。 特点:通过将堆划分为多个小堆区,实现增量式收集,每次只处理部分小堆区,从而有效控制停顿时间。二、堆区域划分与收集模式 堆...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部