加入收藏 | 设为首页 | 会员中心 | 我要投稿 桂林站长网 (https://www.0773zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Java中实例对象存储在哪?

发布时间:2021-03-25 16:56:35 所属栏目:外闻 来源:互联网
导读:Java编译流程 低级语言是计算机认识的语言、高级语言是程序员认识的语言。如何从高级语言转换成低级语言呢?这个过程其实就是编译。 不同的语言都有自己的编译器,Java语言中负责编译的编译器是一个命令:javac 通过javac命令将Java程序的源代码编译成Java字

Java编译流程

低级语言是计算机认识的语言、高级语言是程序员认识的语言。如何从高级语言转换成低级语言呢?这个过程其实就是编译。

不同的语言都有自己的编译器,Java语言中负责编译的编译器是一个命令:javac

通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的.class文件。这也是我们所理解的编译.

但是.class并不是计算机能够识别的语言.要想让机器能够执行,需要把字节码再翻译成机器指令,这个过程是JVM来完成的.这个过程也叫编译.只是层次更深..

因此我们了解到,编译器可划分为前端(Front End)与后端(Back End)。


 

以把将.java文件编译成.class的编译过程称之为前端编译。把将.class文件翻译成机器指令的编译过程称之为后端编译。

前端编译(Front End)

前端编译主要指与源语言有关但与目标机无关的部分,包括词法分析、语法分析、语义分析与中间代码生成。

例如我们使用很多的IDE,如eclipse,idea等,都内置了前端编译器。主要功能就是把.java代码转换成`.class字节码

后端编译(Back End)

后端编译主要指与目标机有关的部分,包括代码优化和目标代码生成等。

在后端编译中,通常都经过前端编译的处理,已经加工成.class字节码文件了 JVM通过解释字节码将其逐条读入并翻译为对应机器指令,读一条翻译一条,势必是分产生效率问题因此引入了JIT(just in time)

什么是JIT (Just in time)

当JVM发现某个方法或代码块运行特别频繁的时候,就会认为这是“热点代码”(Hot Spot Code)。JIT会把部分“热点代码”翻译成本地机器相关的机器码,并进行优化,然后缓存起来,以备下次使用

在HotSpot虚拟机中内置了两个JIT编译器分别是:

(编辑:桂林站长网)

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

    热点阅读