问题:什么是Stop-the-World?

  1、JVM由于要执行GC而停止了应用程序的执行

  2、任何一种GC算法中都会发生

  3、多数GC优化通过减少Stop-the-world发生的时间来提高程序的性能(高吞吐,低停顿的效果)

问题:什么是垃圾收集器中的Safepoint ?

----》1、分析过程中对象引用关系不会发生变化的点

2、产生Safepoint的地方:地方调用,循环跳转,异常跳转

3、安全点数量的适中(太少,让收集器等待太久,少多,消耗资源)

问题:请问JVM的运行模式?

----》

1、Server模式,启动慢,重量级虚拟机

2、Client模式,启动快,轻量级虚拟机

问题;怎样查询当前虚拟机的运行模式是什么呢?

----》 java -version

C:\Users\Administrator>java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

  

问题:垃圾收集器之间的联系?

----》不同公司会做不同版本的虚拟机,去针对不同的场景。下图是垃圾收集器之间的联系图。

如果有连线的,就说明可以配合使用。

Serial收集器(-XX: + UseSerialGC , 复制算法,历史最久的算法)

---》

1、单线程收集,进行垃圾收集时,必须暂停所有工作线程(不用担心,停顿时间最多是一百多毫秒,如果不是频繁发生,完全可以接受)

2、简单高效、Client模式下默认的年轻代收集器

ParNew收集器(-XX: + UseParNewGC , 复制算法,在server模式下,ParNew收集器是非常重要的)

---》

1、多线程收集,其余的行为,特点和Serial 收集器一样

2、单核执行效率不如Serial ,在多核下执行才有优势

Parallel Scavenge收集器 拍了佬猪 死敢喔猪(-XX: +UseParallelGC,复制算法,和ParNew差不多,多线程,适合后端运行,不需要太多交互)

  吞吐量 = 运行用户代码时间 / (运行用户代码时间+垃圾收集时间)

  1、比起关注用户线程停顿时间,更关注系统的吞吐量

  2、在多核下执行才有优势,Server模式下默认的年轻代收集器

使用Parllel Scvenge收集器配合自适应策略,以及在启动策略中加入 -XX:+UseAdaptiveSizePolicy

会把内存调优任务交给虚拟机完成

Java垃圾回收之新生代垃圾收集器的更多相关文章

  1. JVM(十),垃圾回收之新生代垃圾收集器

    十.垃圾回收之新生代垃圾收集器 1.JVM的运行模式 2.Serial收集器(复制算法-单线程-Client模式) 2.ParNew收集器(复制算法-多线程-Client模式) 3.Parallel ...

  2. java垃圾回收算法和垃圾收集器

    垃圾收集算法.垃圾回收算法.java垃圾收集器 目录1. 垃圾收集算法1)引用计数法2)根搜索法2. 垃圾回收算法1)复制算法2)标记-清除算法3)标记-整理算法4)分代收集算法3. java垃圾收集 ...

  3. 3-JVM垃圾回收算法和垃圾收集器

    垃圾回收算法和垃圾收集器 1.什么是垃圾回收 对于内存当中无用的对象进行回收,如何去判断一个对象是不是无用的对象. 引用计数法: 每个对象中都会存储一个引用计数,每增加一个引用就+1,消失一个引用就- ...

  4. Java虚拟机四:垃圾回收算法与垃圾收集器

    在Java运行时的几个数据区域中,程序计数器,虚拟机栈,本地方法栈3个区域随着线程而生,随线程而灭,因此这几个区域的内存分配和回收具有确定性,不需要过多考虑垃圾回收问题,因为方法结束或者线程结束时,内 ...

  5. 《深入理解java虚拟机》笔记(5)垃圾回收算法及垃圾收集器

    一.标记-清除算法 算法:分为标记和清除两个阶段,首先标记出所有需要回收的对象,再对标记对象进行回收. 不足之处:效率不高,会产生大量不连续内存碎片,导致下次分配较大内存时,若内存不足不得不触发垃圾回 ...

  6. JVM垃圾回收算法 及 垃圾收集器

    摘自<深入理解Java虚拟机> 一.什么是: GC算法是 方法论,那么垃圾收集器就是具体的 实现. 二.四种 垃圾回收算法 1.标记-清除算法:最基础的收集算法:不足有两点:1标记和清除两 ...

  7. JVM虚拟机-垃圾回收机制与垃圾收集器概述

    目录 前言 什么是垃圾回收 垃圾回收的区域 垃圾回收机制 流程 怎么判断对象已经死亡 引用计数法 可达性分析算法 不可达的对象并非一定会回收 关于引用 强引用(StrongReference) 软引用 ...

  8. 6.GC垃圾回收算法和垃圾收集器的关系

    JAVAGC垃圾回收机制和常见垃圾回收算法 推荐博客:JVM垃圾回收机制和常见垃圾回收算法 JVM的内存结构.垃圾回收算法

  9. [JVM-3]Java垃圾回收(GC)机制和垃圾收集器选择

    哪些内存需要回收? 1.引用计数法 这个算法的实现是,给对象中添加一个引用计数器,每当一个地方引用这个对象时,计数器值+1:当引用失效时,计数器值-1.任何时刻计数值为0的对象就是不可能再被使用的.这 ...

随机推荐

  1. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理

    源码的github的地址 https://github.com/solenovex/ASP.NET-Core-MVC-Tutorial-Code 语雀上的人的地址: https://github.co ...

  2. nginx部署h5项目

    1. nginx部署h5项目 此为windows部署,liunx也类似的 1.1. 前言 部署h5项目还是很简单的,不过对小白来讲一开始可能也是一脸懵逼,这个简单教程针对的是从未部署过前后端分离前端项 ...

  3. PJzhang:lijiejie的敏感目录爆破工具BBScan

    猫宁!!! 参考链接: https://www.freebuf.com/sectool/85729.html https://segmentfault.com/a/1190000014539449 这 ...

  4. Android课程设计第三天帧动画区间动画

    注意:课程设计只为完成任务,不做细节描述~ 点火是帧动画,发射是区间动画,于是 <?xml version="1.0" encoding="utf-8"? ...

  5. 洛谷 P3400 仓鼠窝

    卡常 #pragma GCC optimize(2) #include<cstdio> #include<algorithm> #include<cstring> ...

  6. AIDL(1):简介

    Android 接口定义语言 (AIDL) 1.AIDL是什么 AIDL(Android 接口定义语言)与您可能使用过的其他 IDL 类似. 您可以利用它定义客户端与服务使用进程间通信 (IPC) 进 ...

  7. C. Memory and De-Evolution 逆向思维

    http://codeforces.com/contest/712/problem/C 要使得把三角形由边长n变成m,等价于由m变成n 如果是从n变成m,则很难判断每次判断变成多少.比如22的变成4, ...

  8. SOLRJ单机-添加文档,删除,查询操作

    单机solrJ不需要占用太多的服务器和资源,本机使用solr-6.3.0,也不需要配置tomcat. 一.新建一个java工程需要依赖的jar包如下: solr-solrj-6.3.0.jar;  c ...

  9. android开发学习 ------- MongoDB数据库简单理解

    首先说一下MongoDB是什么? MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. MongoDB 是一个基于分布式文件存储的数据库. N ...

  10. A8ERP管理系统(采购单管理)

    花了一个星期的时间终于把采购模块完成了. 最近新开发的采购单管理,供大家参考学习,软件一步一步来.