JVM: java虚拟机

JVM: java虚拟机

jvm运行我们编写的.java文件转换后的.class文件

问题一 :Class在本地磁盘上 如何记载到jvm中

问题二:jvm又是如何加载java程序所使用的系统类(系统jar 第三方jar)?

解决方案 :使用java中的类加载器 类加载器是jvm的一部分

类加载器不是一个 当jvm运行
运行
  1. 当jvm运行 先运行应用程序类加载器 判断是否有父加载器 有则启动父加载器

  2. 启动扩展类加载器 启动后检测是否有 父加载器

  3. 启动 启动类加载器(最上层的 父加载器)

加载
  1. 启动类加载器先加载 加载jre/lib的jar

  2. 然后加载扩展类加载器 加载jre/lib/ext下的jar

  3. 应用程序类加载器进行加载 加载classpath(自己编写的类) 自己编写的类的编译的的class文件

【说明】

当一个类被父加载器加载了 子加载器就不会加载

面试题:自己编写和系统类完全一样的类 能否被执行?

​ java.lang 类:String

​ 答案:不能被执行 因为被系统的父类加载器加载了 自己的不会被加载到

​ 双亲委派机制的作用 :确保java的安全,不让自己写的类替换掉Java中的类 自己的不会被加载到。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隋zy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值