
Java虚拟机来一发
文章平均质量分 95
WalkOffTheEarth
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java虚拟机来一发 --- 目录
Java虚拟机最核心包括3部分:类加载、执行引擎、运行时数据区域,可参考此图: Java虚拟机目录如下: Java虚拟机(一)类加载 Java虚拟机(二)执行引擎 Java虚拟机(三)GC Java虚拟机(四)JVM调优和问题排查...原创 2019-01-01 16:15:29 · 194 阅读 · 0 评论 -
Java虚拟机来一发(一)类加载
1、类加载机制 虚拟机把类的数据从class加载到内存,并对数据进行校验、解析和初始化,最终形成虚拟机可以直接使用的Java类型,即是虚拟机的类加载机制。 类加载器并不需要等到某个类被“首次主动使用”时再加载它,JVM规范允许类加载器在预料某个类将要被使用时就预先加载它,如果在预先加载的过程中遇到了.class文件缺失或存在错误,类加载器必须在程序首次主动使用该类时才报告错误,如果这个类一直没...原创 2019-01-01 16:58:26 · 365 阅读 · 0 评论 -
Java虚拟机来一发(二)执行引擎
1、执行引擎概念 类装载器装载负责装载编译后的字节码,并加载到运行时数据区(Runtime Data Area),然后执行引擎会执行这些字节码。执行引擎以指令为单位读取Java字节码。它就像一个CPU一样,一条一条地执行机器指令。每个字节码指令都由一个1字节的操作码和附加的操作数组成。执行引擎取得一个操作码,然后根据操作数来执行任务,完成后就继续执行下一条操作码。 2、JIT编译器 解释...原创 2019-01-01 17:02:30 · 166 阅读 · 0 评论 -
Java虚拟机来一发(三)GC
目录 一、GC简介 二、回收对象的判断 三、回收算法 四、分代收集算法 五、常用垃圾收集器 一、GC简介 Java中对象的回收是JVM做的,不需要手动释放。JVM对于哪些对象要回收,何时回收,如何回收,都有特定的规则,也在不断地优化。GC(Garbage Collection)考虑的就是这些问题。 二、回收对象的判断 1、引用计数法 判断对象是否可以回收,最直接的方法就是引用计...原创 2019-01-01 17:38:01 · 962 阅读 · 3 评论 -
Java虚拟机来一发(四)JVM调优和问题排查
1、JVM问题排查 1)top命令查看高内存占用情况; 2)非mapp用户,没办法使用jstack、jmap等命令,先sudo su mapp切换到mapp用户; 3)jmap -heap pid 查看堆内存和GC; 4)jstack -F pid 查看BLOCK的线程,可以查看死锁; 5)查看用时高的线程 ps -mp tid -o THREAD,tid,time|sort -rn|h...原创 2019-01-01 17:56:03 · 519 阅读 · 0 评论