JVM类加载机制

上面的类加载过程主要是通过类加载器来实现的,Java里有如下几种类加载器

  • 引导类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的核心类库,比如rt.jar、charsets.jar等
  • 扩展类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的ext扩展目录中的JAR类包
  • 应用程序类加载器:负责加载ClassPath路径下的类包,主要就是加载你自己写的那些类
  • 自定义加载器:负责加载用户自定义路径下的类包

JDK8以后废弃扩展类加载器(Extension ClassLoader)的原因

JDK8以后,使用平台类加载器(Platform ClassLoader)替换了原来的扩展类加载器(Extension ClassLoader)。有两个基本的原因归纳如下:

在JDK8中的这个Extension ClassLoader,主要用于加载jre环境下的lib下的ext下的jar包。当想要扩展Java的功能的时候,把jar包放到这个ext文件夹下。然而这样的做法并不安全,不提倡使用。

这种扩展机制被**JDK9开始加入的"模块化开发"**的天然的扩展能力所取代。

总之,扩展能力被取代了又不安全,所以被废弃。

相关推荐
熊猫钓鱼>_>9 小时前
深入理解Java堆栈:从原理到面试实战
java·开发语言·面试·职场和发展·面向对象·堆栈·oop
cici158749 小时前
基于MATLAB的非正交多址(NOMA)系统协同中继技术提升小区边缘用户性能实现
java·服务器·matlab
bigdata-rookie9 小时前
Starrocks 数据模型
java·前端·javascript
m0_736919109 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python
Jack___Xue9 小时前
LangGraph学习笔记(四)---LangGraph检查点和Send机制
jvm·笔记·学习
爱敲代码的憨仔9 小时前
Spring-AOP
java·后端·spring
阿拉伯柠檬9 小时前
Git原理与使用(一)
大数据·linux·git·elasticsearch·面试
风景的人生9 小时前
request请求的@RequestParm标注的参数也需要放在请求路径后
java
短剑重铸之日9 小时前
《设计模式》第四篇:观察者模式
java·后端·观察者模式·设计模式
手握风云-9 小时前
JavaEE 进阶第十五期:Spring 日志的笔墨艺术
java·spring·java-ee