jvm
文章平均质量分 60
奋斗的小乌龟
这个作者很懒,什么都没留下…
展开
-
HotSpot JVM 对象解析
待完善。原创 2023-11-11 14:40:35 · 132 阅读 · 0 评论 -
JVM在线分析-解决问题的工具二(jcmd, jdb, jhsdb)
1. jcmd2. jdb3. jhsdb原创 2023-11-09 18:57:20 · 804 阅读 · 0 评论 -
JVM在线分析-解决问题的工具一(jinfo,jmap,jstack)
扩展。原创 2023-11-08 19:19:13 · 893 阅读 · 0 评论 -
JVM在线分析-监控工具(jps, jstat, jstatd)
t:可以在打印的列加上Timestamp列,用于显示系统运行的时间。-h:可以在周期性数据输出的时候,指定输出多少行以后输出一次表头。Compiled:最近编译方法的数量。Size:最近编译方法的字节码数量。Type:最近编译方法的编译类型。YGCT:年轻代垃圾回收消耗时间。FGCT:老年代垃圾回收消耗时间。YGCT:年轻代垃圾回收消耗时间。FGCT:老年代垃圾回收消耗时间。FGCT:老年代垃圾回收消耗时间。FGCT:老年代垃圾回收消耗时间。FGCT:老年代垃圾回收消耗时间。原创 2023-11-08 19:17:49 · 774 阅读 · 0 评论 -
JVM中的STW(Stop The World)
待更新。原创 2023-11-06 19:27:02 · 2241 阅读 · 0 评论 -
JAVA对象大小的获取
在64位的HotSpot虚拟机下,Mark Word占8个字节,其记录了Hash Code、GC信息、锁信息等相关信息;而Class对象指针则指向该实例的Class对象,在开启指针压缩的情况下占用4个字节,否则占8个字节;在64位的HotSpot虚拟机下,类型指针、引用类型需要占8个字节。64位的HotSpot要求Java对象地址按8字节对齐,即每个对象所占内存的字节数必须是8字节的整数倍。Java的实例对象、数组对象在内存中的组成包括如下三部分:对象头Hearder、实例数据、内存填充。原创 2023-11-06 13:02:37 · 991 阅读 · 0 评论 -
JVM线上问题排查基本操作
1. 查看是否存在死循环, 根据业务进行修复2. C2 编译器执行编译时也会抢占 CPU, 什么是 C2编译器呢?当 Java 某一段代码执行次数超过10000次(默认)后,就会将该段代码从解释执行改为编译执行,也就是编译成机器码以提高速度。而这个 C2编译器就是做这个的。如何解决呢?项目上线后,可以先通过压测工具进行预热,这样,等用户真正访问的时候,C2编译器就不会干扰应用程序了。3. GC 线程导致的,那么极有可能是 Full GC ,那么就要进行 GC 的优化以上是基本操作,仅供参考。原创 2023-11-04 14:25:24 · 494 阅读 · 0 评论 -
JAVA命令总结
其中,options是可选参数,用于指定额外的选项,hostid是可选参数,用于指定在远程主机上执行jps命令。原创 2023-10-31 12:32:01 · 95 阅读 · 0 评论 -
【OOM-笔记】
OOM,全称“Out Of Memory”,意思就是“内存用完了”,详细说明:当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出这个error(注:非exception,因为这个问题已经严重到不足以被应用处理)ObjectThrowableError。原创 2023-10-18 15:59:53 · 126 阅读 · 0 评论 -
jvm指令入门(一)
本文旨在介绍java虚拟机(jvm)指令集合入门,在介绍指令集之前需要做一点准备工作:jvm内存分配字节码指令集的简单性很大程度上是由于 Sun 设计了基于堆栈的 VM 架构,而不是基于寄存器架构。有各种各样的进程使用基于JVM 的内存组件, 但基本上只有 JVM 堆需要详细检查字节码指令。PC寄存器:对于Java程序中每个正在运行的每一个线程都有一个PC寄存器。在任意时刻,一条J...原创 2018-05-03 16:20:18 · 6027 阅读 · 0 评论