博客型网站建设,wordpress用户自动禁止登录,想找个人建网站,wordpress移动端页面模板下载1.什么是类加载器
1概念#xff1a;类加载器是用来加载类的工具(从硬盘加载到JVM内存) 2类加载器的加载时机【类在使用时才被加载#xff0c;不使用不加载】 a.创建类的对象时 b.通过类名调用静态方法时 c.通过反射加载类 33.类加载器的分类 a.启动…1.什么是类加载器
1概念类加载器是用来加载类的工具(从硬盘加载到JVM内存) 2类加载器的加载时机【类在使用时才被加载不使用不加载】 a.创建类的对象时 b.通过类名调用静态方法时 c.通过反射加载类 33.类加载器的分类 a.启动类加载器Bootstrap ClassLoaders负责加载JAVA_HOME\lib目录下的jar和class文件 b.平台类加载器Platform ClassLoader c.系统类加载System ClassLoader d.自定义类加载器 【双亲委派模型 abcd逻辑上的继承关系最下层传递任务给最上层上层范围之外的则会依次返回下层】
2.获取类加载器
//获取类加载器
public class Demo1 {public static void main(String[] args) {//获取系统类加载器ClassLoader systemClassLoader ClassLoader.getSystemClassLoader();//获取系统类加载器的父加载器 --平台加载器ClassLoader classLoader1 systemClassLoader.getParent();//获取平台类加载器的父加载器 --启动类加载器ClassLoader classLoader2 classLoader1.getParent();System.out.println(系统类加载器 systemClassLoader);System.out.println(平台类加载器 classLoader1);System.out.println(启动类加载器 classLoader2);}
}打印结果
--------------------------------------------------------------------------------------------------
系统类加载器jdk.internal.loader.ClassLoaders$AppClassLoader3fee733d
平台类加载器jdk.internal.loader.ClassLoaders$PlatformClassLoader3941a79c
启动类加载器null3.类加载器应用
//使用类加载器src目录下的配置文件 config.properties
//不局限于电脑路径
public class Demo1 {public static void main(String[] args) throws IOException {//static classLoader getSystemClassLoader()获取系统类加载器ClassLoader systemClassLoader ClassLoader.getSystemClassLoader();//InputStream getResourceAsStream(String name)加载某一个资源文件[src目录下]//利用加载器去加载一个指定的文件[不在src下在报null exception]//参数:文件的路径//返回值:字节流//自动封装返回一个字节流InputStream is systemClassLoader.getResourceAsStream(config.properties);//创建Properties集合【配置文件只能为英文】Properties properties new Properties();properties.load(is);System.out.println(properties);}
}