From ac3abdf21354fd67ba9a5ac02efb7f4b99a62dc5 Mon Sep 17 00:00:00 2001 From: RyanSmith <875354601@qq.com> Date: Sun, 26 Jun 2016 23:00:10 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=B7=BB=E5=8A=A0]JVM/JVM=E6=A6=82=E8=BF=B0.m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\347\273\223\346\236\204\345\233\276.png" | Bin 0 -> 91729 bytes .../JAVA/JVM/JVM\346\246\202\350\277\260.md" | 49 ++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 "images/JVM\347\232\204\344\275\223\347\263\273\347\273\223\346\236\204\345\233\276.png" diff --git "a/images/JVM\347\232\204\344\275\223\347\263\273\347\273\223\346\236\204\345\233\276.png" "b/images/JVM\347\232\204\344\275\223\347\263\273\347\273\223\346\236\204\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..78be49790efd4a5d8cb83842f63e0a585eb110b1 GIT binary patch literal 91729 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

T3FD;L*q{D4$l?HPL*H&eL0Vq%+m#Xi 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也就是JVM中JNI_CreateJavaVM方法获得JNIEnv结构的实例。 + +4. 运行Java程序. +Java程序有两种方式一种是jar包,一种是class。运行jar(Java -jarXXX.jar)的时候,Java.exe调用GetMainClassName函数,该函数先获得JNIEnv实例然后调用Java类Java.util.jar.JarFileJNIEnv中方法getManifest()并从返回的Manifest对象中取getAttributes("Main-Class")的值即jar包中文件:META-INF/MANIFEST.MF指定的Main-Class的主类名作为运行的主类。之后main函数会调用Java.c中LoadClass方法装载该主类(使用JNIEnv实例的FindClass)。main函数直接调用Java.c中LoadClass方法装载该类。如果是执行class方法。main函数直接调用Java.c中LoadClass方法装载该类。 +然后main函数调用JNIEnv实例的GetStaticMethodID方法查找装载的class主类中“publicstatic void main(String[] args)”方法,并判断该方法是否为public方法,然后调用JNIEnv实例的CallStaticVoidMethod方法调用该Java类的main方法。 +JVM体系结构 +JVM的体系结构图如下: +![image](images/JVM的体系结构图.png) +主要包括两个子系统和两个组件: Classloader(类装载器) 子系统,Execution engine(执行引擎) 子系统;Runtime data area (运行时数据区域)组件, Native interface(本地接口)组件。 +- Class loader子系统:根据给定的全限定名类名(如java.lang.Object)来装载class文件的内容到 Runtime data area中的method area(方法区域)。 +- Execution engine子系统:执行classes中的指令。方法的字节码是由Java虚拟机的指令序列构成的。每一条指令包含一个单字节的操作码,后面跟随0个或多个操作数。执行引擎执行字节码时,首先取得一个操作码,如果操作码有操作数,取得它的操作数。它执行操作码和跟随的操作数规定的动作,然后再取得下一个操作码。这个执行字节码的过程在线程完成前将一直持续。任何JVM实现的核心是Execution engine,换句话说:Sun 的JDK 和IBM的JDK好坏主要取决于他们各自实现的Execution engine的好坏。 +- Native interface组件 :与nativelibraries交互,是其它编程语言交互的接口。Java里声明为native的方法多数在jdk/src//native里可以找到。其中可以是share,也就是平台中立的代码;也可以是某个具体平台。这个native目录里的结构跟Java源码结构一样是按包名来组织的。不过需要提醒的是,这些native方法不是“JVM”的,是“类库”的,不在JVM里面。 +- Runtime data area 组件:Java虚拟机定义了若干种程序运行时使用到的运行时数据区,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,如堆、方法区。第二种则是与线程一一对应,随线程的开始和结束而创建和销毁,如Java栈,PC寄存器。 \ No newline at end of file -- Gitee