一、jmx 方式 加上如下启动参数,以 tomcat 为例,修改 bin\catalina 文件,在开始位置添加 JAVA_OPTS JDK8 后不集成 jvisualvm htt ...
一、jmx 方式 加上如下启动参数,以 tomcat 为例,修改 bin\catalina 文件,在开始位置添加 JAVA_OPTS JDK8 后不集成 jvisualvm htt ...
一、概述 栈帧位置 JVM 执行 Java 程序时需要装载各种数据到内存中,不同的数据存放在不同的内存区中(逻辑上),这些数据内存区称作运行时数据区(Run-Time Data Areas)。 ...
原本想在 Windows 下编译调试,但过程中遇到了诸多错误(老是报路径错误。。。),最后只好放弃。 此次记录调试的方法为 CentOS7 上编译,Windows 上使用 Clion 远程调试(也可 ...
类从被加载到虚拟机内存开始,到卸载出内存为止。 解析阶段在某些情况下可以在初始化后再开始,这是为了支持 Java 语言的运行时绑定。 一、类加载时机 JVM 规范没有强制约束类加载过程 ...
synchronized 锁的优化过程:无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁 一、不同锁对象的状态表示(需要了解 Java 对象头) https://wiki ...
下载源码,安装 Cygwin、JDK 和 VS2010:https://www.cnblogs.com/jhxxb/p/12558970.html 创建 VS 工程 用 V ...
只是编译,不调试。 一、安装 Cygwin 32 位和 64 位都可以试试。 https://cygwin.com/install.html 把这些装上(https://hg.openj ...
synchronized 具有使每个线程依次排队操作共享变量的功能。这种同步机制效率很低,但 synchronized 是其它并发容器实现的基础。 一、锁对象及 synchronized 的使 ...
Agent 为 JVMTI 的客户端。 这里记录的是基于Java Instrument 的 Agent 实现,还有直接基于 JVMTI 的 Agent 实现。 在 JDK1.5 以后,我们可以使用 ...
Unsafe 是 sun.misc 包下的一个类,可以直接操作堆外内存,可以随意查看及修改 JVM 中运行时的数据,使 Java 语言拥有了类似 C 语言指针一样操作内存空间的能力。 Unsafe ...