JVM
文章平均质量分 88
专注Java虚拟机的技术探索
Maoway稻草人
拒绝任何借口。
展开
-
【JVM】Alibaba又一强大的开源工具——JVM内存诊断工具Arthas初探
Arthas介绍什么时候可以用Arthas安装使用常见命令WebConsoleArthas介绍Arthas 是Alibaba开源的Java诊断工具,支持JDK 6+,支持Linux/Mac/Winodws,最初是在2018年9月开源的,现在比较火;我们在线上的程序遇到问题,而在线下有很难重现的时候,就会非常麻烦,可能使用jmap,jsta...原创 2020-01-25 09:00:00 · 3816 阅读 · 0 评论 -
【JVM】Java自带的性能监控与问题解决工具总结
概述JPSJMAP(Memory Map for Java)Jstack (Stack Trace for Java)Jinfo(Configuration Info for Java)Jstat(JVM Statistics Monitoring Tool)总结概述在工作过程中,可能经常会遇到线上的业务系统出现问题需要去解决;例如,...原创 2018-07-22 20:38:00 · 3665 阅读 · 0 评论 -
【JVM】垃圾收集器-ZGC特性介绍(基于官方PPT)
概述ZGC的目标ZGC的特性ZGC的缺点ZGC的几个阶段ZGC特性之内存布局ZGC特性之染色指针ZGC特性之使用读屏障(Load Barrier)ZGC特性之支持NUMA-awareZGC的触发时机概述ZGC是一款JDK 11中新加入的具有实验性质(未稳定)的低延迟垃圾收集器;ZGC内部实现算法很复杂,如果堆内存不是几百G的话...原创 2019-01-15 11:22:00 · 3777 阅读 · 0 评论 -
【JVM】垃圾收集器-Serial、Parallel、ParNew、CMS的特性与优缺点总结
Serial垃圾收集器ParallelScavenge垃圾收集器ParNew垃圾收集器CMS垃圾收集器Rset与CardTable打印GC日志到文件总结Serial垃圾收集器Serial垃圾收集器是一个历史非常悠久的垃圾收集器,JDK1.3.1前是HotSpot年轻代垃圾收集的唯一选择;其年轻代采用复制算法,老年代采用标记-整理算...原创 2016-04-11 16:41:00 · 4942 阅读 · 0 评论 -
【JVM】为什么垃圾收集器可以控制所有的用户线程STW——安全点与安全区域
概述安全点安全区域总结概述我们都知道写JAVA程序的时候不需要关心内存垃圾的回收,而JVM的垃圾收集器会帮我们做这件事情;而且在垃圾回收期执行垃圾回收的时候,都需要有一段STW时间;但是有没有想过为什么垃圾收集器可以控制所有的用户线程STW呢?而且有的垃圾收集器在某些情况下可能STW时间特别长(几十秒,例如CMS在并发收集失败后转而使用Se...原创 2017-04-23 18:52:00 · 3688 阅读 · 0 评论 -
【JVM】G1(Garbage First)垃圾收集器的原理与应用场景
概述G1垃圾收集器的几个阶段G1垃圾收集器的特点G1垃圾收集器的回收类型G1垃圾收集器参数设置使用G1垃圾收集器的一些经验概述Garbage First(简称G1)是一款面向服务器的垃圾收集器,主要针对配备多颗处理器(多逻辑处理器)及大容量内存的机器。以极高概率满足GC停顿时间要求的同时,还具备高吞吐量性能特征;是垃圾收集器技术发展历史...原创 2018-07-13 08:46:00 · 3934 阅读 · 0 评论 -
【JVM】必须掌握的几种垃圾收集算法总结
概述哪些对象会被回收标记—清除算法复制算法标记-整理算法分代收集理论概述我们都知道,在Java中将JVM内存模型划分为虚拟机栈,程序计数器,本地方法栈,堆,方法区;而虚拟机栈、程序计数器与本地方法栈是线程独立的,其数据有着明确的生命周期,随着方法结束或者线程运行结束后,相应的内存空间就会得到释放;而堆与方法区是线程共享的,其数据的生命周...原创 2016-04-12 00:27:00 · 3665 阅读 · 0 评论 -
【JVM】Java程序是如何启动的、类加载的机制(类加载器)
Java程序启动流程类加载过程Java主要的类加载器Java其他的类加载器自定义类加载器Java程序启动流程当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。流程可以分为如下几步(以windows系统为例):① java.exe开始运行并调用底层的jvm.dll文件(库函数,类似于Java...原创 2016-03-16 23:20:00 · 3847 阅读 · 0 评论