Java是编译型语言还是解释型语言

Java是编译型语言还是解释型语言

  • 答案:java既是编译型语言,也是解释型语言。

  1. 你可以说它是编译型的。因为所有的Java代码都需要经过javac编译为.class文件,但主要是由于java现在拥有了jit,会将热点代码的.class文件直接编译为二进制本地代码。

  2. 你可以说它是解释型的。因为java代码编译后.class文件还是不能直接运行在操作系统上,还需要经过jvm解释为二进制代码。

  3. 现在的JVM为了效率,都有一些JIT(Just In-Time Compiler)优化。它又会把热点代码的.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言,而由于java对于多种不同的操作系统有不同的JVM所以 Java实现了真正意义上的跨平台!


  • 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
    解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

  • 编译型语言,执行速度快、效率高;依靠编译器、跨平台性差些。
    解释型语言,执行速度慢、效率低;依靠解释器、跨平台性好。

  • 编译型的语言包括:C、C++、Delphi、Pascal、Fortran
    解释型的语言包括:Java、Basic、javascript

posted on   汪汪程序员  阅读(7614)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示