主动使用示例

本例子说明通过反射也是类的主动使用

class CL{
  static {
    System.out.println("Class CL");
  }
}
调用ClassLoader类的loadClass方法加载一个类,并不是对类的主动使用,不会导致类的初始化
public class MyTest {

  public static void main(String[] args) throws ClassNotFoundException {
    ClassLoader loader = ClassLoader.getSystemClassLoader();
    Class<?> clazz = loader.loadClass("jvm.classloader.CL");
    System.out.println(clazz);

    System.out.println("--------------------------------");

    clazz = Class.forName("jvm.classloader.CL");
    System.out.println(clazz);   
  }
}

输出结果:
class jvm.classloader.CL
--------------------------------
Class CL
class jvm.classloader.CL

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见...
    时待吾阅读 1,105评论 0 1
  • 一:ClassLoader 从JVM结构图中可以看到,类加载器的作用是将Java类文件加载到Java虚拟机。 只有...
    阿菜的博客阅读 1,796评论 0 8
  • 转载请说明出处:Java面试相关(一)-- Java类加载全过程JVM判断并装载类的过程 概述: 我们知道,Jav...
    androidjp阅读 7,957评论 3 92
  • 类加载 类加载负责加载编译后的class文件(字节码文件)到JVM当中。 在JRE中,类加载器主要分为以下几种:引...
    DrLester阅读 397评论 0 1
  • 一 、java虚拟机底层结构详解 我们知道,一个JVM实例的行为不光是它自己的事,还涉及到它的子系统、存储区域、...
    葡萄喃喃呓语阅读 1,527评论 0 4