Java垃圾回收之新生代垃圾收集器
问题:什么是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垃圾回收之新生代垃圾收集器的更多相关文章
- JVM(十),垃圾回收之新生代垃圾收集器
十.垃圾回收之新生代垃圾收集器 1.JVM的运行模式 2.Serial收集器(复制算法-单线程-Client模式) 2.ParNew收集器(复制算法-多线程-Client模式) 3.Parallel ...
- java垃圾回收算法和垃圾收集器
垃圾收集算法.垃圾回收算法.java垃圾收集器 目录1. 垃圾收集算法1)引用计数法2)根搜索法2. 垃圾回收算法1)复制算法2)标记-清除算法3)标记-整理算法4)分代收集算法3. java垃圾收集 ...
- 3-JVM垃圾回收算法和垃圾收集器
垃圾回收算法和垃圾收集器 1.什么是垃圾回收 对于内存当中无用的对象进行回收,如何去判断一个对象是不是无用的对象. 引用计数法: 每个对象中都会存储一个引用计数,每增加一个引用就+1,消失一个引用就- ...
- Java虚拟机四:垃圾回收算法与垃圾收集器
在Java运行时的几个数据区域中,程序计数器,虚拟机栈,本地方法栈3个区域随着线程而生,随线程而灭,因此这几个区域的内存分配和回收具有确定性,不需要过多考虑垃圾回收问题,因为方法结束或者线程结束时,内 ...
- 《深入理解java虚拟机》笔记(5)垃圾回收算法及垃圾收集器
一.标记-清除算法 算法:分为标记和清除两个阶段,首先标记出所有需要回收的对象,再对标记对象进行回收. 不足之处:效率不高,会产生大量不连续内存碎片,导致下次分配较大内存时,若内存不足不得不触发垃圾回 ...
- JVM垃圾回收算法 及 垃圾收集器
摘自<深入理解Java虚拟机> 一.什么是: GC算法是 方法论,那么垃圾收集器就是具体的 实现. 二.四种 垃圾回收算法 1.标记-清除算法:最基础的收集算法:不足有两点:1标记和清除两 ...
- JVM虚拟机-垃圾回收机制与垃圾收集器概述
目录 前言 什么是垃圾回收 垃圾回收的区域 垃圾回收机制 流程 怎么判断对象已经死亡 引用计数法 可达性分析算法 不可达的对象并非一定会回收 关于引用 强引用(StrongReference) 软引用 ...
- 6.GC垃圾回收算法和垃圾收集器的关系
JAVAGC垃圾回收机制和常见垃圾回收算法 推荐博客:JVM垃圾回收机制和常见垃圾回收算法 JVM的内存结构.垃圾回收算法
- [JVM-3]Java垃圾回收(GC)机制和垃圾收集器选择
哪些内存需要回收? 1.引用计数法 这个算法的实现是,给对象中添加一个引用计数器,每当一个地方引用这个对象时,计数器值+1:当引用失效时,计数器值-1.任何时刻计数值为0的对象就是不可能再被使用的.这 ...
随机推荐
- 2.28 MapReduce在实际应用中常见的优化
一.优化的点 Reduce Task Number Map Task输出压缩 Shuffle Phase 参数 map.reduce分配的虚拟CPU 二.Reduce Task Number Redu ...
- 让ubuntu16.04开机进入命令行模式
使用Ubuntu时,有时候我们不想开机进入桌面,想直接进入命令行,这样启动的比较快, 1.首先我们修改grub文件,改为如图所示: sudo gedit /etc/default/grub 改完之后 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时8&&9
课时8 反向传播与神经网络初步(上) 反向传播在运算连路中,这是一种通过链式法则来进行递推的计算过程,这个链路中的每一个中间变量都会对最终的损失函数产生影响. 链式法则通常包含两部分,局部梯度和后一层 ...
- SCUT - 244 - 全新的游戏 - 凸包
https://scut.online/p/244 除了常规的求凸包求面积,还有一个判断点在凸包内,先找出点所在的三角扇区. #include<bits/stdc++.h> using n ...
- c# KeyDown KeyPress 函数中event 的 Handled属性
很奇怪的 KeyDown中的 Handled.true 只能使 Keys.Back 这类失效, 如果要使比如数字失效,必须设置一个变量 _bHandled = true 然后在紧接着会触发的 KeyP ...
- poj 3294 Life Forms【SA+二分】
先加入未出现字符间隔把n个串连起来,注意如果串开的char这个间隔字符不能溢出,把这个接起来的串跑SA,二分答案k,判断的时候把连续一段he>=k的分成一组,然后看着一段是否包含了>n/2 ...
- 模拟 Codeforces Round #297 (Div. 2) A. Vitaliy and Pie
题目传送门 /* 模拟:这就是一道模拟水题,看到标签是贪心,还以为错了呢 题目倒是很长:) */ #include <cstdio> #include <algorithm> ...
- 常见的问题:https://localhost:1158/em 无法打开
常见的问题:https://localhost:1158/em 无法打开 安装了Oracle Database 11g,里面有个基于网页的管理工具“https://localhost:1158/em” ...
- windows clone 迁移数据库
windows clone 迁移数据库可行.(c 盘底成复制)
- 单机版solr6.3和分布式solr6.3的安装部署
一.单机版的solr部署 我的是在windows下安装的,linux同理 1. 安装JDK8,并配置好环境变量,一般我们经常开发的电脑上应该都有JDk了,所以这一步可以忽略. 2. 解压solr6.3 ...