前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么说Java是编译和解释并存的存在?

什么说Java是编译和解释并存的存在?

作者头像
程序视点
发布2023-09-14 14:00:17
2650
发布2023-09-14 14:00:17
举报
文章被收录于专栏:程序小小事

大家好,欢迎来到程序视点!我是小二哥。

今天说说“为什么说Java语言是编译和解释并存的存在?

编译 VS 解释

通常,我们可以将高级编程语言按照程序的执行方式分为两种:

  • 编译型 编译型语言会通过编译器将源代码一次性翻译成可被该平台执行的机器码。一般情况下,编译语言的执行速度比较快,开发效率比较低。常见的编译性语言有 C、C++、Go、Rust 等等。
  • 解释型 解释型语言会通过解释器一句一句的将代码解释(interpret)为机器代码后再执行。解释型语言开发效率比较快,执行速度比较慢。常见的解释性语言有 Python、JavaScript、PHP 等等。

Java 是编译型,还是解释型?

Java 语言既具有编译型语言的特征,也具有解释型语言的特征。 因此,我们说Java是编译和解释并存的。

我们来看看 Java 程序从源代码到运行的过程。(如下图所示)

第一步,.java通过javac编译成.class文件,这就是一次性的编译过程。 第二步,.class的字节码文件,需要解释为平台机器识别的代码才能调度运行。这就是解释器的特性。

小扩展

上图中,解释器边上还有个一个叫 JIT的东西。这是为了改善编译语言的效率而发展出的即时编译技术。

即时编译技术混合了编译语言与解释型语言的优点,它像编译语言一样,先把程序源代码编译成字节码。到执行期时,再将字节码直译,之后执行。

因此,从开发效率上讲,Java比通常的编译型语言要快;从执行效率上讲,Java又比解释型语言要快。

万金油的Java每样都要沾一点,哈哈~~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-14 08:08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序视点 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编译 VS 解释
  • Java 是编译型,还是解释型?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档