Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果源代码不在JDK';s src.zip,它的意思是';它不是开源的吗?_Java - Fatal编程技术网

Java 如果源代码不在JDK';s src.zip,它的意思是';它不是开源的吗?

Java 如果源代码不在JDK';s src.zip,它的意思是';它不是开源的吗?,java,Java,我想看看sun.nio.ch.SocketChannelImpl#read函数的源代码。但是在Oracle的JDK的src.zip中没有相应的源代码 我知道我可以从OpenJDK的OpenJDK-6-src-b27-26_oct_2012.tar.gz中看到它,下载自 但这是否意味着我不能从更流行的非开放JDK获得它,因为它不是开源的?或者我遗漏了一些东西,实际上我可以从OracleJDK那里得到它?(我不知道JDK和OpenJDK有多大区别) 更新: 我不明白为什么Oracle没有在src.

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

我知道我可以从OpenJDK的OpenJDK-6-src-b27-26_oct_2012.tar.gz中看到它,下载自

但这是否意味着我不能从更流行的非开放JDK获得它,因为它不是开源的?或者我遗漏了一些东西,实际上我可以从OracleJDK那里得到它?(我不知道JDK和OpenJDK有多大区别)


更新:
我不明白为什么Oracle没有在src.zip中包含所有的源代码,因为可以从OpenJDK获得它。他们想隐藏什么?我认为,如果任何源代码不在src.zip中,那就意味着Oracle使用了“一些封闭源代码的第三方组件”或“商业功能”。对吧?

引自:

问:哪里可以找到源代码?答:Java的源代码 SE7参考实现可从中的JDK7项目获得 OpenJDK社区

问:在OpenJDK中找到的源代码之间有什么区别 存储库,以及用于构建Oracle JDK的代码?答:是的 非常接近-我们的Oracle JDK版本构建过程基于 OpenJDK 7只添加了几个部分,比如部署代码, 其中包括Oracle实现的Java插件和Java WebStart,以及一些封闭源代码的第三方组件,如 图形光栅化器,一些开源的第三方组件,如 犀牛,还有一些零碎的东西,比如 文档或第三方字体。向前看,我们的目的是 开源Oracle JDK的所有片断,除了我们考虑的那些 商业功能,如JRockit任务控制(尚未提供 在Oracle JDK中),并用 开源替代方案,以实现代码之间更紧密的对等 基地。”


即使您在src.zip中找到了源代码,也不意味着它是开源的。开源更多的是关于许可。您应该访问所有者站点的相应许可协议。见详细讨论


,IMHO,许可证是GNU通用公共许可证版本2

如果你想知道不同点,请查看此[帖子][1][1]:可能重复@Jayan,我不认为这是重复。那件和我的无关。我不是在问jdk和jre之间的区别。更多的是关于jdk和开放jdk。