jvm
骚人贵
这个家伙很懒什么都不愿意写
展开
-
Class Cycle java类的生命周期
文章目录Class Cycleloader 类加载加载过程 "parents delegate"The Java Class Loading Mechanism类加载器的类别BootstrapClassLoader 启动类加载器ExtClassLoader 标准扩展类加载器AppClassLoader 系统类加载器CustomClassLoader 用户自定义类加载器核心源码加载流程图机制与作用需要注意关于打破双亲委派的办法加载方式自定义类加载器Linking & Initializing原创 2020-07-08 10:50:32 · 331 阅读 · 0 评论 -
关于GC 中G1的一些整理
G1 垃圾回收器英文入门 oracle 官方指导官方入门文档。The Garbage First Garbage Collector (G1 GC) is the low-pause, server-style generational garbage collector for Java HotSpot VM. The G1 GC uses concurrent and parallel phases to achieve its target pause time and to maintain原创 2020-06-24 22:05:26 · 675 阅读 · 0 评论 -
关于GC 的CMS 执行过程
目录CMS 执行过程简述第一个阶段 initial mark第二个阶段 concurrent mark第三个阶段 remark第四个阶段 concurrent sweepingCMS 执行过程简述CMS也是根据三色标记法来实现的。但是CMS在执行过程中有4个主要阶段。梳理了一下做个笔记。要先看看三色标记法中的一些概念才能更好的理解这里的东西。第一个阶段 initial mark初始化标记阶段,这个阶段是STW的,是开始标记所有的根元素的操作,因为根元素数量并不多,所以这个STW是可以控制的,不会原创 2020-06-23 10:11:58 · 982 阅读 · 0 评论 -
Alibaba Arthas 学习与总结
arthas这个是阿里出的一款用于jvm 观察与调优的一个工具。目前来看是最好用的了。git项目地址 文档中文说明快速上手指南这个说明文档很详细了而且都是中文的。我只记录一下我自己学习和使用过程中的一些经验安装方法通过自动下载下载 arthas-boot.jar用再下载目录直接运行java -jar arthas-boot.jar启动后会帮你检查目前正在运行的java程序。若没有java 进程会告诉你让你自己输入java进程编号来启动Can not find java pro原创 2020-06-19 15:41:04 · 208 阅读 · 0 评论 -
JSTACK
JSTACK再jvm调优或者说再解决一些java线程方面的问题时候需要用到的一个工具JSTACK,他可以看到目前正在运行的java程序的栈状态。对于栈我们知道。其实就是栈帧的调用顺序和里面的指令。JSTACK的命令格式jstack [ option ] pidjstack [ option ] executable corejstack [ option ] [server-id@]remote-hostname-or-IP最最最最常用的就是jstack pid 【进程号】。JSTACK 的关原创 2020-06-15 23:55:50 · 190 阅读 · 0 评论 -
GC的日志格式详解
当进行GC日志查看的时候会用到:命令参数:–XX:+PrintGCDetails 通过这个参数可以获得GC 执行的详细信息。对于信息的格式内容为:[回收器运行 (GC触发原因)[触发GC的年代:回收前->回收后(这个年代总大小)] 回收前堆大小->回收后堆大小(堆的总大小),执行了多少时间完成的 时间单位][执行的用户态时间,执行的内核态时间,总用时时间,单位]通过一个简单操作来进行查看新建一个java文件添加如下代码public class DoGc{public st原创 2020-06-13 19:35:01 · 566 阅读 · 0 评论 -
常用的 GC组合与相关命令
常见的GC组合XX:+UseSerialGC = Serial New (DefNew) + Serial Old小型程序。默认情况下不会是这种选项,HotSpot会根据计算及配置和JDK版本自动选择收集器-XX:+UseParNewGC = ParNew + SerialOld这个组合已经很少用(在某些版本中已经废弃)https://stackoverflow.com/questions/34962257/why-remove-support-for-parnewserialold-andd原创 2020-06-13 17:56:40 · 688 阅读 · 0 评论 -
GC中的 三色标记法
最近在看JVM 查资料的时候看到一篇关于三色标记法的文章觉得不错。拿过来收藏一下。因为他的配图是gif。让人一目了然啊。原文地址《三色标记法与读写屏障》以下内容图为摘录:三色标记法:首先要知道 在JVM中如何找到碎片采用的是根可达算法 root searching方法。找到以后进行mark sweep 方法进行标记。然后再root searching 一遍进行回收。所以mark sweep的特点是 地址不连续,再标记的过程中也会有新的对象被放到老年区,这时就会出现碎片,因为要扫两次所以效率略低。三原创 2020-06-12 19:00:19 · 5984 阅读 · 0 评论 -
Stack Frame JAVA运行时数据区域之栈帧
Stack Frame上次说了Java Run-Time Data Areas JAVA运行时数据区这次再说一下对于Stack 中的Frames针对Frames 也首先依旧从 Java Virtual Machine Specification中摘录一下规范的原文 Java Virtual Machine Specification 14版的2.6章节 Frames2.6 FramesA frame is used to store data and partial results, a原创 2020-06-10 19:53:56 · 279 阅读 · 0 评论 -
java Run-Time Data Areas JAVA运行时数据区
Java Virtual Machine Specification以下内容摘录 jvm运行时数据内存摘录自14版的 2.5章节。2.5 Run-Time Data AreasThe Java Virtual Machine defines various run-time data areas that are used during execution of a program. Someof these data areas are created on Java Virtual Machi原创 2020-06-10 15:19:51 · 202 阅读 · 0 评论