java是解释性编程语言吗?
有人说java的编译依赖于jdk,并没有生成可执行文件,只有classic作为中间产物,所以是解释性语言。但执行文件前确实要编译,有些搞不明白,java到底算哪种。...
有人说java的编译依赖于jdk,并没有生成可执行文件,只有classic作为中间产物,所以是解释性语言。但执行文件前确实要编译,有些搞不明白,java到底算哪种。
展开
5个回答
展开全部
Java是一种特殊的高级性语言,它既有解释性语言的特征,也有编译性语言的特征,因为它是经过先编译,后解释的过程。
简单说:
HelloWorld.java————>HelloWolrd.class————>特定平台的机器代码
①编译 ②解释
编写出一个HelloWorld.java文件,通过javac.exe解释器编译成了一个不是特定平台(操作系统)的机器码HelloWorld.class文件。当然这种机器码是不可以执行的,必须使用java解释器(java.exe)来执行的。可是java.exe不具有解释的能力,它是调用jvm-java虚拟机来解释成适用当前平台的机器码。
——纸上得来终觉浅,绝知此事要躬行
简单说:
HelloWorld.java————>HelloWolrd.class————>特定平台的机器代码
①编译 ②解释
编写出一个HelloWorld.java文件,通过javac.exe解释器编译成了一个不是特定平台(操作系统)的机器码HelloWorld.class文件。当然这种机器码是不可以执行的,必须使用java解释器(java.exe)来执行的。可是java.exe不具有解释的能力,它是调用jvm-java虚拟机来解释成适用当前平台的机器码。
——纸上得来终觉浅,绝知此事要躬行
展开全部
java compile 只是把source编译成jvm可辨识的中间代码,程序运行时,jvm再把代码根据不同的cpu,不同的os,解释成相应的机器码。所以java能跨平台
本回答被提问者采纳
展开全部
java源代码文件是.java文件,经过编译后是.class文件,这是一种中间代码(java字节码),运行时java虚拟机负责执行,java是以此获得跨平台特性和高效率的,因为java程序不是编译成机器码,所以不存在跨系统的问题,此外java虚拟机在程序运行时可以帮助java程序管理资源,所以效率高,这并不是一种解释性的语言。C#也是这种机制的。
展开全部
应该不算解释性语言,是介于纯粹的编译语言和解释性语言之间的一种形式,为了保证跨平台性和保护源代码的等目的
你只要知道运行需需要jre,编程需要jdk⋯⋯完事
就是用jdk编译为一种中间代码,然后用jre执行这种中间代码
你只要知道运行需需要jre,编程需要jdk⋯⋯完事
就是用jdk编译为一种中间代码,然后用jre执行这种中间代码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询