语法糖
泛型,变长参数,自动装箱拆箱, foreach
虚拟机运行时不支持这些语法,它们在编辑阶段被还原回简单的基础语法结构。
--------------
Java这个语言很特殊。 默认是Mixed Mode 混合模式
一、你可以说它是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有。
二、你可以说它是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。
三、但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。。。
JIT Just In Time Compiler 即时编译器
HotSpot 中内置了两个JIT, Client Compiler 和Server Compiler
-------------------
其实主要还是看你对“编译”和“解释”怎么下定义了。
按我的理解,解释的意思就是在程序执行时才开始翻译代码为二进制,并且翻译一句执行一句。
如果解释的定义是这样,那Java绝对是编译型语言。
因为,第一:Java首先被编译成了字节码,第二:字节码在执行时也不是翻译一句执行一句,而是全部翻译完成并加载入内存之后才开始执行(这个过程中JVM会进行代码优化)。
所以,Java是编译型语言。
--------------------
.java->编译->.class
.class需要jvm解释(+JIT技术编译),执行。
分享到:
相关推荐
C++语言的语法分析器,代码借助yacc和lex,实现了语法书的生成及展示
编译原理语法树,编译原理实验,bison,flex
编译词法和语法分析源码 编译词法和语法分析源码编译词法和语法分析源码 编译词法和语法分析源码编译词法和语法分析源码编译词法和语法分析源码编译词法和语法分析源码编译词法和语法分析源码
c语言编译原理词法语法分析c语言编译原理词法语法分析
编译原理 LL1语法分析 湖南大学
编译原理LR语法分析,用VC++MFC做的,可以直接用!!! 编译原理LR语法分析,用VC++MFC做的,可以直接用!!!
编译原理语法分析C语言代码,实现字符串的识别。
(2)为了方便进行自动评测,输入的被编译源文件统一命名为testfile.txt;输出的结果文件统一命名为output.txt ;结果文件中包含如下两种信息: 1)按词法分析识别单词的顺序,按行输出每个单词的信息(要求同词法...
自己实现的编译原理的LL1语法分析器,是自己的实验作业,用Vs2017实现,可以直接运行,代码注释丰富,希望与大家交流学习!欢迎大家下载!
pl/0语言的语法分析器,java编写,特别适合山大编译实验,输出的中间过程详细。
本资源是一个编译技术语法分析题目,主要是检查含有+法和*法的数学表达式是否合法。其所用到的文法和详细题目要求在本人同名微博中有介绍。本人采用的是非递归的算法。
编译原理中 语法编译器简单的实现.在C++环境下实现对产生式的语法分析
注意:这是一个简单的语法分析器,运行前一定要先阅读word文档,注意红字部分不然不易运行成功。
四川大学 编译原理 Tiny语法分析器 基于VS2013的纯代码
这个是编译原理中的语法分析程序,使用C和C++结合起来写的。应该说写的还算精炼。拿出来和大家分享一下。希望大家喜欢吧。。
东北大学编译原理实验2 语法分析 实验报告,有代码。
编译原理语法分析器实验报告 编译原理语法分析器实验报告编译原理语法分析器实验报告编译原理语法分析器实验报告编译原理语法分析器实验报告
编译原理 词法语法分析实验 有源程序很好的 欢迎来下载哦
编译原理语法分析,教材后面试验二,java版
编译原理语法分析程序 编译原理语法分析程序 编译原理语法分析程序 编译原理语法分析程序