摘要:
代码中的魔数为没有定义直接使用的常量,该常量分布在代码各个角落,修改时麻烦。 文件的魔数作用为为区分该文件格式,字节码中的魔数为标志文件为class类型的,位于每一个Java class文件的最前面4个子节,固定为0xCAFEBABE 阅读全文
摘要:
根据JVM规范,一个Java文件从被加载到被卸载的整个声明过程,总共要经历5个阶段:加载-> 链接(验证,准备,解析)->初始化->使用->卸载。因此也有一些典籍说Java的生命周期包含7个阶段 加载: 将Java类的字节码文件(1*)加载到机器内存中,并在内存中构建出Java类的原型-类模板对象( 阅读全文
摘要:
先在当前加载器的缓存中查找有无目标类,如果有,直接返回。 判断当前加载器的父加载器是否为空,如果不为空则交由父类加载(父类递归进入第一步的操作) 反之,如果当前加载器的父类为空,则交给最顶级的BootstrapClassLoader类来加载 如果以上三步都无法加载,则从上往下挨个加载。如果还是无法加 阅读全文