我想看看sun.nio.ch.SocketChannelImpl #read函数的源代码。但是Oracle的JDK的src.zip中没有相应的源代码。
我知道我可以从OpenJDK的http://download.java.net/openjdk/jdk6/下载的openjdk-6-src-b27-26_oct_2012.tar.gz中看到它。
但这是否意味着我无法从更受欢迎的非开放JDK中获取它,因为它不是开源的?或者我错过了一些东西,我实际上可以从Oracle JDK中获取它?(我不太了解JDK和OpenJDK的差别)
更新:
我不明白为什么Oracle没有包含src.zip中的所有源代码,因为可以从OpenJDK获取它。他们想隐藏什么?我认为如果没有src.zip中的任何来源,则意味着Oracle使用“一些封闭源第三方组件”或“商业功能”。对?
引自https://blogs.oracle.com/henrik/entry/java_7_questions_answers:
“问:我在哪里可以找到源代码?答:Java的源代码 SE 7参考实施可从JDK 7项目获得 OpenJDK社区。 p>
问:OpenJDK中的源代码有什么区别 存储库,以及用于构建Oracle JDK的代码?答:是的 非常接近 - 我们构建的Oracle JDK版本构建过程 OpenJDK 7只添加了几个部分,比如部署代码, 其中包括Oracle的Java插件和Java的实现 WebStart,以及一些闭源第三方组件,如 图形光栅化器,一些开源的第三方组件,如 犀牛,还有一些点点滴滴,就像其他的一样 文档或第三方字体。展望未来,我们的目的是 开源所有Oracle JDK,除了我们考虑的那些 商业功能,如JRockit Mission Control(尚未提供) 在Oracle JDK中),并用。替换受阻的第三方组件 开源替代方案,以实现代码之间更密切的平等 基“。
答案 0 :(得分:0)
即使您在src.zip中找到source,也不意味着它是开源的。 OpenSource更多的是关于许可。您应该访问所有者网站上的相应许可协议。请参阅详细讨论https://softwareengineering.stackexchange.com/questions/52534/can-we-use-java-for-commercial-use
In this case.,恕我直言,许可证是GNU通用公共许可证版本2.