网站首页 > 技术文章 正文
java类加载是java平台提供的最基本最重要的概念之一。理解好类加载机制可以帮助你设计并编写扩展的应用程序框架,就不必因为ClassCastException和ClassNotFoundException这类的异常而去反复调试程序,接下来我们一起来复习下面试中常问到的java类加载机制。
在java中类是java虚拟机中要执行的代码,在使用这个类之前先要将它加载到jvm进程中。已加载到jvm中的类是java.lang.Class类的实例。有一个特殊的类负责类加载即java.lang.ClassLoader。
在深入分析类加载之前我们首先要建立一个基本概念:首先java类加载器是可继承的。除了根加载器bootstrap class loader,每个类加载器都有一个父加载器。JVM启动时会创建三个类加载器:bootstrap、extension和system class loaders。这三个加载器分别负责加载jvm中不同的类:
bootstrap class loader 加载java核心类库,如%JRE_HOME%\lib下的rt.jar、resources.jar、charsets.jar
extention class loader 加载$JAVA_HOME/lib/ext 路径下的类
system class loader 加载当前应用$CLASSPATH的类
另外,为方便控制类加载行为,java应用程序可以创建自定义的类加载器,比如我们需要加载的类不在classpath,而在D盘下某个class文件,就需要我们自定义一个classloader,需要注意三点:
自定义的classloader类需继承自ClassLoader抽象类。
classloader类需要复写父类的findClass()方法。
findClass()方法中需要调用defineClass()。
猜你喜欢
- 2024-11-02 「JVM 系列」- JVM的类加载机制 jvm的类加载器
- 2024-11-02 jvm之java类加载机制和类加载器(ClassLoader)的详解
- 2024-11-02 深入理解Java类加载机制-类加载器
- 2024-11-02 Java基础知识:什么是Java类加载机制?
- 2024-11-02 一文弄懂-Java:类的加载过程 java 简述类加载过程
- 2024-11-02 Java 类加载器机制详解 java enhancer 类加载器
- 2024-11-02 java类加载的详细过程 java中类的加载
- 2024-11-02 深入理解Jvm类加载机制 简述jvm类加载机制
- 2024-11-02 JVM知识点——深入理解JVM的类加载
- 2024-11-02 JAVA类加载机制 java类加载机制面试题
你 发表评论:
欢迎- 最近发表
-
- 在 Spring Boot 项目中使用 activiti
- 开箱即用-activiti流程引擎(active 流程引擎)
- 在springBoot项目中整合使用activiti
- activiti中的网关是干什么的?(activiti包含网关)
- SpringBoot集成工作流Activiti(完整源码和配套文档)
- Activiti工作流介绍及使用(activiti工作流会签)
- SpringBoot集成工作流Activiti(实际项目演示)
- activiti工作流引擎(activiti工作流引擎怎么用)
- 工作流Activiti初体验及在数据库中生成的表
- Activiti工作流浅析(activiti6.0工作流引擎深度解析)
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)