JVM探究

JVM探究

  • JVM的位置
  • JVM的体系结构
  • 类加载器
  • 双亲委派机制
  • 沙箱安全机制
  • Native
  • pc寄存器
  • 方法区
  • 三种JVM
  • 新生区
  • 老年区
  • 永久区(元空间)
  • 堆内存调优
  • OOM
  • GC
    • 常用算法
  • JMM Java Memory Model
  • 总结

JVM的位置

在操作系统和java程序之间

JVM的体系结构

JVM探究_第1张图片
jvm调优大部分时间在堆的部分

类加载器

JVM探究_第2张图片
1.虚拟机自带的加载器
2.启动类(根)加载器
3.扩展类加载器
4.应用程序(系统类)加载器

双亲委派机制

JVM探究_第3张图片
JVM探究_第4张图片
JVM探究_第5张图片

沙箱安全机制

非重点

Native

JVM探究_第6张图片

pc寄存器

在这里插入图片描述

方法区

JVM探究_第7张图片
static final Class 常量池

JVM探究_第8张图片

三种JVM

在这里插入图片描述
我们血丝的都是hotspot

Heap,一个JVM只有一个堆内存,堆内存的大小是可以调节的

jdk8之后
JVM探究_第9张图片

新生区

JVM探究_第10张图片

老年区

JVM探究_第11张图片
99%的对象都是临时对象

永久区(元空间)

逻辑上存在 物理上不存在

堆内存调优

JVM探究_第12张图片

OOM

Jprofiles 定位oom位置
JVM探究_第13张图片

GC

常用算法

复制
标记清除
标记清除压缩

引用计数法

JMM Java Memory Model

总结

你可能感兴趣的:(java)