zoukankan      html  css  js  c++  java
  • java反射系列三之类加载器

     一.概念认知


    二.代码示例

    package reflect;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    public class ClassLoaders {
        public static void main(String[] args) throws ClassNotFoundException, IOException {
            ClassLoaders c = new ClassLoaders();
            c.test();
        }
        public void test() throws ClassNotFoundException, IOException{
            //getSystemClassLoader()返回用于委派的系统类加载器。
            ClassLoader loader1 = ClassLoader.getSystemClassLoader();
            System.out.println(loader1);
            //getParent()返回父类加载器进行委派
            ClassLoader loader2 = loader1.getParent();
            System.out.println(loader2);
            //引导类加载器无法获得
            ClassLoader loader3 = loader2.getParent();
            System.out.println(loader3);
            //getClassLoader()返回类的类加载器。 
            Class clazz1 = Person.class;
            ClassLoader loader4 = clazz1.getClassLoader();
            System.out.println(loader4);
            
            //由于Object和String是核心类,由最顶层的引导类加载器加载,故无法获得
            String className = "java.lang.Object";
            Class clazz2 = Class.forName(className);
            ClassLoader loader5 = clazz2.getClassLoader();
            System.out.println(loader5);
            
            //掌握
            //this代表这个方法,getclass就能得到所属的类,接着得到加载此类的类加载器
            ClassLoader loader = this.getClass().getClassLoader();
            //getResourceAsStream(String name)返回用于读取指定资源的输入流。
            InputStream is = loader.getResourceAsStream("reflect\可坏.txt");
            Properties pros = new Properties();
            //load(InputStream inStream)从输入字节流读取属性列表(键和元素对)。 
            pros.load(is);
            //getProperty(String key)使用此属性列表中指定的键搜索属性。
            String name = pros.getProperty("user");
            System.out.println(name);
            
            String password = pros.getProperty("password");
            System.out.println(password);
        }
    }

    写给自己看的,方法不懂查api文档啦

  • 相关阅读:
    HTML5 jQuery图片上传前预览
    【Web前沿技术】纯 CSS3 打造的10个精美加载进度条动画
    20个非常绚丽的 CSS3 特性应用演示
    C#.NET开源项目、机器学习、商务智能
    SqlServer中decimal(numeric )、float 和 real 数据类型的区别[转]
    asp.net Session
    Entity Framework 5.0系列之自动生成Code First代码
    关于Memcache mutex设计模式的.net实现
    Discuz!NT中的Redis架构设计
    使用ServiceStackRedis链接Redis简介
  • 原文地址:https://www.cnblogs.com/zjm1999/p/10333114.html
Copyright © 2011-2022 走看看