标签:函数 sys 语义分析 ++ 依次 部署 技术 构造器 nat
类加载器 classLoader,也就是 Java.lang.ClassLoader。核心函数是loadClass
protected synchronized Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException { // 首先检查类是不是已经被加载 Class c = findLoadedClass(name); if (c == null) { try { if (parent != null) { //如果父类不为空,优先检查父类的 c = parent.loadClass(name, false); } else { //否则检查当前的 c = findBootstrapClass0(name); } } catch (ClassNotFoundException e) { // 如果还是找不到,就触发子类本身的findClass方法去找 c = findClass(name); } } if (resolve) { resolveClass(c); } return c; }
两大类,四小种:JDK默认提供的三种,用户自定义的一种。
这里有一个双亲委派的概念。就是当查找一个类的时候,会一层一层的向上委托查询,如果父类加载器有对应的类,就直接从父类加载该类。
标签:函数 sys 语义分析 ++ 依次 部署 技术 构造器 nat
原文地址:https://www.cnblogs.com/darrenqiao/p/9256565.html