jdk类库源码分析-各个包

时间:2022-01-15 11:19:46

这几天分析了几个类的源码,有了很多的思路,对于一些算法和数据结构有了一定了解。但是,我对于各个类包还是迷糊,这里补充下,让大家有个清晰的认识。
这里我主要以jdk1.6版本为例,现在版本已经是1.9了,但是实际开发的时候有很多问题暂时不说。
Java类库概念:Java的应用程序接口以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java的类库。
包名以 Java 开始的包是 Java 核心包 (Java Core Package) ;
包名以 Javax 开始的包是 Java 扩展包 (Java Extension Package) ,例如 javax.swing 包;

常用的 Java 核心包 (Java Core Package)
1. java.lang Java 编程语言的基本类库,在使用 Java 时,除了 java.lang 外,其他的包都需要 import 语句引入之后才能使用。

  1. java.applet 创建 applet 需要的所有类
  2. java.awt 创建用户界面以及绘制和管理图形、图像的类
  3. java.io 通过数据流、对象序列以及文件系统实现的系统输入、输出
  4. java.NET 用于实现网络通讯应用的所有类
  5. java.util 集合类、时间处理模式、日期时间工具等各类常用工具包
    其它还有
  6. java.sql 访问和处理来自于 Java 标准数据源数据的类
  7. java.test 以一种独立于自然语言的方式处理文本、日期、数字和消息的类和接口
  8. java.security 设计网络安全方案需要的一些类
  9. java.beans 开发 Java Beans 需要的所有类
  10. java.math 简明的整数算术以及十进制算术的基本函数
  11. java.rmi 与远程方法调用相关的所有类
    常用的 Java 扩展包 (Java Extension Package)
  12. javax.accessibility 定义了用户界面组件之间相互访问的一种机制
  13. javax.naming.* 为命名服务提供了一系列类和接口
  14. javax.swing.* 提供了一系列轻量级的用户界面组件,是目前 Java 用户界面常用的包
    其中最重要的是java.lang和java.util。
    java.lang 包
    这个包称为 java 语言包,是由编译器自动引入的。程序中不必用 import 语句就可以使用。它所包含的类和接口对所有实际的 Java 程序都是必要的。
  15. object 类
  16. 数学类 (Math)
  17. 数据类型类
  18. 线程类
  19. 字符串类 (String 类和 StringBuffer 类 )
  20. 系统及运行类 (System 类和 Runtime 类 )
  21. 错误和异常处理类 (Throwable 、 Exception 、 Error)
  22. 过程类 (process)
    java.util 包
  23. 日期类、日历类( Data 、 Calendar 、 GregorianCalendar )
  24. 随机数类( Random )
  25. 位运算类( BitSet )
  26. 矢量类( Vector )
  27. 数据结构类( Stack )
  28. 散列表类( Hashtable )
  29. StringTokenizer类

1.java.lang包 java.lang包 是Java中最常用的包,程序不需要注入,就可以使用该包中的类,利用包中的类可以设计最基本的Java程序。

2.java.awt包 java.awt包中的类提供了图形界面的创建方法,包括按钮、文本框、列表框、容器、字体、颜色和图形等元素的建立和设置。

3.javax.swing包 javax.swing包为Java编写的图形界面提供创建类,利用javax.swing包的类建立的界面元素可调整为各种操作系统的界面风格,支持各种操作平台的界面的开发。此外,swing包还提供了树形控件、标签页控件、表格控件的类。Java.swing包中的很多类都是从java.awt包的类继承而来,Java保留使用java.awt包是为了保持技术的兼容性,但应尽量地使用javax.swing包来开发程序界面。

4.java.io包 java.io包的类提供数据流方式的系统输入输出控制、文件和对象的读写串行化处理,比较常用的类包括:BufferInputStream、BufferOutputStream、BufferedReader、BufferedWriter、DataInputStream、DataOutputStream、FileInputStream和FileOutputStream等。

5.java.util包 java.util包提供时间日期、随机数以及列表、集合、哈希表和堆栈等创建复杂数据结构的类,比较常见的类有:Date、Timer、Random和LinkedList等。

6.java.net包 java.net包提供网络开发的支持,包括封装了Socket套接字功能的服务器Serversocket类、客户端Socket类以及访问互联网上的各种资源的URL类。

7.java.applet包 java.applet包只有一个Applet类,用于开发网页上的Applet小程序,使网页具有更强的交互能力以及多媒体、网络功能。

这七个包中的类库都是java编程语言中最基本最常用的,同学们一定要熟练掌握。这样才能在java编程语言学习中提高效率,事半功倍。