JVM加载过程

原创 2015年07月09日 18:49:31

任何程序的运行都需要先进行编译,得到可执行文件。之后运行该可执行文件,实际上就是将其加载到内存中的过程。

本文针对文件加载,以Java程序为例,进行详细阐述。

分析:Java的可执行文件是.class为后缀的文件,运行在Java虚拟机上(JVM)

加载过程:JVM加载class、


JVM加载class:

(1)执行java.exe,加载jre中jvm.dll文件,加载其它动态链接库,激活Java虚拟机。

(2)虚拟机加载系统配置文件,产生第一个类加载器:启动类加载器(BootstrapClassLoader),主要用于加载java API中包含的类文件;

(3)启动类加载器完成初始化工作,其中最重要的是加载Launcher.java,启动ExtendClassLoader和AppClassLoader,主要用于加载用户定义的类文件。

加载原则:双亲委托原则

首先,累加载器之间存在继承关系,也就是父子关系:启动类加载器<--扩展类加载器<--用户定义类加载器

原则:加载某一个类Test.class时,按常理应该先是最低级的类加载,但是JVM考虑到Java API被重写的安全因素,类加载器依次向上委托,因此类加载器使用的的顺序:

            启动类加载器-->扩展类加载器-->用户定义类加载器



版权声明:本文为博主原创文章,未经博主允许不得转载。

JVM基础篇——类的加载过程

类在JVM中的生命周期分七个阶段:加载、验证、准备、解析、初始化、使用和卸载。其中验证、准备、解析有称为类的连接。加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,而解析可以在初始化之前也可在初...

JVM如何加载一个类的过程

类的加载过程 Java源代码被编译成class字节码,JVM把描述类数据的字节码.Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟...

JVM加载Class过程

JVM加载Class包括3个阶段:类加载,链接,初始化 1.类加载 JVM通过类的全限定名(包命+类名)找到类的.class文件。然后把这个.class文件加载进来,这个过程需要通过ClassLo...

深入理解JVM之四:类加载过程

虚拟机类加载机制概念:虚拟机把描述类的数据的class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。首先,先来思考以下两个问题:       (1)...
  • zjngogo
  • zjngogo
  • 2016年04月15日 19:43
  • 202

JVM运行和类加载全过程

一、 为什么研究类加载全过程 有助于了解JVM运行过程 更深入了解java动态性(了解热部署、动态加载)提高程序的灵活性。 二、 类加载机制JVM把class文件加载到内存,并对数据进行校...

JVM虚拟机类加载机制-过程

虚拟机类加载机制 1. 类的生命周期:   加载、验证、准备、解析、初始化、使用、卸载七个阶段,其中验证、准备、解析三个阶段统称为连接。 其中,解析的阶段的时机并...

JVM_14_类加载的过程

类加载过程 下面我们看下Java虚拟机中类加载的全过程,也就是加载、验证、准备、解析和初始化这5个阶段所执行的具体动作。 1. 加载 "加载"是"类加载"(Class Loadi...

JVM源码分析之Java类的加载过程

http://www.jianshu.com/p/252e27863822 背景 最近对Java细节的底层实现比较感兴趣,如Java类文件是如何加载到虚拟机的,类对象和方法是以什么...

深入理解jre,JVM,Classloader,类加载过程

理解JRE,了解类加载器,类加载的分类,类的加载过程,类加载器里面的核心方法...

JVM类的加载过程

类加载器的主要任务就是根据一个类的权限定名来读取此类的二进制字节流到JVM内部,然后转换为一个与目标类对应的Class对象实例。 一个完整的类加载过程必须经历加载、连接和初始化这3个步骤。类加载器所...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JVM加载过程
举报原因:
原因补充:

(最多只允许输入30个字)