随笔分类 -  JVM

摘要:1.什么是G1 G1是一种服务端应用使用的垃圾收集器,目标是用在多核、大内存的机器上,它在大多数情况下可以实现指定的GC暂停时间,同时还能保持较高的吞吐量 参考链接:https://www.oracle.com/technical-resources/articles/java/g1gc.html 阅读全文
posted @ 2022-01-17 23:35 ZT丶 阅读(1990) 评论(0) 推荐(0) 编辑
摘要:1.PS GC日志详解 total = eden + 1个survivor eden space 5632K, 94% used [0x00000000ff980000,0x00000000ffeb3e28,0x00000000fff00000) 后面的内存地址指的是,起始地址,使用空间结束地址,整 阅读全文
posted @ 2022-01-17 17:07 ZT丶 阅读(128) 评论(0) 推荐(0) 编辑
摘要:1.了解JVM常用命令行参数 HotSpot参数分类 标准: - 开头,所有的HotSpot都支持 非标准:-X 开头,特定版本HotSpot支持特定命令 不稳定:-XX 开头,下个版本可能取消 java -XX:+PrintFlagsFinal | grep xxx 找到对应的参数 java -X 阅读全文
posted @ 2022-01-17 16:27 ZT丶 阅读(859) 评论(0) 推荐(0) 编辑
摘要:1.什么是三色标记 黑色:自身和成员变量均已标记完成 灰色:自身被标记完成,成员变量未被标记 白色:未被标记的对象(垃圾) 2.漏标 什么是漏标:将原来存活的对象,但是由于没有遍历到当作垃圾回收了 产生漏标的原因:1、黑色对象指向了白色对象;2、灰色对象取消了对白色对象的引用。就会产生白色对象被漏标 阅读全文
posted @ 2022-01-17 15:10 ZT丶 阅读(200) 评论(0) 推荐(0) 编辑
摘要:1.GC常用参数 -Xmn -Xms -Xmx -Xss 年轻代 最小堆 最大堆 栈空间 -XX:+UseTLAB 使用TLAB,默认打开 -XX:+PrintTLAB 打印TLAB的使用情况 -XX:TLABSize 设置TLAB大小 -XX:+DisableExplictGC System.gc 阅读全文
posted @ 2022-01-17 13:40 ZT丶 阅读(356) 评论(0) 推荐(0) 编辑
摘要:1.什么是CMS CMS主要设计目标:低停顿时间 CMS全称ConcurrentMarkSweep,作用于老年代,并发标记清除,并发是指垃圾回收和应用程序同时运行,这样的目的是为了降低STW的时间(200ms) CMS垃圾回收器基于标记-清除算法实现,那么使用该算法的最大缺点也显而易见——大量的内存 阅读全文
posted @ 2022-01-16 23:55 ZT丶 阅读(1632) 评论(1) 推荐(0) 编辑
摘要:1.什么是垃圾 没有任何引用指向的一个对象或者多个对象(循环引用) 2.如何定位垃圾 引用计数(ReferenceCount) 就是对每个对象都追踪指向它们的引用数,如果引用数为0,就说明这个对象是内存垃圾了。但是这个方法存在缺陷,如果多个对象之间存在循环引用,但是这些对象没有被外部引用,这些对象实 阅读全文
posted @ 2022-01-12 23:16 ZT丶 阅读(323) 评论(0) 推荐(0) 编辑
摘要:1.JVM运行时数据区(JVM Runtime Data Area) 1.1 Program Counter (程序计数器) Each Java Virtual Machine thread has its own pc (program counter) register 每个java虚拟机线程都 阅读全文
posted @ 2021-12-25 00:06 ZT丶 阅读(61) 评论(0) 推荐(0) 编辑
摘要:1. 什么是JMM 内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象描述,不同架构下的物理机拥有不一样的内存模型,Java虚拟机是一个实现了跨平台的虚拟系统,因此它也有自己的内存模型,即Java内存模型(Java Memory Model, JMM)。因此它不是对 阅读全文
posted @ 2021-12-19 23:48 ZT丶 阅读(115) 评论(0) 推荐(0) 编辑
摘要:1.类加载流程以及双亲委派机制 1.1 loading 1.1.1 双亲委派机制(设计原因是出于安全考虑) 类加载器范围: Bootstrap加载路径:sun.boot.class.path ExtClassLoader加载路径:java.ext.dirs AppClassLoader加载路径:ja 阅读全文
posted @ 2021-12-19 23:16 ZT丶 阅读(51) 评论(0) 推荐(0) 编辑
摘要:1.Class文件结构 2.class文件详解 public class T {} 对应的二进制class文件 在idea jclasslib插件下解析出来的二进制文件 对应的二进制文件解释 常量池解释: 比如:cafe babe 0000 0034 0010 0a00 0300 0d 其中0a转换 阅读全文
posted @ 2021-12-15 23:02 ZT丶 阅读(60) 评论(0) 推荐(0) 编辑
摘要:1. java从编码到执行 2. jvm跟java无关,只跟class文件相关 3. javac的过程 4. JDK JRE JVM 5. jvm是一种规范 相关资料 https://docs.oracle.com/en/java/javase/13/ https://docs.oracle.com 阅读全文
posted @ 2021-12-15 22:57 ZT丶 阅读(32) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