如何运行java代码?java虚拟机怎么运行字节码?

阳光 2021-01-28 21:32:32 java常见问答 7692

Java作为一门高级程序语言,它的语法复杂,抽象程度也很高,可是写java程序,最终的目的就是要将程序运行起来,那么如何运行java代码?接下来,我们就来给大家讲解一下这方面的内容。

Java代码有很多运行方式:

1、在开发工具中运行;

2、双击jar文件运行;

3、在命令行中运行;

4、在网页中运行;

当然,上述运行方式都离不开JRE, 也就是Java运行时环境。JRE仅包含Java程序的必须组件,包括Java虚拟机以及Java核心类库等。而我们Java程序员经常接触到的JDK(Java开发工具包)同样包含了JRE, 并且还附带了一系列开发、诊断工具。然而,运行C++程序则无需额外的运行时环境,C++编译器往往把C++代码编译成CPU能够理解的机器码。

java虚拟机怎么运行字节码?

执行Java代码首先需要将他编译成class文件加载到Java虚拟机中。加载后的Java类会被存放于方法区(method area).实际运行时,虚拟机会执行方法区内的代码。Java虚拟机同样会在内存中划分出堆和栈来存储运行时数据。

在运行过程当中,每当调用一个Java方法,Java虚拟机会在当前线程的Java方法栈中生产一个栈帧。用于存放局部变量以及字节码的操作数。这个栈帧大小是提前计算好的,而且栈帧在内存空间里可以不是连续分布的。

当退出当前执行的方法时,不管是正常返回还是异常返回,虚拟机均会弹出当前线程的当前栈帧,并将之舍去。

Java字节码是无法执行的。因此,Java虚拟机需要将字节码翻译成机器码。在hotspot里面,有两种编译方式:第一种是解释执行,逐条将字节码翻译成机器码并执行;第二种是即时编译,讲一个方法中包含的所有字节码编译成机器码后执行。

前者的优势在于无需等待编译,而后者的优势在于实际运行速度更快。hotspot默认采用混合模式,综合了解执行和即使编译两者的优点。他先解释执行字节码,而后将其中反复执行的热点代码,以方法为单位进行即时编译。

Java代码运行的方法还是有很多种的,java人员可以根据自己的需求去找方法去在运行代码,最终只要将代码运行正确就可以了,最后大家如果想要了解更多java入门知识,敬请关注奇Q工具网。

推荐阅读:

java如何运行步骤jdk?jdk配置步骤是什么?

java怎么做网页?要注意什么?

java编程是什么?java编程有哪些特点?