![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java虚拟机
文章平均质量分 68
该模块记录关于Java虚拟机领域知识
谷应泰
每天给自己一个希望,努力做好自己,不为明天烦恼,不为昨天叹息.当梦想还在,告诉自己:努力,就总能遇见更好的自己!
展开
-
JITWatch
JITWatch[5]是HSDIS经常搭配使用的可视化的编译日志分析工具,为便于在JITWatch中读取,读 者可使用以下参数把日志输出到logfile文件:示例代码-XX:+UnlockDiagnosticVMOptions -XX:+TraceClassLoading -XX:+LogCompilation -XX:LogFile=/tmp/logfile.log -XX:+PrintAssembly-XX:+TraceClassLoadingimport java.util.concurre原创 2022-03-17 16:25:01 · 627 阅读 · 2 评论 -
Java Mission Control:可持续在线的监控工具
这个工具我发现在Oracle JDK8以上没有,通过查询资料需要自己去安装集成官网文档使用手册https://docs.oracle.com/en/java/java-components/jdk-mission-control/8/user-guide/installing-jdk-mission-control-and-supported-plugins.html#GUID-2C820B29-3FF3-4ED2-8E3E-DD732303E4A4Install JMC Standalone App原创 2022-03-16 18:32:29 · 2680 阅读 · 1 评论 -
Java VisualVM使用
注意:VisualVM has also been distributed in Oracle JDK 6~8 as Java VisualVM. It has been discontinued in Oracle JDK 9. See the Upgrading Java VisualVM page to learn how to upgrade to the latest VisualVM.原来从jdk 9开始, visualVM不再集成在Oracle JDK中, 需要单独下载安装下载地址: h原创 2022-03-09 14:52:27 · 1796 阅读 · 0 评论 -
Java虚拟机常用性能监控和故障处理工具
1.jps:虚拟机进程状况工具JDK的很多小工具的名字都参考了UNIX命令的命名方式,jps(JVM Process Status Tool)是其中 的典型。除了名字像UNIX的ps命令之外,它的功能也和ps命令类似:可以列出正在运行的虚拟机进 程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一 ID(LVMID,Local Virtual Machine Identifier)。虽然功能比较单一,但它绝对是使用频率最高的JDK 命令行工具,因为其他原创 2022-03-07 17:20:01 · 1051 阅读 · 0 评论 -
分代收集理论
当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”(Generational Collection)[1]的理论进 行设计,分代收集名为理论,实质是一套符合大多数程序运行实际情况的经验法则,它建立在两个分 代假说之上: **1)弱分代假说(Weak Generational Hypothesis):绝大多数对象都是朝生夕灭的。** **2)强分代假说(Strong Generational Hypothesis):熬过越多次垃圾收集过程的对象就越难以消 亡。** 这两个分代假说共同奠定了多款常用的原创 2022-03-03 15:14:41 · 175 阅读 · 0 评论 -
一次对象自我拯救
public class FinalizeEscapeGC { public static FinalizeEscapeGC SAVE_HOOK = null; public void isAlive() { System.out.println("yes,i`m still alive"); } @Override protected void finalize() throws Throwable { super.finaliz原创 2022-03-03 14:14:40 · 84 阅读 · 0 评论 -
JVM常见异常模拟
一.Java堆溢出限制Java堆的大小为20MB,不可扩展(将堆的最小值-Xms参数与最大值-Xmx参数设置为一样即可避免堆自动扩展),通过参数-XX:+HeapDumpOnOutOf-MemoryError可以让虚拟机在出现内存溢出异常的时候Dump出当前的内存堆转储快照以便进行事后分析-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryErrorpublic class HeapOOM { static class OOMObject{} p原创 2022-03-03 13:05:17 · 638 阅读 · 0 评论