JVM运行加载机制

1.类从加载到使用,会经历:加载(当代码中使用到类时,会将.class字节码文件加载到jvm内存)-->验证(是否符合规范)-->准备(分配内存空间)-->解析(引用地址指向)-->初始化(对变量进行赋值)-->使用-->卸载

2.java中的类加载器

 2.1启动类加载器

      Bootstrap ClassLoader,主要负责加载java目录下的核心类 %JRE_HOME%\lib目录下内容

 2.2扩展类加载器

       Extension ClassLoader,主要加载 %JRE_HOME%\lib\ext目录下类

 2.3应用程序类加载器

       Application ClassLoader,主要加载当前应用的ClassPath环境变量所指定路径中的类(简单理解成加载自己的代码)

 2.4自定义类加载器

      根据自己的需求加载自己的类

  2.5双亲委派机制

       应用程序类加载器需要加载一个类,首先委派给父类加载器去加载,最终传递到顶层类加载器,如果在父类加载器负责范围内没有找到这个类,会给自己的子类加载器,如果自己管理范围内也找不到需要加载的就会抛出:ClassNotFoundException 这个异常了

 

3.双亲委派机制的好处

  3.1保证了JVM提供的核心类不被篡改,保证class执行安全

   3.2防止重复加载同一个class

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值