首页 > 编程 > Java > 正文

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

2019-11-06 06:50:54
字体:
来源:转载
供稿:网友

有些答案对java的理解还停留在上古时代或者教科书里。其实,现在用编译型、解释型来分类编程语言已经有点力不从心了。JAVA的第一道工序是javac编译,当然目标文件是BYTECODE。后续可能有三种处理方式:1. 运行时,BYTECODE由JVM逐条解释执行,2. 运行时,部分代码可能由JIT翻译为目标机器指令(以method为翻译单位,还会保存起来,第二次执行就不用翻译了)直接执行;3. RTSJ。继JAVAC之后执行AOT二次编译,生成静态的目标平台代码(典型的就是IBM WEBSHPERE REAL TIME)。

有的时候,可能是以上三种方式同时在使用。至少,1和2是同时使用的,3需要程序员手工指定。所以讨论语言得更细化一点了,强类型的、弱类型的,静态的、动态的,GC-based的、手工管理内存的,有没有VM...作者:觉浅链接:https://www.zhihu.com/question/19608553/answer/27896401来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表