
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Java编程开发是目前使用范围和使用人数都比其他编程语言多的一种编程开发语言,而本文我们就通过案例分析来简单了解一下,Java编程虚拟机技术应用基础知识分享。
一、基础知识
1、素材准备
从Java源代码、Java字节码、Java虚拟机、操作系统四个角度分解启动过程。
2、源代码生成字节码
利用Java环境提供的可执行命令javac将源代码编译成字节码文件,编译后的字节码文件与平台无关,可跨平台运行。注意区分javac命令是一个独立的编译应用,源代码编译完成,进程终止。java命令启动的虚拟机进程的编译过程是将字节码指令编译成汇编指令(二进制指令)。
3、虚拟机解析字节码
Java字节码无法直接在操作系统上创建进程,因此需要借助已经启动的虚拟机进程来解析字节码,处理字节码有两种常见方式:解释型和编译型。
在命令行中每运行java命令代表启动一个Java虚拟机进程,各虚拟机相互独立,通过命令行参数分别对虚拟机进程进行配置。
Java虚拟机准备启动完毕后,便可以依次解析字节码指令,正式运行Java代码部分。
4、操作系统管理虚拟机
操作系统通过进程管理和调度Java虚拟机,无法感知虚拟机间接解析Java字节码部分。Java字节码通过虚拟机的抽象,完成了在操作系统上运行。
二、Java虚拟机
当运行Java应用时,需要先安装Java环境,然而安装的Java环境与Java应用有什么关系,Java应用是如何运行起来的,下面一探究竟。
二进制可执行程序是C++编写经过GCC编译器编译后形成的,探索Java虚拟机的运行原理,先需要找到相应的源码。
(一)配置JVM装载环境
从操作系统加载环境变量、硬件信息等运行环境信息,为后续创建JVM进程做准备。
(二)命令行参数解析
装载完JVM环境之后,需要对启动时命令行参数进行解析,该过程通过ParseArguments方法实现,并调用AddOption方法将解析完成的参数保存到JavaVMOption中。