花费 15 ms
使用 jvisualvm 远程监控 JVM

一、jmx 方式 加上如下启动参数,以 tomcat 为例,修改 bin\catalina 文件,在开始位置添加 JAVA_OPTS JDK8 后不集成 jvisualvm htt ...

Sat Jul 11 09:14:00 CST 2020 0 10677
Java-JVM 栈帧(Stack Frame)

一、概述 栈帧位置 JVM 执行 Java 程序时需要装载各种数据到内存中,不同的数据存放在不同的内存区中(逻辑上),这些数据内存区称作运行时数据区(Run-Time Data Areas)。 ...

Mon Jun 24 08:36:00 CST 2019 3 6014
构建 JVM(HotSpot) 源码调试环境(OpenJDK8)

原本想在 Windows 下编译调试,但过程中遇到了诸多错误(老是报路径错误。。。),最后只好放弃。 此次记录调试的方法为 CentOS7 上编译,Windows 上使用 Clion 远程调试(也可 ...

Fri Jun 28 05:59:00 CST 2019 2 3371
Java-类加载(类的生命周期)

类从被加载到虚拟机内存开始,到卸载出内存为止。 解析阶段在某些情况下可以在初始化后再开始,这是为了支持 Java 语言的运行时绑定。 一、类加载时机 JVM 规范没有强制约束类加载过程 ...

Wed May 22 22:33:00 CST 2019 0 2310
Java-synchronized 中锁的状态及其转换

synchronized 锁的优化过程:无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁 一、不同锁对象的状态表示(需要了解 Java 对象头) https://wiki ...

Tue Jun 11 00:31:00 CST 2019 0 1645
Windows 10 下编译 OpenJDK8

只是编译,不调试。 一、安装 Cygwin 32 位和 64 位都可以试试。 https://cygwin.com/install.html 把这些装上(https://hg.openj ...

Sun Mar 29 05:04:00 CST 2020 0 1270
Java-内存模型 synchronized 的内存语义

synchronized 具有使每个线程依次排队操作共享变量的功能。这种同步机制效率很低,但 synchronized 是其它并发容器实现的基础。 一、锁对象及 synchronized 的使 ...

Tue Jun 04 04:09:00 CST 2019 0 891
Java-基于 Instrument 的 Agent

Agent 为 JVMTI 的客户端。 这里记录的是基于Java Instrument 的 Agent 实现,还有直接基于 JVMTI 的 Agent 实现。 在 JDK1.5 以后,我们可以使用 ...

Thu Oct 03 09:49:00 CST 2019 0 507
Java-Unsafe

Unsafe 是 sun.misc 包下的一个类,可以直接操作堆外内存,可以随意查看及修改 JVM 中运行时的数据,使 Java 语言拥有了类似 C 语言指针一样操作内存空间的能力。 Unsafe ...

Sun Sep 08 01:32:00 CST 2019 0 493

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM