美文网首页
浅谈Java语言是编译型还是解释型

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

作者: 值得一看的喵 | 来源:发表于2017-11-30 13:37 被阅读0次

Java这个语言很非凡。因为你可以说它是编译型的,所有的Java代码都是要编译的,.java不经过编译就什么用都没有;你可以说它是解释型的,因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。

像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言,而由于java对于多种不同的操作系统有不同的JVM所以 Java实现了真正意义上的跨平台! 

请观看下面两张图 了解一下Java的虚拟机机制: 

(1)java语言的编译-->解释--->执行过程 

(2)java的虚拟机 

今天听到同事在讨论java是哪种类型的语言(编译型、解释型),以前稍微有些接触,但是概念比较模糊,为了不至于让别人的思想左右自己,所以查了些资料,找到了很多热心网友给出的答案,终于有些明白。这里先给出编译型语言和解释型语言的定义。 

定义: 

编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。 

解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束! 

区别: 

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

解释型语言,执行速度慢、效率低;依靠解释器、跨平台性好。 

个人认为,java是解释型的语言,因为虽然java也需要编译,编译成.class文件,但是并不是机器可以识别的语言,而是字节码,最终还是需要 jvm的解释,才能在各个平台执行,这同时也是java跨平台的原因。所以可是说java即是编译型的,也是解释型,但是假如非要归类的话,从概念上的定义,恐怕java应该归到解释型的语言中。 

附: 

编译型的语言包括:C、C++、Delphi、Pascal、Fortran 

解释型的语言包括:Java、Basic、javascript

相关文章

  • JAVA非编程类知识总结(敲黑板~)

    1、java是编译型语言还是解释型语言?(解释型语言) java第一次编译成自己可认识文件.class,然后JVM...

  • 浅谈Java语言是编译型还是解释型

    Java这个语言很非凡。因为你可以说它是编译型的,所有的Java代码都是要编译的,.java不经过编译就什么用都没...

  • 《Java8编程官方参考教程》笔记

    第一章Java的历史和演变 1.1Java是解释型语言还是编译型语言 都是。编译型语言是指编译为字节码,字节码是高...

  • 菜鸟Python(1)

    Python 是解释型语言 java 是编译型语言 解释型语言,发布相当等于公布源码. 解释型语言,运行时间长 编...

  • 基础概述

    基础 语言分类 编译型 : c,c++ Java 有编译型,也有解释型 解释型: Python,Rub...

  • 第一周总结

    一、初识Java 1.Java既属于编译型语言,又属于解释型语言 编译型语言:在程序执行之前,先进行编译,下次运行...

  • JavaScript之解释型语言与编译型语言

    概览 JavaScript是一门解释型的编译语言。 内容 解释型语言 vs 编译型语言 解释型语言与编译型语言的本...

  • js设计原理

    js是解释型语言 语言分编译型和解释型语言 解释器和编译器

  • JavaScript编译原理与内存管理

    编译原理 编译还是解释? 编程语言分为编译型语言和解释型语言两种,编译型语言的源代码在执行之前要进行完全编译,例如...

  • Java 程序运行机制

    计算机高级语言程序的执行方式可分为编译型和解释型两种 一、编译型语言 二、解释型语言 三、java程序的运行机制 ...

网友评论

      本文标题:浅谈Java语言是编译型还是解释型

      本文链接:https://www.haomeiwen.com/subject/kyjvbxtx.html