站长素材音效网长春有哪些网络设计公司
web/
2025/9/28 9:51:57/
文章来源:
站长素材音效网,长春有哪些网络设计公司,做网页推广有哪些公司,百度竞价推广什么意思1.什么是垃圾回收#xff1f;垃圾回收(Garbage Collection)是Java虚拟机(JVM)垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象占据的内存空间的一种机制。2.什么时候垃圾回收#xff1f;System.gc()Runtime.getRuntime().gc()上面的方法调用时用于显式通知…1.什么是垃圾回收垃圾回收(Garbage Collection)是Java虚拟机(JVM)垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象占据的内存空间的一种机制。2.什么时候垃圾回收System.gc()Runtime.getRuntime().gc()上面的方法调用时用于显式通知JVM可以进行一次垃圾回收但真正垃圾回收机制具体在什么时间点开始发生动作这同样是不可预料的这和抢占式的线程在发生作用时的原理一样。3.垃圾回收 回收的是什么垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身。换言之垃圾回收只会负责释放那些对象占有的内存。对象是个抽象的词包括引用和其占据的内存空间。当对象没有任何引用时其占据的内存空间随即被收回备用此时对象也就被销毁。但不能说是回收对象可以理解为一种文字游戏。4.垃圾回收 回收什么对象从gc root搜索不到而且经过第一次标记、清理后仍然没有复活的对象。5.垃圾回收器将某些特殊的对象定义为GC根对象。所谓的GC根对象包括1.虚拟机栈中引用的对象(栈帧中的本地变量表)2.方法区中的常量引用的对象3.方法区中的类静态属性引用的对象4.本地方法栈中JNI(Native方法)的引用对象。5.活跃线程接下来垃圾回收器会对内存中的整个对象图进行遍历它先从GC根对象开始然后是根对象引用的其它对象比如实例变量。回收器将访问到的所有对象都标记为存活。当标记阶段完成了之后所有的存活对象都已经被标记完了。其它的那些(上图中灰色的那些)也就是GC根对象不可达的对象也就是说你的应用不会再用到它们了。这些就是垃圾对象回收器将会在接下来的阶段中清除它们。6.GC 回收机制新生代GC(Minor GC/Scavenge GC)发生在新生代的垃圾收集动作。因为Java对象大多都具有朝生夕灭的特性因此Minor GC非常频繁(不一定等Eden区满了才触发)一般回收速度也比较快。在新生代中每次垃圾收集时都会发现有大量对象死去只有少量存活因此可选用复制算法来完成收集。老年代GC(Major GC/Full GC)发生在老年代的垃圾回收动作。Major GC经常会伴随至少一次Minor GC。由于老年代中的对象生命周期比较长因此Major GC并不频繁一般都是等待老年代满了后才进行Full GC而且其速度一般会比Minor GC慢10倍以上。另外如果分配了Direct Memory在老年代中进行Full GC时会顺便清理掉Direct Memory中的废弃对象。而老年代中因为对象存活率高、没有额外空间对它进行分配担保就必须使用标记—清除算法或标记—整理算法来进行回收。新生代采用空闲指针的方式来控制GC触发指针保持最后一个分配的对象在新生代区间的位置当有新的对象要分配内存时用于检查空间是否足够不够就触发GC。当连续分配对象时对象会逐渐从Eden到Survivor最后到老年代。7.引用类型对象引用类型分为强引用、软引用、弱引用和虚引用强引用就是我们一般声明对象时虚拟机生成的引用强引用环境下垃圾回收时需要严格判断当前对象是否被强引用如果被强引用则不会被垃圾回收。软引用软引用一般被作为缓存来使用。与强引用的区别是软引用在垃圾回收时虚拟机会根据当前系统的剩余内存来决定是否对软引用进行回收。如果剩余内存比较紧张则虚拟机会回收软引用所引用的空间如果剩余内存相对富裕则不会进行回收。换句话说虚拟机在发生OutOfMemory时肯定是没有软引用存在的。弱引用弱引用与软引用类似都是作为缓存来使用。但与软引用不同弱引用在进行垃圾回收时是一定会被回收掉的因此其生命周期只存在于一个垃圾回收周期内。强引用不用说我们系统一般在使用时都是用的强引用。而“软引用”和“弱引用”比较少见。他们一般被作为缓存使用而且一般是在内存比较受限的情况下作为缓存。因为如果内存足够大的话可以直接使用强引用作为缓存即可同时可控性更高。因而他们常见的是被使用在桌面应用系统的缓存。虚引用顾名思义就是形同虚设与其他几种引用都不同虚引用并不会决定对象的生命周期。如果一个对象仅持有虚引用那么它就和没有任何引用一样在任何时候都可能被垃圾回收器回收。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83269.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!