JVM
文章平均质量分 66
fomeiherz
这个作者很懒,什么都没留下…
展开
-
jvm排查占用CPU过高的线程
第一步:查询占用CPU最高的进程idtop第二步:把该进程中占用最高的线程(top 3)输出到文件:/tmp/cpu_tid.logtop -Hp <最高pid> -b -n 3 -d 3 >> /tmp/cpu_tid.log# -b:batch模式,可以重定向到文件中# -n 3:一共取3次top数据。后边加数字,表示次数# -d 3:每次top时间间隔是3秒钟第三步:把线程堆栈输出到文件:/tmp/jstack.logsudo /usr/local/jdk1原创 2021-06-14 18:03:14 · 605 阅读 · 0 评论 -
Java动态编译String字符串到Class对象
该案例是模拟:Java在线编译第一步:导入Maven依赖<dependency> <groupId>com.itranswarp</groupId> <artifactId>compiler</artifactId> <version>1.0</version></depende...原创 2020-02-18 12:46:04 · 2355 阅读 · 0 评论 -
JDK1.8最全的源码下载
第一部分:src.jar说明:此模块的源码不需要下载,你安装好jdk后,会在${JAVA_HOME}的根目录下找到src.zip,这就是src.jar的源码。第二部分:rt.jar下载地址:百度网盘下载地址当然,这里的源码也可以在第三部分的源码中找到,路径:openjdk-8u40-src\jdk\src\share\classes\第三部分:jdk源码下载进入:jdk源码官网 ...原创 2020-01-22 11:28:34 · 5201 阅读 · 2 评论 -
idea调试rt.jar下sun.misc.*的源码
1.进入设置页面:Settings -> Debugger -> Stepping2.在"Do not step into these classes"列表中,去掉"sun.*"前面的勾就可以了,然后你可以调试就会近断点了。原创 2020-01-21 19:28:09 · 1988 阅读 · 2 评论 -
深入理解Java虚拟机之Class文件解析
Class文件的解析:CA FE BA BE // 魔数00 00 00 34 // 版本52(对应jdk1.8)00 13 // 对应19,即18个常量(1-18)// 常量池// 第1个常量开始0A // 第#1类型:CONSTANT_Methodref_info00 04 // name_index: #400 0F // name_index: #1509 // 第#2类...原创 2020-01-20 20:05:32 · 182 阅读 · 0 评论 -
Java GC 垃圾回收算法
标记 - 清除 (Mark-Sweep) 算法不足:需要扫描全堆对象,效率低回收后,会产生大量碎片复制 (Copying) 算法优势:回收后保证连续的可用空间整块空间回收,效率比较高不足:会浪费部分空间需要额外空间作为担保应用场景:新生代标记 - 整理 (Mark-Compact) 算法优势:不需要额外空间作为担保不足:碎片化回收效率较低应用场...原创 2019-11-17 10:30:10 · 125 阅读 · 0 评论