## Java运行环境 ##
Java源程序需要经过编译和解释运行两个过程。编译只进行一次,而解释则在每次程序的运行时都要执行。Java体系结构如下所示:
![]()
## Java执行过程 ##
## 加载 ##
加载就是把二进制的Java字节码读入到内存中。由类加载器器实现,该加载器为ClassLoader的子类。类加载器分为四种:
启动类加载器、标准扩展加载器、路径类加载器、网络类加载器。
## 启动类加载器 ##
启动类加载器从本地系统中加载初始的JavaAPI类,来启动JVM。
## 标准扩展类加载器 ##
标准扩展类加载器加载不同虚拟机供应商所扩展的标准Java类
## 路径类加载器 ##
路径类加载器加载在classpath中的类
## 网络类加载器 ##
加载通过网络下载得到的类文件 加载过程如下:
![]()
## 链接 ##
链接是取得加载的类或接口,并将其与JVM运行环境结合起来,过程包括:检验、准备、解析三个步骤 检验负责保护程序的健壮性共分为四次:
准备在检验之后,初始化类,为其分配空间 解析是把常量池中的符号引用转化为直接引用,一般在使用时才会解析