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

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

java虚拟机:
  

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

时间: 2024-10-10 11:01:50

java是编程式语言还是解释性语言的相关文章

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

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

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

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

编译性语言与解释性语言

计算机不能直接理解高级语言,所以需要将高级语言翻译成机器语言,翻译有两种方式:编译.解释,这两种方式主要是翻译的时间不同. 编译性语言 编译性语言指代码需要先编译成机器语言的二进制文件,然后再执行.这样在执行的时候就不需要再翻译了,所以执行效率高.典型的有C/C++. 解释性语言 解释性语言指跳过编译阶段,直接运行,在运行时翻译.每次执行都需要翻译一次,所以效率较低.每种解释性语言都有对应的引擎来解释执行.有点类似于"同声翻译",代码一边由相应的解释器"翻译"成机器

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

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

编译性语言不如解释性语言跨平台性好

编译性语言例如c语言:用c语言开发了程序后,需要通过编译器把程序编译成机器语言(即计算机识别的二进制文件,因为不同的操作系统计算机识别的二进制文件是不同的),所以c语言程序进行移植后,要重新编译. 解释性语言,例如java语言,java程序首先通过编译器编译成class文件,如果在windows平台上运行,则通过windows平台上的java虚拟机(VM)进行解释.如果运行在linux平台上,则通过linux平台上的java虚拟机进行解释执行.所以说能跨平台,前提是平台上必须要有相匹配的java

编译性语言和解释性语言

一.解释性语言和编译型语言: 定义: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序.然后,可直接运行这个程序. 解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束! 特点: 编译型语言,执行速度快.效率高:依靠编译器.跨平台性差. 解释型语言,执行速度慢.效率低:依靠解释器.跨平台性好. 举例:编译型的语言包括:C.C++.Delphi.Pascal.Fortran 解释型的语言包括:Basic.javascript.Python. 二.Java和Python的语言执行原理

Java学习-编程式的事务管理

编程式事务提供了TransactionTemplate 模板类,该类可以大大减少事务操作的代码.因此TransactionTemplate 采用Callback 避免让开发者重复书写其打开事务.提交事务及回滚事务等代码,同时TransactionTemplate 无须书写大量的try..catch 块. HibernateTemplate 必须提供PlatformTransactionManager 实例.该实例既可以在代码中手动设置,也可以使用Spring 的依赖注入.总之,只要获取了Plat

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

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

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

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