java中GC指的是什么?

Python016

java中GC指的是什么?,第1张

gc是指垃圾回收机制,当一个对象不能再被后续程序所引用到时,这个对象所占用的内存空间就没有存在的意义了,java虚拟机会不定时的去检测内存中这样的对象,然后回收这块内存空间。

GC的基本原理:

对于程序员来说,用new关键字即在堆中分配了内存,我们称之为“可达”。对于GC来说,只要所有被引用的对象为null时,我们称之为“不可达”,就将进行内存的回收。

当一个对象被创建时,GC开始监控这个对象的大小、内存地址及使用情况。GC采用有向图的方式记录和管理堆(heap)中的所有对象,通过这种方式可以明确哪些对象是可达的,哪些不是。当确定为不可达时,则对其进行回收。

保证GC在不同平台的实现问题,java规范对其很多行为没有进行严格的规定。对于采用什么算法,什么时候进行回收等。

GC是垃圾回收的意思(gabage collection),内存处理器是编程人员容易出现问题的地方,忘记或者错误的内存回收导致程序或者系统的不稳定甚至崩溃,java的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,java语言没有提供释放已分配内存的俄显示操作方法。

希望能帮到你,谢谢!

最近做了一个需求,给hadoop集群做监控面板,做完了,还得写说明文档。如果说,做的时候,是研发主导,那么做完了,说明文档,产品经理还是逃不掉 tat

gc(garbage collection),垃圾收集,指JVM用于释放那些不再使用的对象所占用的内存。

所以什么是JVM呢?(作为非技术人员,有一种直觉,看到这种很专业的名词,就想跳过,但是跳过了,有很大可能会miss掉重要信息,所以我还是研究一下JVM到底是什么吧!!)

Java Virtual Machine(Java虚拟机)的缩写。

JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。

诶,到这里,我突然意识到,JVM是Java虚拟机,为什么Hadoop的指标会有JVM呢?莫非,Hadoop是用Java开发的,百度了一下,答案,Yes。嘿,还挺反直觉,我还以为是C语言开发的(没有证据,就是直觉),现实生活中存在的很多直觉其实是不正确的。

最后一句话,也作为6月的座右铭

同样,在项目管理或AI商业化过程中,同理,我们不因当前的不完美而沮丧,因为我们的努力,就是一个不断追求完美的过程。

参考: