怎么在java项目中对类实现静默加载

  介绍

这篇文章将为大家详细讲解有关怎么在java项目中对类实现静默加载,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一般情况下,我们加载一个类的时候会使用<代码>类。forName(字符串名称)方法,该方法会返回一个类对象,同时会触发该类中的静态代码块,举个例子:,

我们先来编写一个只包含静态代码块的Bean类。

包com.jinggujin.classloader;
  公共类豆
  {
  静态
  {
  System.err.println(“静态代码块!”);
  }
  }

使用错流是为了让信息及时输出,使用了会有缓存,可能会导致输出信息顺序错乱

然后编写测试方法进行测试。

包测试;
  
  进口org.junit.Test;
  
  公开课ClassLoaderTest
  {
  @Test
  公共空白测试()抛出异常
  {
  forname (“com.jinggujin.classloader.Bean");
  }
  }

运行观察控制台输出:

静态代码块。

此时控制台会输出我们在静态代码块中打印的内容,这样就证明了了在使用<代码>类。forName(字符串名称)> loadClass(字符串名称)方法进行加载,该方法仅会加载类而不会触发静态代码块,同样的编写测试方法进行测试。

包测试;
  进口org.junit.Test;
  公开课ClassLoaderTest
  {
  @Test
  公共空白测试()抛出异常
  {
  Class<及# 63;比;.loadClass .getContextClassLoader clazz=Thread.currentThread () () (“com.jinggujin.classloader.Bean");
  System.err.println (clazz.getName ());
  }
  }

运行观察控制台输出:

com.jinggujin.classloader.Bean

我们发现,在控制台中仅输出了我们打印的类名信息,而静态代码块没有执行,除此之外,其实我们还可以使用<代码>类。forName(字符串名称)的重写方法<代码> forName(字符串名称、布尔值初始化、类加载器加载程序)>

关于怎么在java项目中对类实现静默加载就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么在java项目中对类实现静默加载