JVM-2-loadClass(*)与Class.forName(*)
来源:互联网 发布:可以免费发广告软件 编辑:程序博客网 时间:2024/06/05 15:00
一、主要内容
loadClass(*)不会导致类初始化,只是类被加载;
Class.forName(*)才会导致类被初始化。
二、代码
package jvm.demo1;public class Test3 {public static void main(String[] args) throws ClassNotFoundException {ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();Class<?> clazz2 = systemClassLoader.loadClass("jvm.demo1.T");System.out.println("clazz2: " + clazz2);ClassLoader classLoader2 = clazz2.getClassLoader();System.out.println("classLoader2: " + classLoader2);System.out.println("--------------------------");Class<?> clazz = Class.forName("jvm.demo1.T"); // T类会被初始化System.out.println("clazz: " + clazz);ClassLoader classLoader = clazz.getClassLoader();System.out.println("classLoader: " + classLoader);}}class T {static {System.out.println("打印这句话,说明T类被初始化了...");}}程序输出
0 0
- JVM-2-loadClass(*)与Class.forName(*)
- Class.forName()与load.loadClass()比较
- Class.forName()与ClassLoader.loadClass()的区别
- ClassLoader.loadClass()与Class.forName()的区别
- Class.forName与ClassLoader.loadClass的区别
- Class.forName()与ClassLoader.loadClass()的区别
- Class.forName与ClassLoader.loadClass的区别
- Class.forName()与ClassLoader.loadClass的区别
- Class.forName()与ClassLoader.loadClass()的区别
- 关于 ClassLoader.loadClass() 与 Class.forName() 关系
- Class.forName()和ClassLoader.loadClass()区别2
- Class.forName()、ClassLoader.loadClass()
- 探讨Class.forName与ClassLoader.loadClass与new Object
- Class.forName()与ClassLoader.loadClass的区别(转)
- Java:Class.forName()与ClassLoader.loadClass()的区别
- 类的加载:Class.forName与ClassLoader.loadClass
- Class.forName() and ClassLoader.loadClass()
- Class.forName VS ClassLoader.loadClass
- [ACM] HDU 1695 GCD (容斥原理)
- Excel Sheet Column Number
- 浅析Tomcat默认页面的设置
- webservice里的@queryparam、@pathparam、@DefaultValue使用介绍
- A. Vitaly and Strings
- JVM-2-loadClass(*)与Class.forName(*)
- jsp上传图片,并加以显示
- java工程添加类库
- ORCLE_基础十八(Shared Server)
- 随机数函数取样与概率
- HDU 4135 Co-prime 区间内与n互质的个数 容斥(入门
- C语言中关于float、double、long double精度及数值范围理解
- c++Primer,十七,十八,用于大型程序的工具,特殊工具与技术
- java中byte, int的转换