转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> JAVA开发 >> 正文
驯服Tiger之JDK 5.0 源代码许可         ★★★★

驯服Tiger之JDK 5.0 源代码许可

作者:闵涛 文章来源:闵涛的学习笔记 点击数:682 更新时间:2009/4/22 23:29:46

  Sun 最近通过 Sun 社团源代码许可(Community Source License,SCSL)和 Java 研究许可(Java Research License,JRL)发布了 JDK 5.0 的源代码。这个月,Tiger 的专栏作家 John Zukowski 从新发布的细节中抽空出来,概述了许可的条款以及为开发人员提供了哪些源代码访问。他还简要介绍了一下 J2SE 6.0 发行版 Mustang 令人惊奇的早期访问。

  Sun 发布 JDK 5.0 源代码的决定,除了提供对公共类的访问之外,还提供了对非公共类的访问,这给了开发人员更深入了解最新发行版幕后内容的机会 —— 前提是您不介意遵守许可条款。我不会卷入所谓“Sun 是不是应该把 Java 平台开源”的争论,而是向您展示如何得到源代码并讨论两个许可选项:Sun 社团源代码许可(SCSL)和 Java 研究许可(JRL)。我还会简要地讨论 6.0 Mustang 二进制和源码的早期访问快照版本。

  标准源代码下载

  Java 平台公共 API 的源代码和 Javadoc 中提及的所有类都属于标准 JDK 交付的一部分,您可以访问它们。为访问这些源文件,您需要将它们与 JDK 下载安装在一起。如果给出大小(18 MB),那么 JDK 下载是可选的,所以您必须确保在下载的时候选择了该下载。安装之后,只需把文件解压到子目录中即可,如清单 1 中演示的那样。

清单 1. 返回 1.4 默认的 Steel 主题

