加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java语言的工作原理

发布时间:2020-12-15 08:38:03 所属栏目:Java 来源:网络整理
导读:我对 Java的了解不是很好,所以我想问一下这种语言是如何工作的.我不仅指“语言”,还指虚拟机. 这是我的理解. Java编译器将代码转换为Java字节代码.以.java文件的形式 当文件运行时,JVM读取(及时)字节码并将其转换为机器码. 计算机读取机器代码,程序似乎像编
我对 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恢复解释一段时间,然后再次重新编译它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读