栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

浅谈一下类加载器(摘自《深入了解Java虚拟机》)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈一下类加载器(摘自《深入了解Java虚拟机》)

浅谈类加载器(摘自《深入了解Java虚拟机》)

1、类与类加载器

类:.class文件

类加载器:通过类的全限定名获取类的二进制字节流(虚拟机外部实现),让程序决定如何去后去所需的类

重点:不同类记载器加载的类不同,也就说通过equal()方法不等和isInstance()获取的结果不同;启动类加载器是虚拟机的一部分,其他事独立存在于虚拟机之外。

一、启动类加载器

他主要是负责加载bin目录下的类文件,且命名必须规范。

一句话概括:当我们加载一个类的时候,先判断是否已经加载这个类。如果没有,当前类的类加载器会先去父类中找,通过类名是非存在相同的类,如果存在就不会创建。如果父类加载器反馈无法加载才会有当前类加载器来加载。例如我们编写一个Object类,就无法加载。

(类加载器之间的关系并不是继承,而是组合关系!!!)

3、破坏双亲委派 一、jdk1.2之前,不存在双亲委派机制之前。 二、自身缺点导致

Java开发需要利用JNDI来整合其他厂商的服务,他需要其他厂商实现并部署在应用程序(例如JDBC,JCE…)的classpath下的JNDI服务接口,但是这些无法通过类加载器家族。我们需要加载SPI是就需要通过过Java.utile.ServiceLoader来加载类。

三、热部署导致的破坏

详细看OSGI。OSGI不再是原先的树形结构加载,而是树形和网状结构结合。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/926473.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号