jvm加载class文件的原理机制
jvm:JVM是Java Virtual Machine(Java虚拟机)的缩写。
原理:一个class文件要运行首先就得装载到jvm中,即java中的所有类都需要由类加载器装载到jvm中才能运行,类加载器的任务就是把class文件从硬盘中读取到内存中,加载器本身也是一个类。
说到类的装载,就有两种形式:
1.隐式装载: 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。平时用的classzhua装载就是隐式装载。
显式装载, 通过class.forname()等方法,显式加载需要的类。
类加载器有三个:
Bootstrap Loader :启动类加载器,是虚拟机自身的一部分,加载内置类,如String。
ExtClassLoader : 负责加载扩展类(就是继承类和实现类)
AppClassLoader 程序员自定义的类
还没有评论,来说两句吧...