JVM装载class过程

(1)由类装载器(class loader)负责把类文件(.class文件)加载到Java虚拟机中。在此过程需要检验该类文件是否符合类文件规范。 
       AppClassLoader -> ExtClassLoader(扩展路径JAVA_HOME\jre\lib\ext) -> BootstrapLoader(只能加载JAVA_HOME\jre\lib中的class类(即J2SE API)),若没有,找当前路径。
(2)字节码校验器(bytecode verifier)检查该类文件的代码中是否存在着某些非法操作,例如Applet程序中写本地计算机文件系统的操作。

(3)如果字节码校验器检验通过,由Java解释器负责把该类文件解释成为机器码进行执行。

注意:

Java虚拟机采用“沙箱”运行模式,即把Java程序的代码和数据都限制在一定内存空间里执行,不允许程序访问该内存空间以外的内存。如果是Applet程序,还不允许访问客户端机器的文件系统。

你可能感兴趣的:(java,jvm,虚拟机,ext,J2SE)