3

我想看看 sun.nio.ch.SocketChannelImpl#read 函数的源代码。但是Oracle的JDK的src.zip中没有对应的源码。

我知道我可以从从http://download.java.net/openjdk/jdk6/下载的 OpenJDK 的 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 参考实现的源代码可从 OpenJDK 社区的 JDK 7 项目中获得。

问:在 OpenJDK 存储库中找到的源代码与您用于构建 Oracle JDK 的代码有什么区别?答:非常接近——我们的 Oracle JDK 版本的构建过程是在 OpenJDK 7 上构建的,只添加了几个部分,例如部署代码,其中包括 Oracle 的 Java 插件和 Java WebStart 实现,以及一些封闭源代码的第三方第三方组件,例如图形光栅化器,一些开源第三方组件,例如 Rhino,以及一些零碎的东西,例如附加文档或第三方字体。展望未来,我们的目标是开源 Oracle JDK 的所有部分,除了那些我们认为是商业功能的部分,例如 JRockit Mission Control(Oracle JDK 中尚不可用),

4

1 回答 1

0

即使您在 src.zip 中找到源代码,也并不意味着它是开源的。开源更多的是关于许可。您应该在所有者站点访问适当的许可协议。查看详细讨论https://softwareengineering.stackexchange.com/questions/52534/can-we-use-java-for-commercial-use

在这种情况下。,恕我直言,许可证是 GNU 通用公共许可证版本 2。

于 2013-08-14T08:06:43.673 回答