![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 88
33333333
这个作者很懒,什么都没留下…
展开
-
使用插桩实现对对象大小的计算
参考连接:https://www.iteye.com/blog/yueyemaitian-20330461、编写Instrumentation类创建一个普通类,内含静态方法premain(),这个方法名是java agent内定的方法名,总会在main函数之前执行。当存在多个premain()重载函数时,参数少的方法会被自动忽略掉。package com.hpp;import java.lang.instrument.Instrumentation;import java.lang.原创 2022-05-07 13:58:46 · 494 阅读 · 0 评论 -
虚拟机内存模型
为什么要了解虚拟机如何操作内存?java与c/c++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来.对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出.有虚拟机管理内存,这一切看起来都很美好.但是,也正因为java程序员把内存控制的权力给了jav...转载 2020-01-15 22:37:45 · 263 阅读 · 0 评论 -
java虚拟机内存参数设置及常见错误总结
JVM--内存参数设置及常见错误总结一、JVM规范JVM规范对Java运行时的内存划定了几块区域(详见这里),有:JVM栈(Java Virtual Machine Stacks)、堆(Heap)、方法区(Method Area)、常量池(Runtime Constant Pool)、本地方法栈(Native Method Stacks),但对各块区域的内存布局和地址空间却没有明确规定...转载 2020-01-14 14:10:14 · 1002 阅读 · 0 评论 -
metaSpace引起full gc排查过程
JDK8用metaSpace区域来代替了以前的永久区,这个区域主要存放被加载的class信息,我手上一个项目每次启动时候都会伴随一次fullgc,排查思路是:一、查看内存使用率命令:jstat -gcutil PID ,这里的PID是Java进程ID可以看到老年代使用率只有1.96%,但是MetaSpace区域使用率是96.13%,初步怀疑是metaSpace区域设置太小。...转载 2020-01-13 21:47:32 · 2687 阅读 · 1 评论 -
由「Metaspace容量不足触发CMS GC」从而引发的思考
转换自:https://www.cnblogs.com/williamjie/p/9558101.html某天早上,毛老师在群里问「cat 上怎么看 gc」。之后毛老师发来一张图。老年代内存占用情况图片展示了老年代内存占用情况。第一个大陡坡是应用发布,老年代内存占比下降,很正常。第二个小陡坡,老年代内存占用突然下降,应该是发生了老年代 GC。但奇怪的是,此时老年代内...转载 2020-01-13 21:30:27 · 323 阅读 · 0 评论