cd c:\jdk1.5.0
mkdir src
cd src
jar xvf ..\src.zip

  现在,如果您在开发代码的时候遇到问题,得到意外的堆栈转储,您就可以查看系统类的源代码,看看是为什么。例如,用 null 参数调用 StringBuffer 构造函数是不对的。为什么呢?查看源代码,就了解到,构造函数试图取得 string 的长度。虽然在 Javadoc 中有文档说明, StringBuffer 构造失败会抛出 NullPointerException 异常,但是查看源代码可以让您知道 为什么 会失败。因为您不能对 null 对象指针调用 length 方法。

  注意: 源文件保存为具有 Unix 换行符,如果用记事本(Notepad)这样的编辑器查看源代码,阅读起来会很困难,因为文件中没有回车符。如果您想转换这些文件,那么 JavaWorld 的 Java Tip 64仍然会有用。

  JDK 5.0 源代码包
 
  JDK 没有提供平台的全部源代码。提供了 java.* 和 javax.* 包中的公共类,但是没有提供 sun.* 或虚拟机中的公共类。JDK 5.0 源代码包就是弥补这个不足的。如果您能够遵守其中任何一个许可的条款(稍后介绍),那么您就可以访问平台(允许 Sun 公开的平台)的完整源代码。这两个许可许可了一些东西,但是它们也有自己的再发布限制。您可以从 Java 2 Platform Standard Edition 5.0 页面访问源代码(请参阅 参考资料)。只要单击您要遵守的许可的下载链接,阅读并接受许可条款,然后单击第一个下载链接,就会显示组的文件列表。这时,有两个下载链接,一个是 55 MB 的 zip 格式的源代码文件,另一个是安全性文件(例如加密供应者),只有不到 1 MB。下载源文件,解压后就可以研究了。还有另外一个 2 MB 的二进制文件下载,它包括共享库、字体和图片。有它更好,没有也可以。

  Sun 社团源代码许可

  最新的 J2SE 发行版中引入的 Sun 社团源代码许可(Sun Community Source License,SCSL),针对研究社团做了少量修改。该许可在 5.0 中基本上没有变化。

  SCSL 不是一个开源许可,但是允许您自由地访问源代码,前提是您可以接受许可(而且在授权国家居住)。但是,根据您处理许可的方式,您可能要付费。虽然不是每个人都同意该许可,而且我也不想对它发表评论,Sun 的立场是它可以防止平台标准分叉。无论如何,这个许可确实让您可以访问整个平台,这比起不能访问来说当然有优势。

  那么您到底可以访问到什么呢?对于入门者来说,您可以访问系统资源,例如线程调度器和内存模型。如果您不喜欢现有的模型,那么您可以创建自己的。您可以测试您的假设,看看您的模型是否更好。当然,这可能就进入了 Java 研究许可(JRL)的领域。如果您想修补的 bug 已经等候了很久,但是在 Sun 的优先级列表中没有排在前面,那么您可以自己修补它,然后把补丁发回 Sun。您想自己留着补丁?当然可以,但是重新发布的修复了这个 bug 的平台会有一些限制。这时就需要许可费和兼容性测试套件了。想要创建一个干净版本的虚拟机或者库?那么背道而驰,不要赞成这个许可(即 JRL)。

  Java 研究许可

  Java 研究许可(Java Research License,JRL)是 Java 源代码版本许可方案的新成员。在研究社团对 SCSI 中原来的研究部分提出诸多抱怨之后,专门针对大学和研究社团创建了 JRL。如果您是大学或者研究机构的老师或研究人员,那么下载具有 JRL 的源代码是比较合适的。许可中的研究使用权力部分规定,您可以用这项技术与其他也获得许可的人进行研究,修改代码,并发表您的研究。

  但是,有一些灰色区域。许可说,您可以与其他人获得许可的人共享源代码;许可还说,如果不是主要的部分,您还可以分发对象代码以及发布源代码的摘录。现在,如果您计划教授您的研究,而您的学生要为课程付费(也就是说成为了商业行为,而不仅仅是研究目的),那么您就违反了许可。如果您想要根据通过 JRL 访问搜索到的材料来教学,那么建议您最好先咨询一下法律顾问。

  Mustang

  Sun 最近带给我们的一个惊奇就是对 J2SE 6.0(代号为 Mustang)的早期访问。(为了满足您的好奇心,透露一下 7.0 的代号为 Dolphin。)J2SE 的下一版本预计在 2006 年春发布,在 JRL 许可之下,您既可以访问该版本的源代码,也可以访问它的二进制代码。该下载中缺少 Javadoc,您必须在构建 JDK 之后自行构建它。

  值得花时间现在研究 Mustang 吗?这取决于您的意向。从纯研究的角度来说,这次发布的版本当然是份大礼。如果您需要计划公司未来的产品战略,而许可条款与您的意向又不冲突,那么还是值得调查一下的。对于本栏目的普通读者来说,如果您想在事情完全准备好之前了解它,而且不介意运行一些还没有经过完全测试,可能还不是全功能的代码,那么您就下载研究它吧。反正我知道我是准备进行研究的。

  结束语

  如果您居住在一个已授权可以接收源代码的国家,那么现在得到 JDK 源代码比平台以前的发行版容易得多了。过去,您必须打印协议,物理地签署协议,并传真回 Sun。之后您才能访问一个具有源代码下载权的私有 Web 站点。现在,只需要用鼠标指向并单击,单击,单击,就能得到源代码。只要许可条款与您的意向不冲突,而且您是属于比较好奇的那类人,那么源代码就是值得研究的好东西,可以学习更多有关 Java 工作原理的内容。对于 Mustang 来说,看看这个平台未来要走向何方会更有趣。


[Delphi程序]一组 Delphi5.0 快捷键  [Web开发]PHP 5.0 的变化与PHP 6.0 展望
[Web开发]PHP 5.0 中的对象重载技术研究  [Web开发]使用PHP 5.0 轻松解析XML文档
[ORACLE]FreeBSD 5.0RC1下安装Oracle 9i[总结]  [ORACLE]FreeBSD 5.0RC1下Oracle 9i安装日记(D3)
[ORACLE]FreeBSD 5.0RC1下Oracle 9i安装日记(D1)  [MySql]Tomcat5.0+mysql配置JDBCRealm,DBCP,ssl,中文乱码…
[MySql]Mysql 5.0 Replication 说明  [MySql]MySQL5.0 Alpha & Create Procedure
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台