java是编译型语言还是解释型语言

 我来答
纸上谈兵海淀区
2017-06-10 · 知道合伙人软件行家
纸上谈兵海淀区
知道合伙人软件行家
采纳数:35 获赞数:90
荣获北京麦克泰软件技术有限公司2016年度优秀员工称号。

向TA提问 私信TA
展开全部

概念:

编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。

解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

区别:

编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、    Pascal,Fortran。

解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。如Java、Basic.

通俗的讲,编译语言是在编译后可以直接运行,而解释语言的执行需要一个解释环境。

java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。

JIT:

首先采用编译形式生成某种中介代码(Java bytecode/MSIL),然后在运行时将其(通常以函数或Block为单位)最终转换成机器码,然后执行,转化的机器码可以被cache,以提高重复执行的效率

JAVA的第一道工序是javac编译,当然目标文件是BYTECODE。后续可能有三种处理方式:
1. 运行时,BYTECODE由JVM逐条解释执行,
2. 运行时,部分代码可能由JIT翻译为目标机器指令(以method为翻译单位,还会保存起来,第二次执行就不用翻译了)直接执行;
3. RTSJ。继JAVAC之后执行AOT二次编译,生成静态的目标平台代码(典型的就是IBM WEBSHPERE REAL TIME)。

丁季是睿博
2020-03-26 · TA获得超过3827个赞
知道小有建树答主
回答量:3189
采纳率:28%
帮助的人:184万
展开全部
java的编译器先将其编译为class文件,也就是字节码;然后将字节码交由jvm(java虚拟机)解释执行,
所以很多地方都说“java是一种半编译、半解释执行”的语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-06-10
展开全部
半编译型语言
追答
半解释型语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式