大家好,今天小编关注到一个比较有意思的话题,就是关于java 是解释性语言的问题,于是小编就整理了2个相关介绍Java 是解释性语言的解答,让我们一起看看吧。
编译型语言与解释型语言有何区别?
有以下几点区别:
对于解释性语言而言,程序运行时的控制权在解释器而不再用于程序。编译型语言对于编译器而言,运行时的控制权在用户程序。
二、运行速度不同
一些网页脚本,服务器脚本以及***开发接口这样的对速度要求不高,对不同系统的兼容性有一定要求的程序则通常使用解释性语言,如J***a、JavaScript、VBScript、Perl、Python、Ruby、Matlab等等。
编译语言由于程序执行速度快,同等条件下对系统的要求比较低,因此像开发操作系统、大型应用程序、数据库系统等时都***用它,像C/C++,Pascal/Object Pascal(Delphi)等都是编译型语言。
三、移植性不同
解释型语言,例如J***a语言,J***a程序首先通过编译器编译成class文件,如果在Windows平台上运行,则通过Windows平台上的J***a虚拟机(VM)进行解释。如果运行在Linux平台上,则通过Linux平台上的J***a虚拟机进行解释执行。
J***a是编译型语言还是解释型语言?
看什么平台,在电脑上开发会交叉编译成class字节码,到不同平台上表现还不通,像部署服务器上,服务器会在类加载的时候再一次编译成本地代码,然后执行,但是在安卓系统上,高版本的安卓会在程序安装的时候进行本地编译,运行的时候编译少部分动态代码。所以总体而言j***a还是编译型语言。解释型语言是按照作用域解析运行的,像js,也并不是读取一行运行一行,是当前作用域解析完运行,跟j***a本质差别是j***a会在完全编译完后运行。当然还有反射和运行时直接字节码操作相关的就另说了
感谢邀请!
首先在回答这个问题之前,我们得先知道什么编译型语言什么是解释型语言。
编译型语言就是直接把源码代码直接编译成二进制代码的可直接运行的程序,速度快,效率高的优点,但是依赖编译器,跨平台性较差,比如C、C++、Delphi、Pascal,Fortran这些语言。
解释型语言就是把写好的源码翻译一句,然后执行一句。特点是执行速度慢、效率低,依赖解释器,但是跨平台性好。如J***a、Basic。
简单来说,编译语言就是编译后可以直接运行,而解释语言的则需要有一个解释环境。
但是j***a很特殊,j***a程序也需要编译,但是没有直接编译称为二进制机器语言,而是编译成所有平台都相同的class字节码文件,然后再虚拟机用解释方式执行字节码。
J***a代码编译
J***a字节码的执行
在回答这个问题之前,我们先要搞清楚基本概念,什么是编译型语言,什么是解释型语言。
我们都知道,计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。
所谓编译型语言就是把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。解释型语言就是把做好的源程序翻译一句,然后执行一句,直至结束!
那么两者之间的区别是什么呢?解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。
对于J***a来说,其实它是很特殊的,j***a很特殊,J***a程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。有人说J***a是编译型的。因为所有的J***a代码都是要编译的,.j***a不经过编译就无法执行。 也有人说J***a是解释型的。因为j***a代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。
感谢悟空小秘书邀请,爱你哟!
这个问题我很有兴趣回答,本人曾经从事过J***a开发,首先可以明确的是,J***a是不绝对的编译型语言。
说到J***a就不得不提到另外一个相爱相杀的语言,都在软件开发领域占据很重要的两门语言,就是PHP,大家一定不陌生。PHP就是解释型语言。因此很多人问到PHP和J***a的区别在哪里的时候,第一个想到的就是这一点,因为编译型语言和解释型语言在效率上存在很大的不同。一方面在软件的运行效率,一方面在软件的开发效率。
什么是编译型语言?
为了便于大家理解,说到这个还是需要和解释型语言进行对比才好理解。J***a和PHP甚至C在某种程度上来讲,都不能被计算机直接执行,所以都存在编译运行的过程,生成底层二进制的机器指令,才能被机器直接执行。在生成的这个过程中略有不同,编译型语言是把整个代码文件一次性编译成二进制文件,供机器一次性执行。解释型语言是当代码执行到某一句的时候,才把这一句进行翻译。
纠结到底是编译型还是解释性语言是很没有必要的,站在不同的角度会有不同的看法,关键是能够理解各自语言的运行原理。多多突破技术难点,编写出更好的产品才是关键。
到此,以上就是小编对于j***a 是解释性语言的问题就介绍到这了,希望介绍关于j***a 是解释性语言的2点解答对大家有用。