java是解释性编程语言吗?

有人说java的编译依赖于jdk,并没有生成可执行文件,只有classic作为中间产物,所以是解释性语言。但执行文件前确实要编译,有些搞不明白,java到底算哪种。... 有人说java的编译依赖于jdk,并没有生成可执行文件,只有classic作为中间产物,所以是解释性语言。但执行文件前确实要编译,有些搞不明白,java到底算哪种。 展开
 我来答
潺潺水冘8j
2011-12-14
知道答主
回答量:7
采纳率:0%
帮助的人:4.9万
展开全部
Java是一种特殊的高级性语言,它既有解释性语言的特征,也有编译性语言的特征,因为它是经过先编译,后解释的过程。
简单说:
HelloWorld.java————>HelloWolrd.class————>特定平台的机器代码
①编译 ②解释
编写出一个HelloWorld.java文件,通过javac.exe解释器编译成了一个不是特定平台(操作系统)的机器码HelloWorld.class文件。当然这种机器码是不可以执行的,必须使用java解释器(java.exe)来执行的。可是java.exe不具有解释的能力,它是调用jvm-java虚拟机来解释成适用当前平台的机器码。

——纸上得来终觉浅,绝知此事要躬行
帐号已注销
高粉答主

2011-12-04 · 每个回答都超有意思的
知道大有可为答主
回答量:2.7万
采纳率:63%
帮助的人:1.2亿
展开全部
java compile 只是把source编译成jvm可辨识的中间代码,程序运行时,jvm再把代码根据不同的cpu,不同的os,解释成相应的机器码。所以java能跨平台
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
佯谬
2011-12-03 · TA获得超过442个赞
知道答主
回答量:88
采纳率:0%
帮助的人:64万
展开全部
java源代码文件是.java文件,经过编译后是.class文件,这是一种中间代码(java字节码),运行时java虚拟机负责执行,java是以此获得跨平台特性和高效率的,因为java程序不是编译成机器码,所以不存在跨系统的问题,此外java虚拟机在程序运行时可以帮助java程序管理资源,所以效率高,这并不是一种解释性的语言。C#也是这种机制的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
longinus_dean
2011-12-03 · TA获得超过2282个赞
知道小有建树答主
回答量:1097
采纳率:50%
帮助的人:1518万
展开全部
应该不算解释性语言,是介于纯粹的编译语言和解释性语言之间的一种形式,为了保证跨平台性和保护源代码的等目的

你只要知道运行需需要jre,编程需要jdk⋯⋯完事

就是用jdk编译为一种中间代码,然后用jre执行这种中间代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
604028648
2011-12-03
知道答主
回答量:25
采纳率:0%
帮助的人:11.6万
展开全部
是的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式