java程序在哪里运行_JAVA代码是怎么运行的

1.JAVA代码的运行模式:

可以在开发工具中运行,可以直接双击JAR文件运行,可以在命令行运行,无论是哪种运行方式,都离不开JRE,即JAVA运行时环境。这也是JAVA与C++的区别,C++是编译成机器码在CPU中运行。

2.为什么需要在虚拟机运行:

JAVA是一门高级程序语言,语法复杂,抽象程度高,直接在硬件上运行复杂的程序不现实,所以运行前需要进行转换。设计一个虚拟机,并通过编译器将JAVA程序转换成该虚拟机可识别的指令序列,也成为JAVA字节码,在有虚拟机进行解释。

虚拟机的另外一个好处就是,它带来了一个托管环境,这个托管环境能代替我们处理代码中冗长而容易出错的部分(内存管理、垃圾回收)。

3.JAVA虚拟机如何运行字节码程序:

HOTSPOT:

1.首先需要将它编译而成的class文件加载到java虚拟机中。

2.加载后的java类会被存放于方法区(Method Area)。

3.实际运行时,虚拟机会执行方法区内的代码。

4.每当调用进入一个JAVA方法,JAVA虚拟机都会在当前线程的JAVA方法栈中生成一个栈帧。

5.退出时销毁栈帧。

4.HOTSPOT中编译过程的两种方式:

1.解释执行:无需等待编译。

2.即时编译:实际运行速度更快。

HOTSPOT内置多个及时编译器 C1,C2,GRAAL(jdk10)。C1 client编译器 C2 Server编译器

JVM的栈分为java的方法栈和本地方法栈。每个方法调用会在栈上划出一块作为栈帧,一个栈是由多个栈帧构成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值