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

Java比C++慢?看了测试功效,颠覆了我的认知,不得不说JIT真的强

发布时间:2021-06-01 19:07:38 所属栏目:编程 来源:互联网
导读:1. 概述 编程说话按照其抽象级别举办分类。我们区分高级说话(Java,Python,JavaScript,C ++,Go),初级说话(汇编措施),最后是呆板代码。 每个高级说话代码(例

编程说话按照其抽象级别举办分类。我们区分高级说话(Java,Python,JavaScript,C ++,Go),初级说话(汇编措施),最后是呆板代码。

每个高级说话代码(譬喻Java)都必要转换为呆板当地代码才气执行。该翻译进程可所以编译或表明。可是,尚有第三种选择。试图操作两种要领的组合。

2. 编译与表明

让我们开始研究编译息争释说话之间的一些差别。

2.1 编译说话

编译器将编译说话(C ++,Go)直接转换为呆板码。

在执行之前,它们必要明晰的构建步调。这就是为什么每次变动代码时都必要从头编译措施。

编译说话每每比表明说话更快,更有用。可是,它们天生的呆板码是特定于平台的。

2.2 表明说话

在表明说话(Python,JavaScript)中,没有构建步调。相反,表明器在执行措施时对措施的源代码举办操纵。

曾经以为表明说话比编译说话要慢得多。可是,跟着即时编译(JIT)的成长,机能差距正在缩小。JIT编译器在措施运行时将代码从表明说话转换为呆板码。

另外,我们可以在Windows,Linux或Mac等多个平台上执行表明后的说话代码。表明代码与特定范例的CPU系统布局没有关联。

3. Write Once Run Anywhere

Java和JVM在计划时思量了可移植性。因此,当今大大都风行的平台都可以运行Java代码。

这听起来好像体现着Java是一种纯表明性说话。可是,在执行之前,必要将Java源代码编译为字节码。字节码是JVM固有的一种非凡呆板说话。JVM在运行时表明并执行此代码。

它是JVM为支持Java的每个平台构建和定制的,并不是我们的措施或库。

JVM也具有JIT编译器。这意味着JVM在运行时优化我们的代码,以得到与编译说话相似的机能上风。

(编辑:湖南网)

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

    热点阅读