一、结构目录
我们可以看到,jdk源码分为五个部分(java五指山),com.sun 、 java、 javax、 launcher、 org
1.com.sun. sun的hotspot虚拟机中java. 和javax.*的实现类,有兴趣的可以了解下hotsopt,不是源码主要内容,不同版本会不同
2.javax.* 标准扩展库
- launcher.* jre中启动程序入口main()的类,有.c 和.h 文件构成,熟悉jni编程的朋友应该比较清楚
- org.* 由企业或者个人提供的类,有w3c提供了的一些接口
- java.* java SE的核心部分,标准库,也是我们学习源码的主要内容
二、java* 标准库目录介绍(14部分)
- applet
applet是一个不独立运行的小程序,而是通过嵌入到另一个应用程序中,其中Applet是任何applet的 超类,它将嵌入网页,Applet类在applet极其环境中提供标准的接口。所以,要想了解applet要干什么,必须先看它的接口,接口决定他的主要功能。Applet主要有一些文档、音频、图片等接口。该部分从JDK1.0就开始存在。
- awt
Abstract Window ToolKit(抽象窗口工具包)提供图形化界面,比如按钮,图片,颜色控制,样式等工具包。
- beans
核心在于封装了java 的反射,提供bean的各种操作,基于java bean组件架构。
- io
提供对数据流的输出、输出、读写。通过数据流、序列化和文件系统提供系统的输入和输出。
- lang
包含基本数据类型、包装类、运算、异常类等,以及根类Object,提供常用的方法。
- math
提供执行任意精度整数算术(BigInteger 还提供模运算,GCD计算,素数测试,素数生成,位操作以及一些其他杂项操作)和任意精度十进制算术(BigDecimal 提供适用于货币计算等的任意精度带符号的十进制数字)的类。
- net
网络通信,比如http、cookie、socket等的实现。
- nio
简称java new io 定义了缓冲区,这是数据的容器,并提供其他NIO包的概述。
- rmi
Java Remote Method Invocation (java远程方法调用),使得客户机上的程序能够调用远程服务的对象。
- security
为安全框架提供类和接口。
- sql
数据库相关,提供的API来访问和处理的数据存储在数据源(通常是一个关系数据库)。
- text
提供用于处理独立于自然语言的方式处理文本、日期、数字和消息的类和接口。
- time
日期、时间、时刻主要的API,和持续时间。
- util
包含集合框架、遗留的集合类、并发包、事件模型、日期和时间的设施、国际化和各种实用工具类(一个字符串标记,一个随机数发生器,和一位阵列)。