猿问
下载APP

请问cms垃圾回收算法在gc过程中哪几个阶段会暂停?

cms垃圾回收算法在gc过程中哪几个阶段会暂停


慕盖茨9453107
浏览 51回答 4
4回答

侃侃尔雅

System.gc是专门回收不用的对象的语法,当然你也可以自己写函数来finalization()你的程序。一般JVM会根据虚拟内存占用率来自动调用gc(garbagecollector),有时候即便你调用gc如果内存占用不多回收处理工作也不会调用的,毕竟调用一次也要占用资源。 

沧海一幻觉

Java中垃圾回收的目的及进行垃圾回收的时间是:垃圾回收目的是通过引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,编写程序的时候不再需要考虑内存管理也可以有效的防止内存泄露,有效的使用空闲的内存。垃圾回收器的运行时间是不确定的,由JVM决定,在运行时是间歇执行的。java垃圾回收和360清理内存的区别是:JAVA垃圾回收是你在虚拟内存中创建了很多实例,这些都是占内存的,只是你平时是看不见得,那么久而久之,不做清理的话,内存一定会越占越多,那怎么办呢,所有Sun公司也考虑到这个问题了,它设置了一个自动清理虚拟内存的时间,比如,你一些代码,很久没用过了,过多久多久后,它就会在虚拟内存中自动清除掉,这里,是只针对JAVA360清理内存是针对你电脑里面的物理内存,比如一些垃圾软件,报表等等一些进行清理,让你的电脑更加快捷,毕竟,你就算上个网页什么的也会有一些链接或者报表留存到电脑中,而360清理的就是这些。

慕盖茨4494581

垃圾回收就是gc(gabage collection)。java比c++的优点就是多了垃圾回收机制,程序员不用去关心垃圾的回收,系统会自动调用去回收内存。一般我们想回收的时候只需要调用system.gc方法就可以了。系统会自己去调用destroy方法和其他的回收方法释放内存,节省内存空间。垃圾回收目的:Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。

明月笑刀无情

比如你运行一个程序,是不是要先把程序代码放到内存里执行?执行完了,这段代码就会一直存在内存中,占用了内存的使用空间,如果是C语言的话,是要程序员在设计程序的时候用一个垃圾回收的指令把这段程序代码从内存中清理掉,但是java的话,程序员是不用再编写一个清理程序代码垃圾回收的语句的,而是由java的虚拟机垃圾回收机制自动执行,就是说,每隔一段时间java虚拟机会自动检测内存中是否存在没用的程序代码在占用内存,如果是的话就会把这些没用的或者使用过的内存中的代码清理掉,一般是说回收了垃圾所以说java程序有时候会觉得比较占内存的原因也是这个,不过因为java虚拟机有这个回收垃圾的机制,方便了程序员编写代码
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答