摘要:编译型语言把做好的源程序全部编译成二进制代码的可运行程序。所以可是说即是编译型的,也是解释型,但是假如非要归类的话,从概念上的定义,恐怕应该归到解释型的语言中。编译型的语言包括解释型的语言包括
转载自网络
Java这个语言很神奇:
你可以说它是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有。
你可以说它是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。
但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。
像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言,而由于java对于多种不同的操作系统有不同的JVM所以 Java实现了真正意义上的跨平台!
请观看下面两张图 了解一下Java的虚拟机机制:
Java的编译-->解释-->执行过程
Java的虚拟机
今天听到同事在讨论java是哪种类型的语言(编译型、解释型),以前稍微有些接触,但是概念比较模糊,为了不至于让别人的思想左右自己,所以查了些资料,找到了很多热心网友给出的答案,终于有些明白。这里先给出编译型语言和解释型语言的定义和区别。
编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!
编译型语言,执行速度快、效率高;依靠编译器、跨平台性差些。
解释型语言,执行速度慢、效率低;依靠解释器、跨平台性好。
个人认为,java是解释型的语言,因为虽然java也需要编译,编译成.class文件,但是并不是机器可以识别的语言,而是字节码,最终还是需要 jvm的解释,才能在各个平台执行,这同时也是java跨平台的原因。所以可是说java即是编译型的,也是解释型,但是假如非要归类的话,从概念上的定义,恐怕java应该归到解释型的语言中。
编译型的语言包括:C、C++、Delphi、Pascal、Fortran
解释型的语言包括:Java、Basic、javascript
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/73197.html
摘要:最后给出编译型语言和解释型语言的定义。定义编译型语言把做好的源程序全部编译成二进制代码的可运行程序。解释型语言把做好的源程序翻译一句,然后执行一句,直至结束特点编译型语言,执行速度快效率高依靠编译器跨平台性差。 有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。 也有人说Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在J...
摘要:编译型语言解释型语言主要问题是没有团体或者组织规定这些例如编译型语言和解释型语言的定义以及如何划分。下面是处理声明语句的过程一旦引擎进入一个执行具体代码的执行上下文函数,它就对代码进行词法分析或者分词。这是解释型语言需要的。 几天前一个刚接触 JavaScript 的朋友问我 JavaScript 是编译型语言还是解释型语言。从一个初学者那里听到这样的问题让我有些惊讶,因为所有初学者都...
摘要:可以脱离语言环境独立运行就像一本英文书,我找一个翻译,给他点时间,把英文书翻译成中文的,这就是编译型语言解释型语言有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器虚拟机。就像还是一本英文书,我看一句让他给我解释一句。 写在前面 随着大数据、人工智能这类词汇扑向我们,python这个早在1989就已经出现的语言终于高调回归,为了更好的学习python 我们先来了解下它的前世...
摘要:准确的理解,是编译型语言,源代码整个编译成字节码,字节码,是解释型语言。是一个非常灵活的语言,支持命令式和函数式编程。编译型语言通常会用做配置文件,因为我们通常不会改编译后的字节码。 编程语言按各种方法可以分为各种类型,现在让我们来看看JS属于什么类型语言 解释型语言 按编译执行过程,可以分为编译型语言和解释型语言。比如 c 语言,必须先经过编译生成目标文件,然后链接各个目标文件和库...
阅读 1263·2021-09-27 13:35
阅读 2558·2021-09-06 15:12
阅读 3379·2019-08-30 15:55
阅读 2826·2019-08-30 15:43
阅读 429·2019-08-29 16:42
阅读 3444·2019-08-29 15:39
阅读 3060·2019-08-29 12:28
阅读 1239·2019-08-29 11:11