`

JVM执行过程

    博客分类:
  • JVM
 
阅读更多

java -Xmx=256m -Xms=512m -Dname=value com.iss.MainApp

 

1. 加载JVM,主要是加载动态链接库,windows下jvm.dll,Linux下libjvm.so

 

2. 设置JVM启动参数,-Xmx=256m -Xms=512m设置堆大小

 

3. 初始化JVM。

 

4. 调用类加载器子系统,加载com.iss.MainApp。自定义类,根据类加载器双亲委派链,由系统默认类加载器(Classpath类加载器)进行加载。首先,根据全路径类型转化为文件路径com/iss/MainApp.class,然后读取MainApp.class中的二进制信息、解析、加载,在方法区中形成MainApp类对应的数据结构。这里可能抛出ClassNotFoundException,有两种原因。一是文件路径com/iss/MainApp.class不存在;二是com/iss/MainApp.class文件路径存在,但是MainApp.class文件中存储的不是MainApp类的信息,比如是MainApp1,MainApp2等其他类的信息。这种情况下,会抛出NoClassDefFoundError,然后导致ClassNotFoundException。

 

5. 在方法区com.iss.MainApp类对应的数据结构中,根据方法描述符及访问标志,查找main方法。这里的描述符,包括了方法的方法名、参数、返回值,也就是public static void main(String[])。如果找不到对应的main方法,会抛出NoSuchMethodError: main异常。

 

6. 通过本地方法(JNI)执行main方法。  

分享到:
评论

相关推荐

    JVM执行子系统原理

    详细介绍了JVM执行子系统的工作原理,包括类文件结构与字节码指令(Class类文件结构、JVM字节码指令简介)、JVM类加载机制(类加载器、类加载时机、类加载过程)、字节码执行引擎(运行时候的栈结构、方法调用、方法...

    深入理解JVM内存结构及运行原理全套视频加资料

    包括JVM执行过程、虚拟机类加载机制、运行时数据区、GC、类加载器、内存分配与回收策略等,全套视频加资料高清无密码  第1讲 说在前面的话 免费 00:05:07  第2讲 整个部分要讲的内容说明 免费 00:06:58  第3讲...

    JVM执行子系统.pdf

    在学习Java过程中,自己收集了很多的Java的学习资料,分享给大家,有需要的欢迎下载,希望对大家有用,一起学习,一起进步。

    深入理解JVM内存结构及运行原理全套视频加资料.txt

    包括JVM执行过程、虚拟机类加载机制、运行时数据区、GC、类加载器、内存分配与回收策略等,全套视频加资料高清无密码  第1讲 说在前面的话 免费 00:05:07  第2讲 整个部分要讲的内容说明 免费 00:06:58  第3讲...

    jvm指令手册 +JVM必知必会,掌握虚拟机编译过程.rar

    Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。 JVM指令主要分为:本地变量表到操作数栈类指令、操作数栈到本地变量表类指令、常数到操作数栈类指令、将数组指定索引的数组推送...

    JVM基础.doc

    • Java编译执行流程 • ClassFile的格式介绍 • ClassFile中FieldInfo和MethodInfo介绍 • 类型描述Descriptor介绍 • ClassFile中的Attribute介绍 • JVM指令介绍,获得ClassLoader的途径,CAS指令由硬件提供 • ...

    JVM TI监控JAVA执行过程

    参考博文:http://blog.csdn.net/lishengbo/article/details/40660091

    深入JVM内核 - 原理、诊断与优化

    介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。 第三课 常用JVM参数 堆的分配参数 栈分配及实例讲解 server与client模式 调试跟踪参数 介绍常用的JVM参数,包括内存分配、堆栈分配、...

    很入理解JVM体系

    3、JVM运行流程 4、JVM生命周期 5、三大流行的JVM 2.2、JVM体系结构 1、类加载器 2、执行引擎 3、运行时数据区 4、本地库接口 2.3、JVM内存参数调整及监控 1、JVM之内存调整 2、JVM监控工具之Jconsole 3、JVM监控...

    深入理解Java代码执行过程--JVM 指令集

    深入理解Java代码执行过程--JVM 指令集

    jvm工作机制

    简单讲解jvm工作机制 与执行过程

    深入JVM内核—原理、诊断与优化

    第二周JVM运行机制简介堆、栈、方法区等JVM启动流程内存模型和volatile实例解释和编译运行的概念介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。第三周常用JVM参数堆的分配参数栈分 资源太大...

    Java进阶教程解密JVM视频教程

    JVM 是 Java 程序的运行环境,学习 JVM,方能了解 Java 程序是如何被执行的,为进一步深入底层原理乃至程序性能调优打好基础。通过学习这门课程,你将掌握:1. JVM 内存结构的组成、各部分功能作用,学会利用内存...

    Java内存模型-JVM(2018.11.13).pptx

    Java内存模型的学习!JVM讲解;Java程序执行流程;Java运行时数据区(内存问题);GC及算法

    JVM-HotSpot-原理

    • HotSpot • ClassFile • ClassLoader • 内存模型、锁、同步 • JVM内存管理和垃圾收集 Java发展历程 JVM列表 OpenJDK 编译执行过程 解析执行和JIT编译

    JVM学习总结

    多进程,多线程,并发,并行: 1.多进程,同时打开word,excel,ppt 2.多进程,迅雷同时下载多个资源 ...5.多线程可能被分配到一个CPU内核中执行,也可能被分配到不同CPU执行, 分配过程是操作系统所为,不可人为控制

    JVM指令手册(包含指令说明,和案例解释)

    javap -c xxx.class > xxx.txt 反汇编 方便大家查阅理解JVM执行代码的过程

    JVM调优基本概念以及调优的工作流程

    1、jvm组成以工作流程 jvm组成 类装载器、运行时数据区(内存模型)、字节码执行引擎 工作大致流程 首先我们的java类编译成class类文件,当我们的class文件开始执行,我们的虚拟机便开始工作。 类加载器将class加载...

    JVM——Java虚拟机架构

    Java虚拟机(Javavirtualmachine)实现了Java语言最重要的特征:即平台无关性。平台无关性原理:编译后的Java程序(.class文件)由JVM执行。JVM屏蔽了与具体平台相关的信息,使程序可以在多种...在整个程序执行过程中

    java8rt.jar源码-mini-jvm:Go语言实现的JVM,实现了部分字节码的解释执行,学习JVM使用

    执行过程中如果遇到新的类符号引用,则会通过全限定性名再从classpath中加载新的类文件,以此类推; 控制台输出、多线程功能通过自定义的标准库"mini-lib"中的Printer和MiniThread实现,没有使用JDK的标准库Thread,...

Global site tag (gtag.js) - Google Analytics