bbirdsky

愿化作一只青鸟,翱翔于蔚蓝的天空

JDK源码包结构分类

最近查看JDK源码时,无意间发现几个类在陌生包里:com.sun.*、sun.*、org.*,google了一把总结了下以备他人搜索,如内容有误欢迎指正!

Jre库包含的jar文件(jdk1.6):resources.jar、rt.jar、jsse.jar、jce.jar、charsets.jar、dnsns.jar、localedata.jar等共10个jar文件,其中resource.jar为资源包(图片、properties文件);rt.jar为运行时包,子包结构如下图:



java.*、javax.*包,org.*包

1、作为J2SE的API公开接口的一部分,与操作系统无关可以在所有Java平台上运行

2、不同的jdk版本会保持兼容不会轻易变化,提供API文档及源码(src.zip)。


sun.*包

1、不是API公开接口的一部分,调用sun包的程序并不能确保工作在所有Java平台上,不同的操作系统中的实现可能不相同。

2、不同的jdk版本sun包中的类也可能不定期的变化,因此sun.*包中的类没有提供API文档及源码。


注意平台无关性是Java语言最大的优势之一,从技术上讲,并不能防止你的程序调用sun.*包中的类。在JDK版本的变迁当中,这些类可能会被删除或转移到其它包路径下,而且它的接口(包括名称、标签等)也很有可能发生变化,在这种情况下,即便你希望程序仅仅运行在SUN的实现平台下,你仍将承受新的版本给你的系统带来破坏的风险。总之,编写依赖于sun.*包的Java程序是不安全的,他们将变得无法移植、破坏了程序的平台无法性、也无法被JDK各版本所兼容


sun.*包中的类如何查看源码?

1、如果只是查看单个类源码,推荐一个网站进行搜索查看,可以很方便的查看API及源码,网站地址:http://www.docjar.com/

2、如果希望在Eclipse中关联源码,我收集了一个jdk1.5的sun源码包,下载地址:http://download.csdn.net/detail/bbirdsky/6656243





阅读更多
个人分类: JavaSE
上一篇Eclipse插件的四种安装方法
下一篇Linux防火墙与数据库
想对作者说点什么? 我来说一句

jdk1.8源码,包含sun包

2017年10月30日 13.19MB 下载

jdk8官方源码包

2017年11月10日 20.26MB 下载

jdk7官方源码包

2017年11月10日 19.82MB 下载

JDK源码(sun包)

2013年12月04日 9.14MB 下载

JDK1.7 源码_全包(包含sun包)

2017年03月17日 25.09MB 下载

没有更多推荐了,返回首页

关闭
关闭