zoukankan      html  css  js  c++  java
  • Ekt 相关知识点

    运行环境:
    JDK8 + IntelliJ IDEA 2018.3 
    
    本文中使用的jar包链接
     
    https://files.cnblogs.com/files/papercy/jsoup_jar%E5%8C%85.rar

    重要知识点:
    1
    类加载器在Java中是以java.lang.ClassLoader类型存在 2 每一个类被加载后,都会有一个Class的实例来代表,而每个Class的实例都会记得自己是由哪个ClassLoader加载的。 3 可以通过Class的getClassLoader()取得加载该类的ClassLoader 4 可以通过ClassLoader的getParent()取得自己的parent 5 注意:返回null并不代表没有parent,因为Bootstrap Loader 是用C语言编写的,所以没有一个实际的类来表示它。 6 可以通过ClassLoader的loadClass()加载类。这时不会立即运行静态块,会等到创建类的实例时才会运行。
    练习1:输出系统类加载器及其父加载器 
    
    public class Work3 {
        public static void main(String[] args) {
            Class clz;
            ClassLoader cl,cla;
    
            //得到系统类加载器
            cl= ClassLoader.getSystemClassLoader();
            System.out.println(cl);
    
            //输出其父类加载器
            while (cl!=null){
              cla=cl;
              cl= cla.getParent();
              System.out.println(cla+"的父类加载器是:"+cl);
            }
    }
    1 练习三:输出加载当前类的加载器
    2     Class cls=Work3.class;
    3     ClassLoader loader = cls.getClassLoader();
    4     System.out.println("当前类的加载器"+loader);

     

    练习3:输出加载Object类的加载器 
           clz=Class.forName("java.lang.Object");
           cl=clz.getClassLoader();
           System.out.println("object的加载器是:"+cl);
    

     

    运行结果:

    总结:四个方式得到Class对象

    1         Object s = new String();
    2         Class clz1 = s.getClass();
    3 
    4         Class str=String.class;
    5 
    6         Class clz = Class.forName("java.io.IOException");
    7 
    8         ClassLoader loader = ClassLoader.getSystemClassLoader();
    9         Class clz3 = loader.getClass();

    乾坤未定,你我皆是黑马!!!

  • 相关阅读:
    scrum第二阶段项目冲刺04
    scrum第二阶段项目冲刺03
    scrum第二阶段项目冲刺02
    scrum第二阶段项目冲刺01
    团队项目02——疫情数据分析
    scrum第二阶段项目冲刺
    现阶段本组app与咸鱼的对比
    团队项目第一阶段成果——意见改进
    团队项目第一阶段成果——意见汇总
    文件的合并与分割
  • 原文地址:https://www.cnblogs.com/KcBlog/p/13542761.html
Copyright © 2011-2022 走看看