![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 54
STAR_AX
好心态才有好状态。
展开
-
查找,定位JVM运行中的问题
使用top 命令观察问题:比如内存不断增长,CPU占用率居高不下。 使用top -Hp pid(进程号) 观察进程中的线程,哪个线程CPU和内存占比高。 使用 jps 命令可以列出当前系统下所有运行的Java进程。 使用 jstack 命令 定位线程的堆栈 ,示例图如下, 重点关注线程状态java.lang.Thread.State 死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注) 等待获取监视器,Wait..原创 2021-05-30 23:59:08 · 190 阅读 · 0 评论 -
Java对象在内存中的存储布局
对象的内存布局一般分为两种,第一种是普通对象,第二种是数组对象。 观察虚拟机配置命令 java -XX:+PrintCommandLineFlags -version 普通对象 对象头,在HotSport里被称为markword,长度是8个字节。 ClassPointer指针,-XX:+UseCompressedClassPointers这个参数开启长度为4个字节,不开启为8个字节。 实例数据(包括成员变量,引用类型:-XX:+UseCompressedOops这个参数开启长度为4个字节,不开启为8个原创 2021-05-28 00:08:43 · 494 阅读 · 3 评论