JVM
极客挖掘机
一个来自十八线城乡结合部破写代码的,平时喜欢读读书、写写代码,从2019年开始运营有自己的个人公众号:极客挖掘机,想交流的朋友可以来公众号找我聊天。
展开
-
JVM 第六篇:极致优化 IDEA 启动速度
本文内容过于硬核,建议有 Java 相关经验人士阅读。1. 引言相信做 Java 开发的同学,对 IDEA 这个工具应该都不陌生,即使不使用 IDEA 做开发,那么对 Eclipse 这个工具应该也不会陌生,如果这两个都不用的同学,我就想弱弱问一句,您不会是在使用记事本吧?上面除了那个记事本,我相信所有的同学都对 IDEA 或者说 Eclipse 这两个工具的打开速度深有印象吧。只要你没自己改过启动参数,不管电脑多高的配置,我相信这个打开速度应该都快不到哪去。前面写了这么多篇的 JVM 相..原创 2020-10-15 08:48:40 · 451 阅读 · 0 评论 -
JVM 第五篇:命令行 JVM 故障处理工具
本文内容过于硬核,建议有 Java 相关经验人士阅读。1. 引言虽然我们前面介绍了各种图形化 JVM 故障处理工具,但是很多情况下,我们在处理问题的时候并没有图形化的操作环境可以使用,这时候,就需要用到 JDK 为我们提供的命令行工具了。2. jps: 虚拟机进程状况工具jps 绝对是使用频率最高的 JDK 命令行工具,它的作用是可以列出正在运行的虚拟机进程,并显示虚拟机执行主类( Main Class , main() 函数所在的类)名称以及这些进程的本地虚拟机唯一 ID ( LVMID ,..原创 2020-10-13 08:56:22 · 347 阅读 · 2 评论 -
JVM 第四篇:可视化 JVM 故障处理工具
本文内容过于硬核,建议有 Java 相关经验人士阅读。1. 可视化工具在 JDK 中为我们提供了大量的 JVM 故障处理工具,都在 JDK 的 bin 目录下:这其中除了大量的命令行工具以外,还为我们提供了更加方便快捷的可视化工具,主要是以下这 4 个:JConsole: 最古老的工具,早在 JDK 5 时期就已经存在的虚拟机监控工具。JHSDB: 名义上在 JDK 9 中才正式提供,但之前已经以 sa-jdi.jar 包里面的 HSDB(可视化工具) 和 CLHSDB(命令行工具) 的..原创 2020-10-12 08:47:44 · 449 阅读 · 0 评论 -
JVM 第三篇:Java 类加载机制
本文内容过于硬核,建议有 Java 相关经验人士阅读。1. 什么是类的加载?类的加载指的是将类的 .class 文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class 对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 Class 对象, Class 对象封装了类在方法区内的数据结构,并且向 Java 程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被 「首次主动使用」 时再加载它, JVM 规范..原创 2020-10-11 09:33:49 · 263 阅读 · 1 评论 -
JVM 第二篇:垃圾收集器以及算法
本文内容过于硬核,建议有 Java 相关经验人士阅读。0. 引言一说到 JVM ,大多数人第一个想到的可能就是 GC ,今天我们就来聊一聊和 GC 关系最大的垃圾收集器以及垃圾收集算法,希望能通过本篇文章,让各位同学对 GC 有一个初步大体的认知。1. 运行时数据区JVM 在执行的时候会把它所管理的内存划分为几个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》的规定,..原创 2020-10-10 10:59:28 · 238 阅读 · 0 评论 -
JVM 第一篇:编译 OpenJdk14 ,我行你也行
本文内容过于硬核,建议有 Java 相关经验人士阅读。1 引言从上周开始一直在看周志明的 「深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)」 ,好多年之前看过第二版的,绝对算的上是国内 JVM 领域的经典之作,值得多读几遍。全书的开头就介绍了如何自己编译一次 JDK ,之前看书的时候直接跳过了,一直都没自己操作过,上周读到这里的时候突然萌生了实践的念头,说搞就搞。首先我这次选用的 OpenJDK ,而不是 OracleJDK , OracleJDK 会有一些独立的商业特性,而这些商..原创 2020-08-31 08:50:49 · 1188 阅读 · 5 评论