Java常见面试题:ClassLoader加载

简介: ClassLoader是一个类加载器,在Java里面类加载器并不只有一个,我们自己所编写的类加载器往往都去继承ClassLoader,所以自己的加载器是最后一次执行的。

ClassLoader是一个类加载器,在Java里面类加载器并不只有一个,我们自己所编写的类加载器往往都去继承ClassLoader,所以自己的加载器是最后一次执行的。

image.png

所有的Java程序类加载器一共分为两套类加载器:双亲加载;

(1)系统中的类都会由一个系统内部最高的类加载器负责加载,如果启动的时候要加载的系统类太多了,那么一定会造成启动变慢,所以JDK1.9才提出了一个模块化设计;

(2)如果用户自己定义的类,会使用其它的类加载器(ExtClassLoader、AppClassLoader、自己定义的的类加载器),这样可以避免系统安全问题。

什么是系统安全问题?

比如在Java里面有一个java.lang.string,如果你现在定义了完全一样的java.lang.string类,那么最终所带来的问题就有可能造成安全隐患,所以JDK在设计的时候为了防止这种问题的出现,采用了双亲加载机制,以保证系统安全。

同时使用自定义的类加载器还有一个好处,可以由用户自己来定义类文件的来源,默认情况下的类加载器(99%是够用的)都是通过ClassPath加载的,但是使用了自定义的加载器可以通过远程或文件进行加载。

更多专业知识,面试技巧就在面试一点通,持续更新中……
感谢浏览~
本内容来源于阿里云大学-Java面试技巧

相关文章
|
2月前
|
算法 Java
50道java集合面试题
50道 java 集合面试题
|
2月前
|
算法 Java
50道java基础面试题
50道java基础面试题
|
4月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
221 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
4月前
|
缓存 Java 关系型数据库
Java 面试经验总结与最新 BAT 面试资料整理含核心考点的 Java 面试经验及最新 BAT 面试资料
本文汇总了Java面试经验与BAT等大厂常见面试考点,涵盖心态准备、简历优化、面试技巧及Java基础、多线程、JVM、数据库、框架等核心技术点,并附实际代码示例,助力高效备战Java面试。
169 0
|
4月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
240 0
|
4月前
|
缓存 Java API
Java 面试实操指南与最新技术结合的实战攻略
本指南涵盖Java 17+新特性、Spring Boot 3微服务、响应式编程、容器化部署与数据缓存实操,结合代码案例解析高频面试技术点,助你掌握最新Java技术栈,提升实战能力,轻松应对Java中高级岗位面试。
449 0
JAVA高频面试题目集锦(6)
JAVA高频面试题目集锦(6)
254 0
JAVA高频面试题目集锦(6)
|
存储 安全 Java
JAVA高频面试题目集锦(5)
JAVA高频面试题目集锦(5)
269 0
JAVA高频面试题目集锦(5)