首页
学习
活动
专区
工具
TVP
发布

JVMGC

专栏作者
475
文章
314739
阅读量
34
订阅数
灵活可配置的开源监控平台,监控应用程序、服务器,数据库和网络
https://49.234.23.142/phoenix-ui/index 账号:guest 密码:guest123 注意:演示项目只提供非管理员账号,只有查看权限!
开源日记
2023-03-10
2.3K0
2.5K Star一个针对高并发,低延迟应用设计的高性能 Java 性能监控和统计工具
MyPerf4J 采用 JavaAgent 配置方式,透明化接入应用,对应用代码完全没有侵入。
开源日记
2023-03-10
3290
Java中J.U.C扩展组件之ForkJoinTask和ForkJoinPool
Fork/Join框架中两个核心类ForkJoinTask与ForkJoinPool,声明ForkJoinTask后,将其加入ForkJoinPool中,并返回一个Future对象。 ForkJoinPool:ForkJoinTask需要通过ForkJoinPool来执行,任务分割的子任务会添加到当前工作维护的双端队列中,进入队列的头部。当一个工作线程的队列里暂时没有任务时,它会随机从其它工作线程的队列尾部获取一个任务。 ForkJoinTask:我们需要使用ForkJoin框架,首先要创建一个ForkJo
开源日记
2021-02-09
5050
JVM中8种垃圾收集器小结
2011-07-28 发布,这是 sun 被 oracle 收购(2009 年 4 月)后的第一个版本,主要更新内容:
开源日记
2020-12-30
7190
总结G1垃圾收集器面试题
介绍一下G1垃圾收集器 G1收集器伴随JAVA9于2017-9-21发布,G1收集器兼顾低延迟和高吞吐在服务端运行,HotSpot团队期望取代CMS收集器。也就是在满足停顿时间的情况下获取最大的吞度量。有两种收集模式Young GC和Mixed GC。G1收集器将堆内存划分成大小相等的Region,新生代,老年代也就成了逻辑概念。整体上采用的是标记-整理算法,局部采用了复制算法。 G1是jdk1.9的默认垃圾收集器,-XX:+UseG1GC开启 G1收集器Region的类型 新生代 老年代 未使用 大对象区
开源日记
2020-12-29
7870
总结CMS常见面试题
谈谈对CMS的认知? CMS(concurrent mark sweep)在jdk1.5中已经开始使用了,2004年9月30日,JDK1.5发布。CMS设计的目标就是获取最低停顿时间(stop the world停顿时间),它是基于标记-清除算法实现的。常用的场景是互联网网站(对服务响应要求较高),它是一个老年代垃圾收集器,可以和Serial收集器,Parallel New收集器配合使用。当并行模式(concurrent mode failure)失败时CMS会退化成Serial Old. CMS收集器的工
开源日记
2020-12-28
7500
什么是GC Roots
可达性算法中以GC Root对象为起点开始搜索。 [img] 什么是GC Root对象 虚拟机栈中引用的对象 public class Rumenz{ public static void main(String[] args) { Rumenz a = new Rumenz(); a = null; } } a是栈帧中的本地变量,a就是GC Root,由于a=null,a与new Rumenz()对象断开了链接,所以对象会被回收。 方法区类的静态成员引用的对象
开源日记
2020-12-26
6480
CMS收集器中两个致命的问题
CMS是一个很好的并发垃圾收集器,但是使用过程中会产生两个重要的问题。 promotion failed 晋升失败 concurrent mode failure 收集器无法处理浮动垃圾 promotion failed 晋升失败原因 该问题发生在Minor GC过程中,Survivor Space放不下转移的对象,老年代也放不下(promotion failed发生的时候老年代CMS还没有机会进行回收,又放不下转移到老年代的对象,下一步就会产生concurrent mode fialure,发生STW降级
开源日记
2020-12-24
1.3K0
Java-Parallel GC介绍
http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/rev/24cae3e4cbaa
开源日记
2020-12-23
2K0
jstack查看某个进程堆栈信息
jstack主要用来查看某个进程内线程的堆栈信息 一个死锁的模拟代码 package test; import java.util.concurrent.Executor; import java.util.concurrent.Executors; /** * @className: test * @description: TODO 类描述 * @author: mac * @date: 2020/12/3 **/ public class test { public static
开源日记
2020-12-10
3K0
jmap查询JVM堆内存
jmap命令可以获取运行中的jvm的快照,从而离线分析,检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中最多的对象,各种对象所占用的内存大小.可以使用jmap生成Heap Dump. 什么是堆Dump 堆Dump是反应Java堆使用情况的内存镜像,其中主要包含系统信息,虚拟机属性,完整的线程Dump,所有类和对象的状态等。一般,在内存不足,GC异常等情况下,我们就会怀疑内存泄漏,这个时候就可以制作堆(Dump)来查询具体情况。 常见的内存错误 > outOfMemoryError 年老代内存不足
开源日记
2020-12-09
1.9K0
jstat查看JVM的GC情况
jstat可以查看堆各部分的使用量,以及类加载的数量 jstat所有的参数 > jstat -options jstat -class pid # 显示ClassLoad相关信息 jstat -compiler pid # 显示JIT编译的相关信息 jstat -gc pid # 显示和gc相关的堆信息 jstat -gccapacity pid # 显示各个代的容量以及使用情况 jstat -gccause pid
开源日记
2020-12-08
1.9K0
查看JVM运行参数jinfo命令
jinfo 是 JDK 自带的命令,可以用来查看正在运行的 java 应用程序的扩展参数,包括Java System属性和JVM命令行参数;也可以动态的修改正在运行的 JVM 一些参数。当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息 查看jvm所有参数默认值 > java -XX:+PrintFlagsInitial -version 查看jvm所有的参数 > java -XX:+PrintFlagsFinal -version 查看当前JVM运行的参数 用法: > ji
开源日记
2020-12-08
5.1K0
ZGC介绍
什么是ZGC ZGC收集器(Z Garbage Collector)由Oracle公司研发.2018年提交了JEP 333将ZGC提交给了OpenJDK,推动进入OpenJDK11的发布清单中。ZGC收集器是基于Region内存布局,暂时不设分代,使用读屏障,着色指针和内存多重映射等技术来实现并发的标记整理算法,以低延迟为目标的一款收集器。 目标 在对吞吐量影响不大的情况下,对任意大小堆收集停顿时间都控制在10ms以内的低延迟。 ZGC堆内存布局 与G1一样,ZGC也采用基于Region的堆内存布局 ZGC
开源日记
2020-12-07
1.6K0
G1垃圾收集器
youngGC时,GC Root主要是两类,栈空间和老年代到新生代区分的引用(2,3)关系。
开源日记
2020-12-07
6260
JVM老年代垃圾收集器Serial Old和Parallel Old
根据老年代的特点,有人设计了标记-整理(Mark Compact)算法,标记过程和标记-清除算法一样,但是后续步骤不是直接对可回收对象进行清理,而是让存活对象向一端移动,然后清除掉边界以外的内存,如下图所示。
开源日记
2020-12-06
1.2K0
CMS垃圾收集器
CMS垃圾收集器收集详细步骤 初始标记(Stop the world) 并发标记 预清理 可被终止的预清理 重新标记(Stop the world) 并发清除 并发重置 初始标记 标记GcRoots直接可达老年对象,新生代存活对象引用的老年代对象.整个过程在JDK1.7中是单线程的在JDK1.8中是多线程的(通过CMSParallelInitialMarkEnabled参数调整)。这个过程会导致STW。 [初始标记标记的对象] 并发标记 从初始标记阶段标记过的对象开始,标记其它存活对象,这个阶段垃圾回收线程
开源日记
2020-12-05
2630
常用新生代垃圾收集器
Serial是单线程垃圾回收器,当需要执行垃圾回收时,程序会暂停一切工作,然后单线程执行垃圾回收.
开源日记
2020-12-05
6630
JVM垃圾回收算法标记清除和复制算法
程序运行时堆中对象的状态(默认为0未标记,1为标记过),假如堆内存的可用空间被消耗完,那么GC线程就会启动,停止掉应用程序,使用根可达性算法进行搜索标记.
开源日记
2020-12-03
6250
JVM判断对象是否存活
-XX:-UseAdaptiveSizePolicy 禁用动态调整,使SurvivorRatio可以起作用
开源日记
2020-12-03
6360
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档