`
endual
  • 浏览: 3514296 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

2.几种垃圾回收机制

    博客分类:
  • jvm
 
阅读更多

2.几种垃圾回收机制

2.1.标记-清除收集器

  这种收集器首先遍历对象图并标记可到达的对象,然后扫描堆栈以寻找未标记对象并释放它们的内存。这种收集器一般使用单线程工作并停止其他操作。

2.2.标记-压缩收集器
  有时也叫标记-清除-压缩收集器,与标记-清除收集器有相同的标记阶段。在第二阶段,则把标记对象复制到堆栈的新域中以便压缩堆栈。这种收集器也停止其他操作。

2.3.复制收集器
  这种收集器将堆栈分为两个域,常称为半空间。每次仅使用一半的空间,jvm生成的新对象则放在另一半空间中。gc运行时,它把可到达对象复制到另一半空间,从而压缩了堆栈。这种方法适用于短生存期的对象,持续复制长生存期的对象则导致效率降低。

2.4.增量收集器
  增量收集器把堆栈分为多个域,每次仅从一个域收集垃圾。这会造成较小的应用程序中断。

2.5.分代收集器
  这种收集器把堆栈分为两个或多个域,用以存放不同寿命的对象。jvm生成的新对象一般放在其中的某个域中。过一段时间,继续存在的对象将获得使用期并转入更长寿命的域中。分代收集器对不同的域使用不同的算法以优化性能。

2.6.并发收集器
  并发收集器与应用程序同时运行。这些收集器在某点上(比如压缩时)一般都不得不停止其他操作以完成特定的任务,但是因为其他应用程序可进行其他的后台操作,所以中断其他处理的实际时间大大降低。

2.7.并行收集器
  并行收集器使用某种传统的算法并使用多线程并行的执行它们的工作。在多cpu机器上使用多线程技术可以显著的提高java应用程序的可扩展性。

分享到:
评论

相关推荐

    【JavaScript源代码】一文带你了解JavaScript垃圾回收机制.docx

    一文带你了解JavaScript垃圾回收机制  目录 1. 概述 2. 内存管理 3. 垃圾回收 4. GC算法介绍 5. 引用计数算法 1. 引用计数优缺点 6. 标记清除算法 1. 标记清除算法优缺点 7. 标记整理算法 8. 执行时机 9. V8引擎 1...

    resin-jvm 调优

    2.几种垃圾回收机制 2.1.标记-清除收集器 这种收集器首先遍历对象图并标记可到达的对象,然后扫描堆栈以寻找未标记对象并释放它们的内存。这种收集器一般使用单线程工作并停止其他操作。 2.2.标记-压缩收集器 ...

    Java 面试宝典

    8、用最有效率的方法算出 2 乘以 8 等於几? ............................................................. 10 9、请设计一个一百亿的计算器 ....................................................................

    java面试八股文.pdf

    在准备Java面试时,理解核心概念和熟悉Java的"八股文"是非常...6. Java的垃圾回收机制是怎样的? 7. 什么是类加载器(ClassLoader)?有哪几种类型? 8. 解释Java中的继承和接口。 9. 访问修饰符public、private、pro

    c#如何用好垃圾回收机制GC

    应用程序对资源(内存使用)管理的方式,常见的一般有如下几种: 1、手动管理:C,C++ 2、计数管理:COM 3、自动管理:.NET,Java,PHP,GO… 但是,手动管理和计数管理的复杂性很容易产生以下典型问题: 1.程序员忘记去...

    JAVA 综合面试题.doc

    4. JAVA的事件委托机制和垃圾回收机制 ............................................................. 10 5. 在JAVA中,如何跳出当前的多重嵌套循环? ................................................. 10 ...

    Java垃圾回收算法的简易模拟实现.zip

    Java是一种高性能、跨平台的面向...自动内存管理(垃圾回收): Java具有自动内存管理机制,通过垃圾回收器自动回收不再使用的对象,使得开发者不需要手动管理内存,减轻了程序员的负担,同时也减少了内存泄漏的风险。

    计算机Java、网络面试资料

    Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念...

    java 程序设计 期中考试.doc

    3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象. ( × ) 4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void. ( × ) 5.在异常处理中,若try中的代码可能产生多种...

    Python-高频-面试-知识点

    个人收集的一些关于Python的相关面试知识点和题目,包含问答题...18.垃圾回收机制? 7 19. +和join的区别? 7 20.为什么要使用Lambda函数?怎么使用? 7 21.协程的理解?怎么使用? 7 22.谈下python的GIL? 7 23. ......

    2017史上最全Java面试大全.doc

    8. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 25 9.一个页面在打开时,需要处理一些事情(比如弹出一个广告页),需要定义窗口的什么事件? 25 10. 描述forward 和redirect的区别 25 11.垃圾回收...

    java面试笔试资料包括JAVA基础核心知识点深度学习Spring面试题等资料合集.zip

    深入理解JVM垃圾回收机制.docx 深入理解多线程实现的另一种方式Callable.docx 红黑树简介.docx 线程死锁及解决办法.docx 线程锁之重入锁.docx 线程间的通信.docx 虚拟机内存结构和垃圾回收docx.docx 锁分类的了解....

    深入了解 JVM 虚拟机(超详细入门攻略)

    7. 简述 Java 垃圾回收机制8. 简述 Java 类加载机制9. 类加载器双亲委派模型机制10. 什么是类加载器,类加载器有哪些?11. 简述 java 内存分配与回收策率以及 Minor GC 和Major GC 1. 内存模型以及分区 JVM 分为堆区...

    java面试题

    63.2. 几种垃圾回收机制 43 63.2.1. 标记-清除收集器 43 63.2.2. 标记-压缩收集器 43 63.2.3. 复制收集器 44 63.2.4. 增量收集器 44 63.2.5. 分代收集器 44 63.2.6. 并发收集器 44 63.2.7. 并行收集器 44 63.3. ...

    前端Javascript相关面试基础问答整理md

    从“原始值和引用值类型及区别”到“EventLoop事件循环&宏任务和微任务 ”,整理了Javascript学习和面试中遇到的一些基础和常见的问题。 总共包含33个问答,...17. 垃圾回收 18.JS中的String和Math方法 ······

    JAVA面试题集合面试技能大全

    Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的...

    阿里巴巴,天猫,支付宝面试题

    9. java内存模型,垃圾回收机制,不可达算法 10. 两个Integer的引用对象传给一个swap方法在方法内部交换引用,返回后,两个引用的值是否会发现变化 11. aop的底层实现,动态代理是如何动态,假如有100个对象,如何...

    关于Java垃圾回收开销降低的几条建议

    垃圾回收(Garbage Collection)是Java虚拟机(JVM)垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象占据的内存空间的一种机制,下面这篇文章主要介绍了关于Java垃圾回收开销降低的几条建议,需要的...

Global site tag (gtag.js) - Google Analytics