有关java是编译型语言还是解释性语言

博客分类:

JavaD语言JVMC++C#

小生现在大二, java学习的时间不到一年 
但是自认学习效率还是比较高的,同时在java上用时也比较多 
在周末,放假,暑假。 每天能花费12+个小时在实验室里面钻研j2ee

我学过c/c++差不多一年吧(我就属于十分喜欢编程,完全不跟随课程走,想学神马就专攻神马,表示其他杂课挂的挺频繁的。。。。。。)

今天在一个技术交流群里面见到有人谈论说java是【解释性语言】 
今天就在这里,发表一下自己的观点吧。。。

就拿c++和java比较吧 
c++就是先将cpp源代码编译为二进制文件、即exe文件(windows平台下)。c++肯定是编译性语言了 
而java也是先将源代码编译为二进制文件、即class文件,那为什么可以将java归类为解释性语言??????

群里有人说,java程序文件*.class是被JVM解释执行的 
但是要注意,被JVM执行的是编译过的class文件,它是一个二进制文件! 
JVM执行class文件和windows平台执行exe文件有区别吗?

小生JVM底层了解的确实不太多,但是如果你人云亦云的说java是解释型语言的话,那HTML、CSS是神马语言啊?也是解释型语言?不合理吧!怎么能和java一样呢,编译性语言?也不合理吧!

所以啊,我认为java绝对是一个编译性语言 

  闲着没事聊聊、大神们嘴下留情啊。。。。。。 
PS:最近想研究一下服务器servlet容器,哪位大神路过指点指点 

时间: 2024-08-29 14:14:37

有关java是编译型语言还是解释性语言的相关文章

Swift和OC,是编译型语言、解释性语言、运行时语言

首先需要明确的一点是,什么是编译型语言和解释性语言 编译型语言,就是在其执行过程中需要先将其经过编译成机器码来给计算机识别的,其执行效率就会比较高这个是显而易见的,常见比如:C.C++ 而解释型语言,是不用编译这个过程的,只是在执行时通过相应的翻译器(虚拟机)逐行翻译.这样它的跨平台性就会较好,因为可以直接通过编译器编译成需要的平台上的语言,但是有一个问题就是:它每次运行都要讲每行代码逐行解释翻译一遍.常见比如:Python.JS.PHP 由此可见,我们的OC和Swift都是需要先进行编译后才能

编译型语言和解释性语言的区别

编译型语言:在程序执行之前,有个单独的编译过程,将程序翻译成机器语言,所以执行这个程序的时候就不用再次进行翻译了 常见的有:c/c++.Pascal/Object Pascal(Delphi) 优劣:执行速度快,像操作系统.大型应用程序.数据库系统用的比较多 解释性语言:在程序运行的时候翻译成机器语言,每运行一次就翻译一次,所以比编译型语言慢 常见的有:java/c#.脚本语言 优劣:跨平台型好,网页脚本.服务脚本及辅助开发接口使用较多 脚本语言:解释性语言的一种,可以直接用(解释器来负责解释)

python\java\c\解释性语言\编译性语言 程序执行过程

c时纯粹的编译性语言,执行过程如下图: 可以看出c是通过预处理器.编译器.汇编器和链接器生成可执行的二进制目标文件,然后直接运行(编译性语言的本质).  Java和python是解释性语言,但并不是纯粹的解释性语言,准确来说是源文件被解释器加载或者显式地进行字节码编译之后,生成字节码文件,运行时字节码文件直接在解释器上边解释边运行(解释性语言的本质). java执行过程: a.java(源文件)----->a.class(字节码文件)----->解释器上直接运行 python执行过程 a.py

java是编程式语言还是解释性语言

一.你可以说它是编译型的.因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有. 二.你可以说它是解释型的.因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了. 三.但是,现在的JVM为了效率,都有一些JIT优化.它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的.像C.C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言.没有经过第二次的处理 而Java不

编译性语言、解释性语言和脚本语言

1.计算机不能直接理解高级语言,只能理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序.(计算机只能执行机器语言:我们要执行高级语言编的代码,就只能用编译器把它变成机器语言) 2.翻译有两种方式:a.编译b.解释.两种方式主要是翻译的时间不同 3.编译语言:编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成机器语言文件:比如,exe文件,以后运行的话就不用重新编译了,直接使用编译的结果就行了:因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序

编译性语言、解释性语言和脚本语言的区别

http://www.cnblogs.com/wvvv/p/5227318.html计算机是不能理解高级语言,当然也就不能直接执行高级语言了.计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算机才能运行高级语言编写的程序. 一.翻译和解释的不同 翻译的方式有两种,一个是编译,一个是解释. 两种方式只是翻译的时间不同.编译型语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(

解释性语言和编译性语言的区别

解释性语言和编译性语言的区别 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译的方式有两种,一个是编译,一个是解释.两种方式只是翻译的时间不同. 编译性语言 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高. 解释性语言 解释则不同

编译性语言和解释性语言分析

常见的编译性语言和解释性语言 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 机器翻译的方式有两种,一个是编译,一个是解释.两种方式只是翻译的时间不同. 解释性语言:Java.Python.Perl.C#.JavaScript.VBScript.Ruby.MATLAB等. 编译性语言:C/C++.Pascal/Object Pascal(Delphi)等. 编译性语言 编译型语言写的程序执行之前,需要一个专门的编译过程,把

编译性语言&解释性语言

计算机是不能理解高级语言,当然也就不能直接执行高级语言了.计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言.任何编程语言编写的程序归根到底都是由底层机器的机器代码(01序列)执行的,无论是编译型语言还是解释型语言.而任何高级编程语言程序的源代码都是一个字符序列,这个字符序列到底层的01序列是通过编译器或解析器经过多次转换完成的. 编译 vs 解释 翻译的方式有两种:一种是编译,一种是解释. 两种方式翻译的时间不同. 编译型语言写的程序在被执行之前,需要一个专门的编译过程,把程序