关于JVM中类的加载这部分知识在网上有太多的文章描述这部分的知识。但是多数文章都过于冗长,难以理解。这篇文章主要是一些我对JVM中类的加载的理解。
==java在类加载的时候实际上就是把xxx.class文件读入JVM方法去,并在内存中生成class的对象。==
java 中有四种类加载器。从底向上依次是
类加载器是通过==双亲委派机制==来加载类的
类加载器在接收到类加载请求之后,低等级的ClassLoader会首先检查这个类是否已经加载过了,若是没有加载则,将加载的请求委派给双亲(比如 ApplicationClassLoader会将请求委派给ExtensionClassLoader)。这样一层一层的传送直到BootStrapClassLoader,如果BootStrapClassLoader没有找到,则逐级向下反馈,下级再寻找该类试图加载。
==静态代码块以及静态变量== 这些内容只被执行一次,因此他们在内容中的位置是相对固定的。所以被叫做静态。用这样的概念来解释静态变量:
原文:https://www.cnblogs.com/winstonehome/p/11738816.html