最近查看JDK源码时,无意间发现几个类在陌生包:com.sun.*、sun.*、org.*。
一.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中关联源码,可以下载的Open JDK,从中获取sun源码包,下载地址:
Open JDK6:http://download.java.net/openjdk/jdk6/
Open JDK7:http://download.java.net/openjdk/jdk7/
Open JDK8:http://download.java.net/openjdk/jdk8/
相关推荐
本资源主要围绕“设计模式实战”与“JDK源码解读”展开,帮助我们深入理解并运用设计模式,提升代码质量与可维护性。 首先,我们要明白设计模式的分类。设计模式分为三大类:创建型模式(如单例模式、工厂方法模式...
【标题】:深入理解JDK源码 在Java开发领域,深入阅读JDK源码是提升技术水平的重要途径。JDK,即Java Development Kit,是Oracle公司提供的Java开发工具集,包含了Java运行环境、编译器、类库以及各种工具。通过...
6. **数据库设计**:源码包中可能包含数据库表结构的设计,包括用户信息、帖子、回帖、分类等表。数据库可能选用MySQL、Oracle或PostgreSQL等关系型数据库,通过JDBC接口进行连接。 7. **安全性**:Jeebbs可能使用...
这通常意味着压缩包包含整个JDK的安装程序或者解压后的目录结构,包括bin、lib、include、jre等子目录,这些目录下有各种二进制可执行文件、库文件、头文件以及Java运行时环境。例如,bin目录下有javac、java等...
在"Sentry-1.6.0"版本中,我们获得了源码包,这对于开发者来说是一个非常宝贵的资源,因为它允许我们深入理解Sentry的工作原理,并根据需要进行定制或调试。 首先,让我们详细了解Sentry的核心功能。Sentry主要是一...
对于那些在阅读英文源码时遇到困难的程序员来说,"jdk 1.8 中文对照用 CHM.zip" 提供了一个宝贵的资源。这个压缩包内含一个名为 "jdk api 1.8_google.CHM" 的文件,它是一个基于CHM(Microsoft Compiled HTML Help)...
《深入解析JDK源码:探索系统开源的奥秘》 在编程领域,对Java开发工具包(JDK)的深入理解是每个专业开发者必备的技能。"jdk-read:jdk原始码学习"这一主题,旨在带领我们步入JDK源码的世界,通过研读源码,挖掘...
登录模块:在C/S结构中,登入系统有对角色的分类与合法性的验证,并且根据不同的类型角色分配不同的权限;在B/S结构中,登入系统中只需要验证用户的合法性即可。 排课模块:包括手动排课、自动排课、查看全部课程...
开发该系统时,需要安装Java开发工具包(JDK)以及支持JSP的Web服务器,如Tomcat。此外,还需要集成开发环境(IDE),如Eclipse或IntelliJ IDEA,以便于编写和调试代码。 #### 5.2 数据库设计 为了存储广告分类信息,...
5. **布局文件(Layouts)**:在res/layout目录下,XML文件定义了UI元素的结构和排列,例如使用LinearLayout、RelativeLayout或ConstraintLayout等来组织游戏界面。 6. **资源管理**:Android应用中的图片、图标、...
【标签】为空,这意味着没有提供特定的分类或关键词来描述源码的内容。这可能意味着我们需要打开压缩包并查看源代码本身,才能了解其具体的技术特点和应用领域。 【压缩包子文件的文件名称列表】仅列出一个文件:"*...
7. **垃圾分类管理**:项目的核心功能,涉及到数据结构、算法和业务逻辑设计。开发者可能需要了解不同类型的垃圾如何分类,以及对应的处理规则,从而实现功能完善的系统。 8. **版本控制**:虽然未提及,但现代项目...
1. **源代码**:项目的主要逻辑,包括用户模块、帖子模块、分类模块、搜索模块等,用Java语言编写,遵循MVC(Model-View-Controller)架构。 2. **配置文件**:如Web.xml,定义了应用的部署描述符,配置了Servlet和...
"Lotus Domino Notes 办公自动化(OA)源码"指的是使用Lotus Domino Notes技术构建的OA系统的原始编程代码,这些代码通常包括数据库设计、服务器端脚本、客户端应用程序逻辑等,为开发者提供了一个深入理解系统工作...
源码均经过严格测试,资料包括 (完整源码+万字报告文档+部署说明+ppt),有任何使用问题欢迎随时与博主沟通,第一时间进行解答! Java 毕业设计,Java 课程设计,基于 ssm 架构开发的,含有代码注释。毕业设计、期末...
然而,作为源码包的一部分,这个.exe文件可能是为了演示软件功能或者测试目的而提供的。 对于PC软件源码的学习和开发,你需要掌握以下知识点: 1. **编程语言**:理解至少一种或多种PC软件开发常用的编程语言,...
源码均经过严格测试,资料包括 (完整源码+万字报告文档+部署说明+ppt),有任何使用问题欢迎随时与博主沟通,第一时间进行解答! Java 毕业设计,Java 课程设计,基于 ssm 架构开发的,含有代码注释。毕业设计、期末...
以上就是制作Deb安装包的基本流程和关键知识点,整个过程涉及源代码管理、依赖解析、包结构设计和打包工具的使用,对于理解Linux软件分发机制具有重要意义。在实际操作中,可能还需要根据项目的特性和需求进行额外的...
源码均经过严格测试,资料包括 (完整源码+万字报告文档+部署说明+ppt),有任何使用问题欢迎随时与博主沟通,第一时间进行解答! Java 毕业设计,Java 课程设计,基于 ssm 架构开发的,含有代码注释。毕业设计、期末...