java中到底该不该手动调用gc

如题所述

通常不要
例外 try(
//代码
)catch(OutOfMemoryError E){
System.gc();
}
也许能补救,但是这绝对不是一个好方法
温馨提示:内容为网友见解,仅供参考
无其他回答

java中到底该不该手动调用gc
不用手动调,即使你是搞内存型程序,你在调用gc时jvm也会有它的调度规则,不是你一调用就开始回收垃圾,所以在编程时注意释放没用的资源,尤其是在线程中,因为线程没结束有些资源是无法释放的。

java中gc是什么意思?
GC是指垃圾回收机制,是Java平台内存管理的一部分。它是一个后台线程,从堆中删除不再使用的、和可达性分析不到的对象。Java程序员不用手动分配和释放内存,GC会自动进行内存回收,使得Java程序更加安全和高效。GC的工作原理是在后台监控Java堆中的对象,当一个对象不再被引用时,GC会把它所占用的内存...

普通gc和强制gc的区别
而强制GC需要手动触发,开发人员可以通过System.gc()等代码方式进行垃圾回收操作。3. 时间间隔普通GC的时间间隔是不确定的,因为GC机制是自动进行的,需要根据JVM实际情况进行自适应调整。而强制GC可以在需要的时候手动进行,因此时间间隔是可控的。4. 开销普通GC的开销比较高,因为需要考虑到内存的使用情况...

什么叫GC线程
GC在java中是垃圾回收机制,当你创建一个对象时,它就开始跟踪,当对象“可到达”时,就自动回收,也可以手动调用,但一般不推荐使用

一个关于java的问题,System.gc()
System.gc()是通知垃圾收集器(而不是调用),java程序是没权限直接清理内存的,只能通过通知垃圾收集器,让它快点,至于它会不会立刻就来干活,那是不一定的。所以,通常我们写代码,是不用手工写gc()的,因为写了也不能保证发生什么。

强制gc和普通gc的区别
就是自动化和半自动化的区别。 强制gc是指java中的垃圾回收站。 java中的gc可以自动清理没用的变量占用的内存,从而不需要程序员手动的去释放空间,大大的提高了工作效率; 普通gc指这个请求机制提供给程序员一个启动 GC 过程的机会,但是启动由 JVM负责。JVM可以拒绝这个请求,所以并不保证这些调用都将...

如何用手指达到gc
首先,我们需要了解什么是GC。GC是垃圾回收(Garbage Collection)的缩写,是指程序自动管理内存的一种机制。在Java语言中,GC是默认开启的,它可以自动回收不再使用的内存空间,从而提供更多的内存给程序使用。2. 手指的使用方法 手指可以用于模拟对象的引用计数,从而实现手动触发GC的效果。具体操作方法如下...

java 里面garbage-collectible heap指的是什么,它是怎么工作的?_百度...
garbage-collectible -- 垃圾回收。java里面有自动的垃圾回收机制,这个是java在需要回收垃圾的时候自动调用的,不能手动调用。虽然有gc()这个方法可以使用,但是即使你在代码里用了这个方法,也不是立即就回收垃圾,而是由java虚拟机来决定恰当的时候再回收。

GC是什么?什么是GC?
计算机术语,指Garbage Collection;网络用语,支持的意思;网络域中的GC,就是“全局目录”Global Catalog;科研用语,即Gas Chromatography(气相色谱法)。GC(Grid Communication)网格通信 GC(Garbage Collection):JAVA\/.NET中的垃圾回收器。

强制gc是什么
Java有了GC,就不需要程序员去人工释放内存空间。当Java虚拟机发觉内存资源紧张的时候,就会自动地去清理无用变量所占用的内存空间。当然,如果需要,程序员可以在Java程序中显式地使用System.gc()来强制进行一次立即的内存清理。内存再大也是有限的,所以当程序不再需要使用某个变量的时候,就需要释放这个...

相似回答