关于java虚拟机,ClassLoader初识

摘录,学习笔记

 

java虚拟机原理:

1.创建JVM装载环境和配置。Java.exe调用GetApplicationHome的API,找出JDK目录下的jre,调用jre\bin\java.dll,再调用lib\i138\JCM.cfg

2.装载JVM.dll

3.初始化JVM.dll并挂接到JNIENV(JNI调用接口)实例

4.调用JNIENV实例装载并处理class类。

 

 

java虚拟机中内嵌一个bootstarp的装载器,装载jdk\jre\lib\rt.jar。 使用C++实现,为null。

bootstarp包含用java实现的装载器:

1.ExtClassLoader 放在jre\lin\ext包中

2.APPClassLoader 应用程序启动加载类

 

java虚拟机由5个部分:一组指令集,一组寄存器,一个栈,一个吴用单元收集堆,一个方法区域。

详见:http://kayo.iteye.com/blog/190610

 

java提供抽象类ClassLoader,用户自定义的雷装载器都实例化与ClassLoader的子类。

System Class Loader是一个特殊的用户自定义装载器,由JVM的实现者提供,默认的雷装载器。系统类装载器可以通过ClassLoader.getSystemClassLoader()方法得到。

 

 

AppClassLoader的parent是ExtClassLoader, ExtClassLoader的parent是bootStarp ClassLoader。bootStarp ClassLoader使用C++实现,值为null。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值