jvm
DaiZZZZZ
java 工程师
展开
-
记一次 内存泄漏 排查
发现问题进入容器,使用jstat -gcutil 观察到 发生频繁的full gc,jmap -histo:live 发现有 很多理应 被回收的对象。当时程序中的任务已经处于停止状态,但仍有大量对象未被回收,判断发生了内存泄漏。排查过程在线上将对内存 dump成文件,文件2.5g。根据以往的经验,导入分析工具会比较卡。于是在本地将程序运行了一次,使用jvisualvm对内存进行分析。观察...原创 2020-05-07 15:04:38 · 236 阅读 · 0 评论 -
虚拟机 的方法调用
方法调用语句 在字节码文件中是什么样的?jvm有5条调用方法的指令:invokestatic:调用静态方法invokespecial:调用构造方法,私有方法,父类方法invokevirtual:调用虚方法。虚方法指的是非静态、非构造、非私有、非父类的方法,父类方法就是通过supper关键字调用的方法。invokeinterface:调用接口方法invokedynamic如下是调用...原创 2019-03-30 12:43:49 · 279 阅读 · 0 评论 -
jvm 知识点整理(内存区域、垃圾回收)
jvm 知识点整理内存划分(虚拟机内存的各个区域)垃圾回收什么样的对象是垃圾?(如何确定对象是否存活)如何回收?(垃圾的回收算法)问题排查命令行工具gc日志功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公...原创 2019-03-27 08:40:03 · 264 阅读 · 0 评论 -
java运行时优化(要点)
优化作用将热点代码编译成与本地平台相关的机器码,提高执行效率。这部分工作由即使编译器完成,即Just In-Time Compiller。优化对象被多次调用的方法被多次执行的循环体如何探测热点代码基于采样。定期检查各个线程栈顶的方法,出现次数多的则很可能是热点代码。基于计数器。用方法调用计数器、回边计数器分别来记录方法的调用次数以及循环体的执行次数。我们聊一下后者——基于计...原创 2019-09-22 21:49:02 · 738 阅读 · 0 评论