Java虚拟机之类加载器

时间:2021-07-16 | 标签: | 作者:Q8 | 来源:网络

小提示:您能找到这篇{Java虚拟机之类加载器}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Java虚拟机之类加载器内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

   之前我们简单的网站建站建设介绍了一下关于Java类的加载机制JAVA虚拟机之类的前世今生——h5宣传片类加载流程,现在我们再补充介绍一下JVM进行类加载的类加载器是如何使用的。







  Java类加载器的特点
  类加载器的作用是通过一个类的全限定名来获取描述此类的二进制字节流。通俗简单点可以理解为将类的.class文件中的二进制数据读入到内存中。同时要额外注意的是,类加载器不光是用于类的加载,同时也用于唯一确定一个类。换而言之,同一个类如果又不同的类加载器加载,那么这两个类其实是不同的。
  除此之外,我们还可以概括出类加载器的3个特性。委托性,可见性和单一性。
  委托性:当一个类加载器接收到了类加载请求,它首先把这个请求委托给他的父类加载器去完成,每个层次的类加载器都是如此,因此所有的加载请求都会被传送到顶层的启动类加载器中,只有当父加载器无法加载这个类也即在该类加载器的加载范围内无这个类时,子加载器才会尝试自己去加载。
  可见性:子类的加载器可见父类加载器加载的类,而父类加载器看不到子类加载器所加载的类
  单一性:一个类只会被加载一次
  常用类加载器
  从JVM的角度来看,只有两种类加载器,一种是由C++编写的启动类加载器,其属于虚拟机的一部分。一种是剩余其他所有类加载器。从开发人员的角度来看,又可以细分为4种类加载器,启动类加载器,扩展类加载器,应用程序类加载器,自定义类加载器。
  启动类加载器(Bootstrap ClassLoader):负责加载/lib目录或-Xbootclasspath路径下的并且是虚拟机识别的类库。且该类加载器无法被Java程序直接引用。
  扩展类加载器(Extension ClassLoader):负责加载/lib/ext或者java.ext.dirs系统变量锁指定的路径下的类库,可以被开发者直接使用
应用程序类加载器(Application ClassLoader):负责加载ClassPath(用户类路径)所指定的类库,该类加载器可以由getSystemClassLoader()方法获得,所以也被称为系统类加载器,开发者同样可以直接使用,一般情况下该类加载器为程序中的默认加载器。
以上就是虚拟机加载器的使用方式。
Java虚拟机之类加载器

上一篇:Android系统Dalvik虚拟机与Java虚拟机的区别
下一篇:java虚拟机类加载机制


版权声明:以上主题为“Java虚拟机之类加载器"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
扫码咨询
    Java虚拟机之类加载器
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“Java虚拟机之类加载器”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Java虚拟机之类加载器的相关事宜。

关键词:Java虚拟机之类加载器

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:545321@QQ.com
电话:400-021-1330 | 客服QQ:545321
沪ICP备12034177号 | 沪公网安备31010702002418号