首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java编译器在所有JDK中都一样吗?

java编译器在所有JDK中都一样吗?
EN

Stack Overflow用户
提问于 2013-11-28 15:09:07
回答 3查看 456关注 0票数 4

‘Java’是将java代码(.java)转换为字节码(.class)的java编译器。

根据甲骨文

  • 编译器接受Java语言规范(JLS)定义的源代码
  • 并生成Java虚拟机规范(JVMS)定义的类文件。

相同的'javac'是否与OpenJDK、Oracle等所有JDK一起出现,还是它们实现了自己的'javac'

EN

回答 3

Stack Overflow用户

发布于 2013-11-28 15:11:00

是的,在所有JDK中都是一样的,除了一些小的bug和更改。Javac并不是特定于供应商的,但是是的,不同的编译器在它们自己的实现中可能有不同的bug,这可能会造成一些细微的差异。

因此,在一个JDK‘中编译的代码可能不会在JDK中的另一个JDK中编译,因此在JDK之间切换时最好进行一些严格的测试,以确保一切正常运行。

票数 0
EN

Stack Overflow用户

发布于 2013-11-28 15:26:41

就我所能找到的搜索结果而言,维基百科编译器列表只列出了5个Java编译器,其中只有Javac是您列出的JDK使用的惟一一个。IBM的JDK可能会使用自己的编译器。我还没有找到IBM假设的任何链接或引用,但这是有意义的。

票数 0
EN

Stack Overflow用户

发布于 2013-11-28 22:34:52

在所有现代JDK中,它都是相同的Java编译器--但是Eclipse使用自己的Java编译器,而不是JDK的编译器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20269423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档