最近想加深对JDK方面的了解,所以准备花点时间来阅读JDK的源码。主要阅读java.*开头的包的部分,从包名来看,主要分为这十二个部分:
一). java.applet.*:提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类
二). java.awt.*:包含用于创建用户界面和绘制图形图像的所有类。
三). java.beans.*:包含与开发 beans 有关的类,即基于 JavaBeansTM 架构的组件
四). io相关
1)java.io.*:通过数据流、序列化和文件系统提供系统输入和输出。 除非另有说明,否则向此包的任何类或接口中的构造方法或方法传递 null 参数时,都将抛出 NullPointerException。
2)java.nio.*:定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。
参考文章 :http://www.ibm.com/developerworks/cn/java/j-lo-javaio/index.html
五). java.lang.*:提供利用 Java 编程语言进行程序设计的基础类。
六). java.math.*:提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。
七). java.net.*:为实现网络应用程序提供类。
八). java.rmi.*:提供 RMI 包。
九). java.security.*:为安全框架提供类和接口。
十). java.sql.*:提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。
十一).java.text.*:提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。
十二).java.util.*:包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
主要想阅读两个常用的包java.lang.*和java.util.concurrent.*
目前,java.util.concurrent.*包相关的资料比较多,如:
(1)http://www.blogjava.net/xylz/category/45607.html
(2)http://www.cnblogs.com/wanly3643/tag/java%20concurrent/(用的是JDK1.7还是1.8)
但这部分我也会简单地记录自己的所得。