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面试技巧

相关文章
|
9天前
|
存储 安全 算法
Java面试题之Java集合面试题 50道(带答案)
这篇文章提供了50道Java集合框架的面试题及其答案,涵盖了集合的基础知识、底层数据结构、不同集合类的特点和用法,以及一些高级主题如并发集合的使用。
26 1
Java面试题之Java集合面试题 50道(带答案)
|
5天前
|
Java 程序员
Java 面试高频考点:static 和 final 深度剖析
本文介绍了 Java 中的 `static` 和 `final` 关键字。`static` 修饰的属性和方法属于类而非对象,所有实例共享;`final` 用于变量、方法和类,确保其不可修改或继承。两者结合可用于定义常量。文章通过具体示例详细解析了它们的用法和应用场景。
18 3
|
5天前
|
架构师 Java 开发者
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
在40岁老架构师尼恩的读者交流群中,近期多位读者成功获得了知名互联网企业的面试机会,如得物、阿里、滴滴等。然而,面对“Spring Boot自动装配机制”等核心面试题,部分读者因准备不足而未能顺利通过。为此,尼恩团队将系统化梳理和总结这一主题,帮助大家全面提升技术水平,让面试官“爱到不能自已”。
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
|
9天前
|
Java
Java面试题之cpu占用率100%,进行定位和解决
这篇文章介绍了如何定位和解决Java服务中CPU占用率过高的问题,包括使用top命令找到高CPU占用的进程和线程,以及使用jstack工具获取堆栈信息来确定问题代码位置的步骤。
19 0
Java面试题之cpu占用率100%,进行定位和解决
|
13天前
|
存储 安全 Java
java基础面试题
java基础面试题
19 2
|
13天前
|
缓存 NoSQL Java
Java中redis面试题
Java中redis面试题
25 1
|
14天前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
35 2
|
10天前
|
JavaScript
面试官:组件库按需注册加载的实现思路是什么?
【10月更文挑战第6天】面试官:组件库按需注册加载的实现思路是什么?
|
消息中间件 安全 前端开发
|
Java 前端开发
深入分析Java ClassLoader原理(转载)
转自:http://blog.csdn.net/xyang81/article/details/7292380(该文章举例说明了不同类加载器加载同一份class仍然不能类型互转) 转自:http://www.
793 0