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详解,类加载过程

  • 2015-05-20 18:55
  • 3.16MB
  • 下载

JVM类加载过程中抛出的常见异常

1.ClassNotFoundException  这是最常见的异常,产生这个异常的原因为在当前ClassLoader中加载类时未找到类文件,对于SystemClassLoader的类很容易 判断...

[jvm解析系列][九]类的加载过程和类的初始化。你的类该怎么执行?为什么需要ClassLoader?

通过前面好几章的或详细或不详细的介绍,我们终于把字节码的结构分析的差不多了。现在我们面临这样一个问题,如何运行一个字节码文件呢? 首先,java语言不同于其他的编译时需要进行链接工作的语言不通,jav...

JVM虚拟机之类加载的过程

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

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

首先看几道题: 类的生命周期       类在JVM中的生命周期分七个阶段:加载、验证、准备、解析、初始化、使用和卸载。其中验证、准备、解析有称为类的连接。加载、验证、准备、初始化...

JVM核心机制_类加载全过程JAVA218-219

一、S02E218_01JVM核心机制_类加载全过程、JVM内存分析、反射机制核心原理、常量池理解二、S02E219_01JVM核心机制_类加载全过程、初始化时机、类的主动引用和被动引用、静态初始化块...

jvm-java虚拟机类加载过程

jvm-类加载 类从被加载到虚拟机内存中开始到卸载出内存为止,整个生命周期包括 1、加载(Loading) 2、{验证(Verification)、准备(Preparation)、解析(Reso...

java核心机制——jvm运行以及类加载全过程

jvm运行和类加载 为啥要研究类加载全过程? ~~有助于了解JVM运行过程 ~~更深入了解java动态性,(解热部署,动态加载)提高程序来的灵活性。 类加载机制 ~JVM把class文件加...

JVM 加载.class的过程

JVM 加载.class的过程 FROM : http://rq2-79.iteye.com/blog/1393675 FROM : http://www.cnblogs.com/focusj/a...

jvm加载过程解析

Java虚拟机(JVM) Java虚拟机(JVM)是Java Virtual Machine的缩写,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能模拟来实现的。 Java中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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