课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 来看看GC的一些通用概念
  • 来看看GC的一些通用概念

    发布:昆明Java培训      来源:zqhxuyuan      时间:2016-07-30

  • 学习Java的人都知道,GC是比较重要的一个部分。其中关于GC的一些通用概念你是否了解呢?现在就让达内Java培训的小编给大家详解一下这些通用概念吧。

    垃圾:Garbage(名词),在系统运行过程当中所产生的一些无用的对象,这些对象占据着一定的内存空间,如果长期不被释放,可能导致OOM。

    垃圾收集器:Garbage Collector(名词),负责回收垃圾对象的垃圾收集器

    垃圾回收:Garbage Collect(动词),垃圾收集器工作时,对垃圾进行回收

    垃圾回收算法/GC算法:不同的GC算法,它们的垃圾回收工作模式不同(比如串行、并行等)

    GC通用概念

    这几种算法中存活对象没有移动的算法只有:标记-清除算法。复制算法会将存活对象移动到另一块内存区,标记整理算法会将存活对象移动到边界位置。

    在GC过程中,如果GC线程必须暂停应用程序线程(用户线程),则发生Stop the World。当然也可以允许GC线程和应用程序线程一起运行,即GC并不会暂停应用程序的线程。

    串行、并行、并发:串行和并行指的是垃圾收集器工作时暂停应用程序(发生Stop the World),使用单核CPU(串行)还是多核CPU(并行)。

    串行(Serial):使用单核CPU串行地进行垃圾收集;

    并行(Parallel):使用多CPU并行地进行垃圾收集,并行是GC线程有多个,但在运行GC线程时,用户线程是阻塞的;

    并发(Concurrent):垃圾收集时不会暂停应用程序线程,大部分阶段用户线程和GC线程都在运行,我们称垃圾收集器和应用程序是并发运行的。

    在Java中有并发编程的概念,并发编程中有多线程的概念。通常并发指的是不同类型的线程可以同时运行(比如GC线程和用户线程并发地运行),而并行指的是相同类型的线程采用多线程模式运行(比如GC线程使用多个CPU并行地运 行)。

    GC暂停/Stop The World/STW:不管选择哪种GC算法,Stop-the-world都是不可避免的。Stop-the-world意味着从应用中停下来并进入到GC执行过程中去。一旦Stop-the-world发生,除了GC所需的线程外,其他线程都将停止工作,中断了的线程直到GC任务 结束才继续它们的任务。GC调优通常就是为了改善stop-the-world的时间(尽量减少STW对应用程序造成的暂停时间)。

    这些GC的通用概念你现在都明白了吗?如果你对于Java的学习还有不懂的地方,可以和我们达内Java培训的老师进行交流。或者你也可以参加我们的免费试听课程,更多详情欢迎联系我们达内Java培训的咨询老师。

    推荐文章

上一篇:Win 10离10亿目标还有多远

下一篇:如何用CSS实现居中

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56