当前位置:首页 > 虚拟机 > 正文

java虚拟机的基本步骤


一、如何安装java虚拟机并设置java环境变量步骤如下:
1从Oracle官网下载JDK安装包,如:jdk-8u121-windows-i586(此为32位版本,64位请下载x64版本-小)。
2安装包下载完成后,双击安装包。
3安装完成后,需要配置名为JAVA_HOME环境变量的环境变量。
4将JDK安装目录的bin文件夹路径填入JAVA_HOME的变量值中,即D:\ProgramFiles\Java\jdk1.8.0_121。
5添加另一个名为Path的变量,并将变量值填充为%JAVA_HOME%\bin;。


二、怎样绘制java虚拟机

Java代码的编译是由Java源代码编译器完成的。流程图如下:


Java字节码的执行是由JVM执行引擎完成的。流程图如下:


Java的整个流程。代码编译和执行包括以下三个重要机制:

Java源代码编译机制

类加载机制

类执行机制

Java源码编译机制

Java源码编译包括以下三个过程:

解析并进入符号表

注解的处理

语义分析并生成class文件

流程图如下:


最终生成的class文件由以下部分:

结构信息。包括类文件格式的版本号以及有关每个部分的数量和大小的信息。

元数据。匹配有关Java源代码中的声明和常量的信息。包含继承类/超类/实现接口的声明信息、域和方法声明信息以及常量池。

有关方法的信息。匹配Java源代码中语句和表达式对应的信息。包含字节码、异常处理程序表、计算堆栈和局部变量区域大小、计算堆栈类型记录和调试符号信息。

类加载机制

JVM类加载是通过ClassLoader及其子类完成的。类的层次关系和加载顺序可以用下图来描述:

1)BootstrapClassLoader

负责加载$JAVA_HOME下jre/lib/中的所有类。它是用C++实现的,不是类加载器。子类。

2)ExtensionClassLoader

负责加载Java平台中扩展功能的一些jar包,包括jre/lib/ext/*.jar或者中指定的将jar包放在$JAVA_HOME目录中。

3)AppClassLoader

负责保存classpath中指定的jar包和目录中的classes。

4)CustomClassLoader

应用程序根据自己的需求定制的ClassLoader。例如,Tomcat和jboss都会按照J2EE规范实现ClassLoader。

在加载过程中,会首先检查类是否已经加载。检查顺序是从下到上,从CustomClassLoader到BootStrapClassLoader。是一层层检查的。加载完毕后,我们就认为这个类已经被加载了。这保证了所有类加载器仅加载类一次。加载顺序是从上到下,即顶层尝试逐层加载该类。

类执行机制

JVM基于栈架构来执行类字节码。创建线程后,会生成程序计数器(PC)和堆栈(Stack)。程序计数器存储该方法中要执行的下一条指令的偏移量。堆栈存储堆栈帧,并且每个堆栈帧都匹配。每次调用方法时,栈帧由两部分组成:局部变量区和操作数栈。局部变量区用于存储方法中的局部变量和参数,操作数栈用于存储。存储方法执行期间生成的数据。栈结构如下:


三、急!求高人指点!如何用java虚拟机运行java程序,我对java一窍不通!万分感谢!去oracle网站下载最新的JDK。安装完成后,将jdk路径设置为指向安装目录的bin目录。
那么最简单的方法就是运行helloworld。
保存下面名为的文件,该文件是一个纯文本文件。
publicclassHelloworld{
publicstaticvoidmain(String[]args){
n("Helloworld,我来了!");
}
运行命令
然后运行javaHelloword
如果出现这个屏幕,恭喜你,你已经开始使用Java了。
接下来可以使用一些快速开发工具,比如eclipse