JVM(二)——类加载器系统

Java虚拟机

类加载器 + 执行引擎

类加载器子系统作用:

负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。

ClassLoader 只负责class文件的加载,至于它是否可以运行,则由ExecutionEngine决定。

常量池运行的时候加载到内存里就叫运行时常量池。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CSoSnLnx-1657777647985)(D:\Learn\java\JVM\类加载器系统.assets\image-20220604153243296.png)]

加载.class文件的方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m0I9SRjt-1657777647987)(D:\Learn\java\JVM\类加载器系统.assets\image-20220604154031663.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7xyY1Rfd-1657777647988)(D:\Learn\java\JVM\类加载器系统.assets\image-20220604153939157.png)]

链接

验证->准备->解析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2i0TZBYc-1657777647988)(D:\Learn\java\JVM\类加载器系统.assets\image-20220604154936731.png)]

Java虚拟机中的加载器关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-viy9lgHe-1657777647989)(D:\Learn\java\JVM\类加载器系统.assets\image-20220605162434781.png)]

自定义类加载器

用途:

  1. 隔离加载类
  2. 修改类加载的方式
  3. 扩展加载源
  4. 防止源码泄露

双亲委派机制

Java导包的原则是按需加载!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kJwvihZa-1657777647990)(D:\Learn\java\JVM\类加载器系统.assets\image-20220607195857925.png)]

沙箱安全机制

出发点是防止被注入恶意代码(保护),保证原有的类,方法不会擅改

类的主动使用和被动使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uG24Cze2-1657777647990)(D:\Learn\java\JVM\类加载器系统.assets\image-20220607202620247.png)]

运行时数据区内部结构

运行时数据区包括:

方法区、堆、程序计数器、本地方法栈、虚拟机栈

堆跟方法区在不同线程中是公用的,而其他的是每个线程私有的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ySwF9JZ-1657777647990)(D:\Learn\java\JVM\类加载器系统.assets\image-20220607203955780.png)]

运行时数据区:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LDhhWxbx-1657777647992)(D:\Learn\java\JVM\类加载器系统.assets\image-20220607205108323.png)]
95%的垃圾处理集中在堆区,剩下的在方法区,一个 Class Runtime 对应一个虚拟机

线程

一个普通的方法,可能有十几个线程,甚至更多

在这里插入图片描述

运行时数据区

  1. 程序计数器(PC)

在这里插入图片描述

在这里插入图片描述

使用PC寄存器存储器字节码指令地址有什么作用呢?

CPU需要不停的切换线程,这时候切换回来以后,就得知道接着从哪里开始继续执行。

使用PC寄存器存储器字节码指令地址有什么作用呢?

CPU需要不停的切换线程,这时候切换回来以后,就得知道接着从哪里开始继续执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值