jdk1.7.0_80源码包结构
解压源码src.zip,jdk源码结构如下所示:
src
|--com.sun sun公司对jdk的实现,Oracle官方不支持,不保证跨平台(可能一些类linux有而windows没有),甚至以后会有类的删减、报名更换,比如换成:com.oracle
|--java j2se官方API包
|--javax j2se扩展包,是j2ee的包(注释1)。像xml、servlet、jsp的支持在这个包里面
|--launcher jre用于启动程序main()方法的类,参考:Java Launcher代码分析 (http://blog.csdn.net/a379039233/article/details/6160800)
|--org 企业或组织提供的java类库,包括:ietf、omg、w3c、xml
|--sunw sunw是sun公司之前在纳斯达克的股票代码 ,该包准备对io、util的重写或实现,只有三个接口类,基本上是个空包
在源码的学习过程中,我们重点需要关注的是java包,其次是javax。
java包结构介绍:
java
|--applet Java小程序
|--awt Java构建用户图形界面(GUI)
|--beans
|--io Java语言的标准输入/输出类库,如基本输入/ 输出流、文件输入/输出、过滤输入/输出等
|--lang Java核心类库,包含运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理、reflect反射等,系统缺省加载这个包
|--math
|--net Java网络 传输功能,Socket操作
|--nio 非阻塞IO,面向缓冲区,异步socket
|--rmi
|--security
|--sql 实现JDBC的类库
|--text
|--util Java工具类库。如日期类Date、随机数类Random、集合Collection、Map、压缩文件处理zip包等
注释1:J2SE、J2EE、J2ME介绍
J2SE,Java 2 Standard Edition,Java 2 标准版,主要用于桌面应用软件的编程
J2EE,Java 2 Enterprise Edition,Java 2 企业版,主要用于开发B/S结构的应用程序,包含:servlet、jsp、jdbc等13种技术
J2ME,Java 2 Micro Edition,Java微型版,主要用于嵌入式系统的开发,针对呼机、手机、机顶盒等微型电子设备