java语言原理_Java语言的工作原理

我对Java的了解不是很好,所以我想问一下这种语言是如何工作的.我不仅指“语言”,还指虚拟机.

这是我的理解.

> Java编译器将代码转换为Java字节代码.以.java文件的形式

>当文件运行时,JVM读取(及时)字节码并将其转换为机器码.

>计算机读取机器代码,程序似乎像编译程序一样运行(对用户).

这绝对错了吗?

解决方法:

已经有很多答案,但我遗漏了一个重点:

“2. when the file is run, the JVM reads (just in time) the byte-code and turns it into machine code.”

这不太正确.

> JVM首先解释代码

>它看着最耗时的部分,热点

>它分析跟踪,即典型的执行流程

>它生成针对热点和迹线优化的机器代码

代码中耗时较少的部分可能会被解释.如果情况发生变化(例如,通过加载新类),某些已编译的代码可能会显示为不再优化甚至不正确,并且它会被丢弃并且JVM恢复解释一段时间,然后再次重新编译它.

标签:java,jvm

来源: https://codeday.me/bug/20190730/1579840.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值