- 博客(3)
- 收藏
- 关注
原创 类加载过程
类加载过程类加载的时机类加载的生命周期加载验证准备解析初始化Java类初始化顺序类加载的时机1.遇到new、getstatic、putstatic、invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化。2.使用java.lang.reflect包的方法对类进行反射调用的时候。3.当初始化一个类的时候,发现其父类还没有进行初始化,先触发其父类的初始化。4.当虚拟机启动时,用户需要指定一个要执行的主类(包含main()方法的那个类),虚拟机会先初始化这个主类。类加
2020-10-23 12:53:13
63
原创 Cpu消耗过高原因分析
Cpu消耗过高原因分析背景现象猜测导致服务器响应变慢的原因排查过程及结果猜测Cpu高消耗的原因Top命令查看进程占用Cpu情况Top -Hp 【pid】查看进程内线程占用Cpu情况发现异常线程占用Cpu情况线程、进程堆栈导出,jmap、jstack命令导出jvm线程对应的堆栈信息分析jvm内存对象信息导出java进程中单个线程的轨迹可使用自动化脚本结果背景记录公司一次技术分享,也是一次生产服务器假死的解决过程。现象1.前端页面响应慢,用户无法正常工作。2.大量接口客户端服务超时报警。猜测导致服务
2020-10-22 15:49:34
1534
原创 这次还怕不懂JVM吗
浅谈JVMJava虚拟机浅谈运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池如何判断对象是否还活着1.引用计数法2.可达性分析算法垃圾收集算法1.标记-清除算法2.复制算法3.标记-整理算法4.分代收集算法垃圾收集器虚拟机类加载机制Java虚拟机浅谈本文志在简单梳理一下JVM重要的知识点,详细理解推荐书籍《深入理解Java虚拟机:JVM高级特性与最佳实践》Java虚拟机主要包括以下几个运行时数据区域:1、程序计数器,2、java虚拟机栈,3、本地方法栈,4、java堆,5
2020-10-15 18:37:10
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人