请问一下JVM加载class文件的原理机制? rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。 在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备、解析 装载:查找和导入类或接口的二进制数据; 链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的; 校验:检查导入类或接口的二进制数据的正确性; 准备:给类的静态变量分配并初始化存储空间; 解析:将符号引用转成直接引用;初始化:激活类的静态变量,初始化Java代码和静态Java代码块 推荐LZ看一下王森先生的<JAVA2深度历险>的CH_02:深入类别载入器这一章节,很详细JVM要将一般的类要载入时,都是调用AppClassLoader来子爱如的当AppClassLoadery要载入时,会现请求其Parent即ExtClassLoader来载入而ExtClassLoader又请求其Parent,即BootstrapLoader来载入如果BootstrapLoade在其搜索路径下找不到,返回ExtClassLoader来载入如果ExtClassLoader在其搜索路径下找不到,返回AppClassLoader来载入如果AppClassLoader再起搜索路径下找不到,将抛出ClassNotFound异常大概就这样 考试继续答案 java中如何判断一个String类型的filFilePath是否是一个合法的文件路径 请教高人:JTable如何显示中文啊? 问个比较初级的问题native2ascii不是内部命令 请问,哪里有SWT/JFace 的API帮助下载? 关于JTextField的很简单的问题 jtable怎么修改其中的一列值? 谁帮做一下作业题?紧急!!!!!!! 很菜的问题! 简单的反射问题 菜鸟求助:创建哈希表的问题 socket问题
装载:查找和导入类或接口的二进制数据;
链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;
校验:检查导入类或接口的二进制数据的正确性;
准备:给类的静态变量分配并初始化存储空间;
解析:将符号引用转成直接引用;
初始化:激活类的静态变量,初始化Java代码和静态Java代码块
JVM要将一般的类要载入时,都是调用AppClassLoader来子爱如的
当AppClassLoadery要载入时,会现请求其Parent即ExtClassLoader来载入
而ExtClassLoader又请求其Parent,即BootstrapLoader来载入如果BootstrapLoade在其搜索路径下找不到,返回ExtClassLoader来载入
如果ExtClassLoader在其搜索路径下找不到,返回AppClassLoader
来载入
如果AppClassLoader再起搜索路径下找不到,将抛出ClassNotFound异常
大概就这样