JDK源码包结构分类

原创 2013年12月04日 17:16:30
最近查看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





解决maven执行命令时提示:cached in the local repository

可能原因是maven私服找不到相关jar,或者是下载错误。 如果是私服找不到相关jar,可以到http://mvnrepository.com中找到相应的jar,上传到私服即可。 如果...
  • lisq037
  • lisq037
  • 2015年02月25日 16:49
  • 4505

JAVA实现SSL身份登录

本部分包含下列主题: JSSE 和 WebLogic Server使用 JNDI 身份验证SSL 证书身份验证开发环境编写使用 SSL 的应用程序SSL 客户端代码示例 ...

jdk 源码分析(1)java hashmap的结构

总而言之就是hashmap根据hash分为不同的多个链表,每个链表/树是hash相同的Node。...

jdk 源码分析(2)java hashtable的结构及hashMap对比

首先hashtable 只有一种存储结构。线性链表,这和hashmap 不同,hashmap 当数据量大是采用二叉树,可以加快查询。...

BitSet数据结构以及jdk中实现源码分析

一. Bitset 基础 Bitset,也就是位图,由于可以用非常紧凑的格式来表示给定范围的连续数据而经常出现在各种算法设计中。上面的图来自c++库中bitset的一张图。 基本原理是,用1位来表...
  • cpfeed
  • cpfeed
  • 2012年03月11日 20:49
  • 4427

(8) Java源码分析 ---- LinkedList (对应数据结构中线性表中的双向循环链表,JDK1.6)

一、源码解析 1、 LinkedList类定义 2、LinkedList数据结构原理 3、私有属性 4、构造方法 5、元素添加add()及原理 6、删除数据remove() 7、数据获取get() 8...

BitSet数据结构以及jdk中实现源码分析

一. Bitset 基础 Bitset,也就是位图,由于可以用非常紧凑的格式来表示给定范围的连续数据而经常出现在各种算法设计中。上面的图来自c++库中bitset的一张图。 基本原理是,用...

[数据结构]--jdk1.8中HashMap源码解析

HashMapHashmap是java集合中,比较重要的一种集合框架. 特点:键值对存储,key可以为null,查找速度快.但是线程不安全. hashMap的类关系public class Has...
  • ccj659
  • ccj659
  • 2016年10月12日 15:38
  • 390

jdk 源码分析(6)java BitSet结构

如果有一个Set 里面存放了(整数)1,3,4,5,23,23,12,65这些数,如果直接存储需要8×32位 ; 如果采用位图,只需要用两个long整型串联。...

(7) java源码分析------之ArrayList (对应数据结构中线性表中的顺序表,JDK1.6)

ArrayList就是传说中的动态数组,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素、灵活的设置数组的大小......     认真阅读本文,我相信一定会对你有帮助。比如...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JDK源码包结构分类
举报原因:
原因补充:

(最多只允许输入30个字)