【第22期】观点:IT 行业加班,到底有没有价值?

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虚拟机的可执行文件为.class文件,那么什么时候JVM虚拟机会加载自己所需要的类呢?之前自己一直有这样的问题,上网找过好多网友的解释,感觉好像理解但是自己却无法说清楚,今天看了《深入...

JVM学习笔记(七):类加载的过程

本文根据《深入理解java虚拟机》第7章部分内容整理       

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

jvm加载过程分析

为了支持跨平台的特性,java语言采用源代码编译成中间字节码,然后又各平台的jvm解释执行的方式。字节码采用了完全与平台无关的方式进行描述,java只给出了字节码格式的规范,并没有规定字节码最终来源是...

JVM加载Class过程分析

我们知道, JVM是通过调用一个 Class类得 main方法来进入一个类得,这个 main方法必须是 public、 static、 void修饰的。但是在这之前,<

深入理解JVM(九)——类加载的过程

通过之前的介绍可知,类加载过程共有5个步骤,分别是:加载、验证、准备、解析、初始化。其中,验证、准备、解析称为连接。下面详细介绍这5个过程JVM所做的工作。 加载 注意:“加载”是“类加载”过程的...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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