面试趣闻之jvm加载class文件机制

jvm中类的装载是由类加载器(classloader)和它的子类进行装载的,java中类加载器是一个重要的运行时系统组件,它负责运行时的查询以及装入类文件中的类;

由于java的跨平台特性,当一个java程序需要编译时,编译的源程序并不一个可执行的程序,而是一个或多个类文件组成。当java运行到某一个类时,首先jvm会确保这个类是否被加载、连接(验证、准备和解析)、初始化。类的加载是指把一个.class文件放入到内存中,通常创建一个字节数组读入.class文件,然后产生所加载的class对象。记载玩完毕后,这是的class对象其实还不是完整的,所以此时的类还不可用,当类进入连接阶段,这一阶段包括 验证 准备(为静态变成分配内存并设置初始值) 解析(将符号引用变成直接引用)三个步骤。最后进行初始化,进行初始化时需要注意两点:1、检查该类是否有父类且没有初始化,如果有先初始化父类。2、类中是否存在初始化语句,如果有先按顺序执行这些初始化语句。

文章摘要:java面试宝典

posted @ 2017-05-08 16:37  恋月缘  阅读(137)  评论(0)    收藏  举报