010_JVM基础


JVM探究

image.png

JVM知识点

image.png

JVM的位置

:::info
JVM是运行在操作系统之上的,与硬件没有直接的交互,但是可以调用底层的硬件
:::
daf0b40120573f10ec0f4f396900ce69_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbGxvX2NteQ==,size_16,color_FFFFFF,t_70.png

JVM的体系结构

b38037ae6ae83fe0424c5c21238dbc74_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JhaWR1XzM4MTI2MzA2,size_16,color_FFFFFF,t_70#pic_center.png

类加载器

:::info
类加载器负责在运行时将 Java 类动态加载到 JVM (Java 虚拟机)。它们也是 JRE(Java 运行时环境)的一部分。因此,借助类加载器,JVM 无需了解底层文件或文件系统即可运行 Java 程序。
:::
image.png
image.png
image.png

双亲委派机制

:::info
当一个类加载器收到了类加载的请求的时候,他不会直接去加载指定的类,而是把这个请求委托给自己的父加载器去加载。只有父加载器无法加载这个类的时候,才会由当前这个加载器来负责类的加载。
:::
image.png
image.png
image.png
:::info
确定类,先向上找,上面找不到再向下找
:::
image.png

沙箱安全机制

image.png
image.png
image.png
image.png
image.png

沙箱的基本组件

image.png
image.png

Native

:::info
凡是一种语言,都希望是纯。比如解决某一个方案都喜欢就单单这个语言来写即可。Java平台有个用户和本地C代码进行互操作的API,称为Java Native Interface (Java本地接口)。
:::
image.png
image.png

PC寄存器

image.png

方法区

image.png

数据结构

image.png
image.png
image.png

栈内存

image.png
image.png

三种JVM

image.png
:::info
查询虚拟机版本,如:HotSpot
:::
image.png
image.png

image.png
image.png
image.png
image.png

新生区

image.png
image.png

老年区

永久区

image.png
image.png
image.png

堆内存调优

image.png
image.png
:::info
设置可使用的内存
:::
image.png
image.png
:::info
设置可使用内存,测试OOM
:::
image.png
image.png

posted @ 2022-12-19 20:41  清风(学习-踏实)  阅读(13)  评论(0编辑  收藏  举报