黑马程序员_学习笔记8用类加载器的方式管理资源和配置文件及类加载器的总结
来源:互联网 发布:abb机器人用什么编程 编辑:程序博客网 时间:2024/05/21 20:24
---------------------- android培训、java培训、期待与您交流! ----------------------
今天总结了了一下视频中关于类加载器的知识点。以及视频中的应用。
多种方式实现同一个功能:加载配置文件。,
常见的非反射加载方式的语句:
1,当config.properties位于classpath下时InputStream ips = new FileInputStream("config.properties")
2, 当config.properties位于classpath下的某个包中时,需用 InputStream ips = new FileInputStream("包名/config.properties")
用类加载器实现1语句: 3.1 main所在的类名.class. getClassLoader.getResourseAsStream ("config.properties")
用类加载器实现2语句: 3.2 main所在的类名.class. getClassLoader.getResourseAsStream ("包名/config.properties")
还有另一个反射方法可用: 4,main所在的类名.class.getResourseAsStream ("/包名/config.properties")//配置文件与main所在的class无关系
当配置文件于main所在的class位于同一个目录中时,4句可以简化为 main所在的类名.class.getResourseAsStream ("config.properties")
类加载器的总结:
java.lang.ClassLoader
类
java.lang.ClassLoader
类的基本职责就是根据一个指定的类的名称,找到或者生成其对应的字节代码,然后从这些字节代码中定义出一个 Java 类,即java.lang.Class
类的一个实例。除此之外,ClassLoader
还负责加载 Java 应用所需的资源,如图像文件和配置文件等。为了完成加载类的这个职责,ClassLoader
提供了一系列的方法,比较重要的方法如下所示。getParent()
返回该类加载器的父类加载器。
loadClass(String name)
加载名称为 name
的类,返回的结果是 java.lang.Class
类的实例。
findClass(String name)
查找名称为 name
的类,返回的结果是 java.lang.Class
类的实例。
findLoadedClass(String name)
查找名称为 name
的已经被加载过的类,返回的结果是java.lang.Class
类的实例。
defineClass(String name, byte[] b, int off, int len)
把字节数组 b
中的内容转换成 Java 类,返回的结果是 java.lang.Class
类的实例。这个方法被声明为 final
的。
resolveClass(Class<?> c)
链接指定的 Java 类。
1 ,引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自 java.lang.ClassLoader
。
2,扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩展库目录。该类加载器在此目录里面查找并加载 Java 类。
3,系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类。一般来说,Java 应用的类都是由它来完成加载的。可以通过ClassLoader.getSystemClassLoader()
来获取它。
除了系统提供的类加载器以外,开发人员可以通过继承 java.lang.ClassLoader
类的方式实现自己的类加载器。
可以写自己的类加载器来在new实例之前对class文件进行加密和解密。
视频中Java基础加强_类加载器的一个高级问题的实验分析的答案可以用一句话总结,父类应位于子类加载器的加载位置或位于子类加载器的父加载器的加载位置中。(被加载的类应该位于合适的与位置。)
---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
- 黑马程序员_学习笔记8用类加载器的方式管理资源和配置文件及类加载器的总结
- 黑马程序员_用类加载器的方式管理资源和配置文件简单介绍
- 黑马程序员--用类加载器的方式管理资源和配置文件
- 黑马程序员---用类加载器的方式管理资源和配置文件
- 黑马程序员——【Java】【高新技术】使用类加载器的方式管理资源和配置文件
- 用类加载器的方式管理资源和配置文件
- 用类加载器的方式管理资源和配置文件
- 用类加载器的方式管理资源和配置文件
- 用类加载器的方式管理资源和配置文件
- 类加载器的方式管理资源和配置文件/JavaBean/重构_内省的简单应用
- Java IO流 用类加载器的方式管理资源和配置文件
- 反射应用之用类加载器的方式管理资源和配置文件
- 28 用类加载器的方式管理资源和配置文件
- 黑马程序员----类加载器管理配置文件
- 黑马程序员_学习笔记_Java加强_注解和类加载器
- 黑马程序员 类加载器学习笔记
- 黑马程序员_类的加载器之学习心得
- 黑马程序员_类加载器的用法
- PowerBolg开发日程
- Supporting hyperplane
- PHP面向对象技术
- SGU101
- map的应用
- 黑马程序员_学习笔记8用类加载器的方式管理资源和配置文件及类加载器的总结
- 求解gcd(a,b)=ax+by (扩展欧几里得算法)
- ANDROID内核真机移植
- Tiny6410 下的usb移植
- 面向对象的一些理解
- Java WEB开发--国际化
- vc消息映射机制----------------
- 动态表格读取课程表
- 好吧,我这样决定了