Class.forName和ClassLoader到底有啥区别

简介: Class.forName和ClassLoader到底有啥区别

前言

 

最近在面试过程中有被问到,在加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来记录一下。

 

解释

 

在和ClassLoader都可以对类进行加载。

 

ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此类的二进制字节流”,获取到二进制流后放到JVM中。Class.forName()方法实际上也是调用的ClassLoader来实现的。

 

Class.forName(String className);这个方法的源码是

 

@CallerSensitive

public static Class

相关文章
|
8月前
|
Java 关系型数据库 MySQL
在Java的反射中,Class.forName和ClassLoader的区别
在Java的反射中,Class.forName和ClassLoader的区别
109 3
|
8月前
|
前端开发 Java 程序员
ClassLoader如何加载class
ClassLoader如何加载class
60 0
|
6月前
|
安全 Java 数据库
使用`Class.forName`动态加载类
使用`Class.forName`动态加载类
|
7月前
|
Java
Class.forName()方法总结
Class.forName()方法总结
|
Java 数据库连接
【Java面试】反射中,Class.forName和classloader的区别是什么?
【Java面试】反射中,Class.forName和classloader的区别是什么?
92 0
|
Java 数据库连接 API
Java“ Class.forName()”和“ Class.forName()newInstance()”之间有什么区别?
Java“ Class.forName()”和“ Class.forName()newInstance()”之间有什么区别?
118 0
|
安全 Java API
java基础 之 从Class.forName()跟.class的区别看类的初始化
java基础 之 从Class.forName()跟.class的区别看类的初始化
117 0
|
安全 前端开发 Java
浅析java中ClassLoader如何加载Class
浅析java中ClassLoader如何加载Class
144 0
|
前端开发 Java 关系型数据库
Class.forName 和 ClassLoader 到底有啥区别?
Class.forName 和 ClassLoader 到底有啥区别?
144 0
|
Java API
Class.newInstance()与new、Constructor.newInstance()的区别
在初始化一个类,生成一个实例的时候,newInstance() 和 new 有什么区别?
285 0

热门文章

最新文章