侧边栏壁纸
博主头像
沙漠渔

把過去的累積,善用到當下

  • 累计撰写 472 篇文章
  • 累计创建 285 个标签
  • 累计收到 946 条评论
标签搜索

目 录CONTENT

文章目录

Java程序执行一段时间后跑的会更快?是的!

沙漠渔
2022-11-04 / 0 评论 / 0 点赞 / 267 阅读 / 527 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-11-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

这几天在跑一个压力比较大的Java程序,偶然发现刚启动的时候跑的非常慢,然后等一段时间之后速度飞快,总的下来是可以满足压力需求的,那这种情况是否是正常现象呢?答案是:正常现象,Java程序运行一段时间之后会跑的更快!

对于Java 应用来说,程序员之间一个认识口口相传: 要看一个Java程序跑的快不快,需要多跑几次;另外,Java程序跑一段时间之后会快起来。速度甚至能赶上 C/C++程序的速度。

如果你问为什么跑一段时间就快了呢?

一般都能听到 「因为JVM会把调用次数多的热方法编译再执行」的答案。

更通俗的话来讲, JVM会把热方法编译成机器码,执行效率会更高。就像公司或工厂里,对于一项任务,一般老手都比新人更快,因为老手更熟悉嘛。所以招聘要求里你很少会见到指明要新人的,大部分都是要有工作经验的。

而JVM将热方法编译生成的机器码,由于是针对当前平台,当前硬件生成的,对应用具体执行情况分析之后进行编译而成,所以就像老手一样,能更了解情况,效率当然更高。

默默在背后做编译工作的人就是 JIT (Just-In-Time) 编译器,一般也叫即时编译器。
后面抽时间会详细说明一下这个JIT的工作原理,也算是解决当前的困惑。

0
广告 广告

评论区