今天我遇到的一个面试题为
Thread.currentThread().getContextClassLoader().loadClass(className);//不会调用类的static块代码
class.forName(className);//调用类的static块代码
package cn.hotbain; import java.io.InputStream; public class Echo2 { public static void main(String[] args) throws Exception{ //得到应用类加载器 ClassLoader loader=Thread.currentThread().getContextClassLoader().getParent(); System.out.println(loader); Thread.currentThread().getContextClassLoader().loadClass("cn.hotbain.Echo"); Thread.currentThread().setContextClassLoader(loader.getParent()); //forName()会造成类的初始化; //classLoader.loadClass("className");不会造成类的初始化 ClassLoader clazzLoader=Class.forName("cn.hotbain.Echo").getClassLoader(); System.out.println(clazzLoader); Thread.currentThread().getContextClassLoader().loadClass("cn.hotbain.Echo"); } private static void test4() throws Exception{ } private static void test3() throws Exception{ System.out.println("default thread class context loader is "+Thread.currentThread().getContextClassLoader().getClass().getName() ); ClassLoader classLoader=ClassLoader.getSystemClassLoader().getParent(); Thread.currentThread().setContextClassLoader(classLoader); System.out.println(Thread.currentThread().getContextClassLoader()); test2(); } private static void test2() throws Exception{ ClassLoader loader=Echo.class.getClassLoader(); System.out.println(loader); //如果是用类加载器加载resources的话,那么就会从指定的Loader的指定位置加载(例如:extLoader从ext加载resource) InputStream ins=loader.getResourceAsStream(".classpath"); ins.close(); new Thread(new Runnable() { @Override public void run() { System.out.println("当前线程启动的classLoader为"+Thread.currentThread().getContextClassLoader()); } }).start(); } private static void test1() throws Exception{ //如果文件路径是以/开头时,那么就会从绝对路径下读取文件。否则就会以相对路径的方式查找 InputStream ins =Echo2.class.getResourceAsStream("/note.txt"); System.out.println(ins); ins.close(); } }
在tomcat中每一个app都会对应一个加载器Loader1,但是其父加载器去都是同一个StandardClassLoader,当需要从tomcat的lib下分享共同的资源的时,需要将其放入到指定lib下。当需要在web-inf下访问资源时,需要将资源放到web-inf下
相关推荐
本压缩包“CC++mianshi.rar”提供了丰富的C++面试题集,旨在帮助求职者或自我提升者准备面试,了解可能遇到的问题类型及答案。 首先,C++面试题集通常会涵盖以下几个方面: 1. **基础语法**:包括变量、数据类型、...
C#_面试题_总结_2,希望对大家有所帮助。
本文对C/C++程序员应聘的常见面试题进行了深入剖析
面试时,对于C语言的掌握程度往往成为评估程序员能力的重要标准。以下是对标题、描述及标签所涉及知识点的详细说明: 1. **基本语法**:C语言的基础包括变量、数据类型(如int、char、float等)、运算符(算术、...
iOS面试题收集,用于准备面试,复习面试题~_面试题都是套路_iOSFace2Face
01_面试题.md
1_面试题.zip
linux_面试题_和_常用命令_linux
2_面试题和答案
1_面试题.md
04_作用域_面试题.html
06_面试题.html
最新_互联网公司招聘_笔试_开发_经典C_C_面试题.pdf
04_作用域_面试题2.html
数据结构和算法解析__LeetCode_解题__剑指_Offer_面试题集_DataStructure-Algorithm-TS
1_面试题v1.0.0.md
开关电源_集成电路IC_模拟_数字_面试题
【标题】"蜗牛学院-M_面试题.zip"是一个由蜗牛学院提供的面试题资源包,其中涵盖了多种技术领域的面试题目,旨在帮助学习者准备IT行业的面试。蜗牛学院是一家知名的在线教育机构,专注于IT技能培训,包括Java和...
浏览器类面试题(HTTP服务.缓存.兼容性等)_30题.pdf_前端面试题