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