您的位置 首页 java

java 代码是怎样执行的

说到java代码的执行,就要先说说 JVM .

JVM是可运行 java 代码的假想计算机 ,包括一套字节码指令集、一组 寄存器 、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。

执行总体步骤

java和 c++ 在运行方式上的区别?

java需要依赖 JRE 的运行环境,而c++代码则无需额外的运行时。

c++的运行方式已经很成熟了,那么为什么java要在 虚拟机 中运行呢?

  • 为了实现一次编写,到处运行的目标。
  • jvm作为一个很好的托管环境,类似于容器,能够代替我们处理一些代码中冗长而且容易出错的部分,比如垃圾回收。同时还提供诸如数组越界、动态类型、安全权限等的动态检测,让我们可以专心的写业务代码
  • JVM是怎样运行java字节码的?

    从虚拟机的视角来看,执行java代码首先需要将它编译而成的 class文件 加载到java虚拟机中。加载后的java类会被存放在方法区中。实际运行时,虚拟机会执行方法区的代码。

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

    在hotspot里面,上述编译过程有两种形式:第一种是解释执行,即逐条将字节码翻译成机器码并执行;第二种是即时编译(JIT),即将一个方法包含的所有字节码编译成机器码后再执行。

    前者的优势在于无需等待编译,而后者的优势在于实际运行速度更快。HotSpot默认采用混合模式,综合了解释执行和即时编译两者的优点。他会先解释执行字节码,而后将其中反复执行的热点代码以方法为单位进行即时编译。即时编译是建立在程序符合二八定律的假设上,也就是百分之二十的代码占据了百分之八十的计算资源。

    文章来源:智云一二三科技

    文章标题:java 代码是怎样执行的

    文章地址:https://www.zhihuclub.com/181543.shtml

    关于作者: 智云科技

    热门文章

    网站地图