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执行子系统的工作原理,包括类文件结构与字节码指令(Class类文件结构、JVM字节码指令简介)、JVM类加载机制(类加载器、类加载时机、类加载过程)、字节码执行引擎(运行时候的栈结构、方法调用、方法...
包括JVM执行过程、虚拟机类加载机制、运行时数据区、GC、类加载器、内存分配与回收策略等,全套视频加资料高清无密码 第1讲 说在前面的话 免费 00:05:07 第2讲 整个部分要讲的内容说明 免费 00:06:58 第3讲...
在学习Java过程中,自己收集了很多的Java的学习资料,分享给大家,有需要的欢迎下载,希望对大家有用,一起学习,一起进步。
包括JVM执行过程、虚拟机类加载机制、运行时数据区、GC、类加载器、内存分配与回收策略等,全套视频加资料高清无密码 第1讲 说在前面的话 免费 00:05:07 第2讲 整个部分要讲的内容说明 免费 00:06:58 第3讲...
Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。 JVM指令主要分为:本地变量表到操作数栈类指令、操作数栈到本地变量表类指令、常数到操作数栈类指令、将数组指定索引的数组推送...
• Java编译执行流程 • ClassFile的格式介绍 • ClassFile中FieldInfo和MethodInfo介绍 • 类型描述Descriptor介绍 • ClassFile中的Attribute介绍 • JVM指令介绍,获得ClassLoader的途径,CAS指令由硬件提供 • ...
参考博文:http://blog.csdn.net/lishengbo/article/details/40660091
介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。 第三课 常用JVM参数 堆的分配参数 栈分配及实例讲解 server与client模式 调试跟踪参数 介绍常用的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 指令集
简单讲解jvm工作机制 与执行过程
第二周JVM运行机制简介堆、栈、方法区等JVM启动流程内存模型和volatile实例解释和编译运行的概念介绍JVM的内部结构、启动流程以及内存模型。并介绍JVM字节码的执行方式。第三周常用JVM参数堆的分配参数栈分 资源太大...
JVM 是 Java 程序的运行环境,学习 JVM,方能了解 Java 程序是如何被执行的,为进一步深入底层原理乃至程序性能调优打好基础。通过学习这门课程,你将掌握:1. JVM 内存结构的组成、各部分功能作用,学会利用内存...
Java内存模型的学习!JVM讲解;Java程序执行流程;Java运行时数据区(内存问题);GC及算法
• HotSpot • ClassFile • ClassLoader • 内存模型、锁、同步 • JVM内存管理和垃圾收集 Java发展历程 JVM列表 OpenJDK 编译执行过程 解析执行和JIT编译
多进程,多线程,并发,并行: 1.多进程,同时打开word,excel,ppt 2.多进程,迅雷同时下载多个资源 ...5.多线程可能被分配到一个CPU内核中执行,也可能被分配到不同CPU执行, 分配过程是操作系统所为,不可人为控制
javap -c xxx.class > xxx.txt 反汇编 方便大家查阅理解JVM执行代码的过程
1、jvm组成以工作流程 jvm组成 类装载器、运行时数据区(内存模型)、字节码执行引擎 工作大致流程 首先我们的java类编译成class类文件,当我们的class文件开始执行,我们的虚拟机便开始工作。 类加载器将class加载...
Java虚拟机(Javavirtualmachine)实现了Java语言最重要的特征:即平台无关性。平台无关性原理:编译后的Java程序(.class文件)由JVM执行。JVM屏蔽了与具体平台相关的信息,使程序可以在多种...在整个程序执行过程中
执行过程中如果遇到新的类符号引用,则会通过全限定性名再从classpath中加载新的类文件,以此类推; 控制台输出、多线程功能通过自定义的标准库"mini-lib"中的Printer和MiniThread实现,没有使用JDK的标准库Thread,...