JDK5的学习笔记
- JDK的基础类,最重要的类是Obejct(类层次中的根类)和Class(正在运行时的程序中的类)
- 基本类型的wrapper类,Boolean,Character,Integer,Long,Float和Double。
- Math类提供了常用的数学函数。
- String和StringBuffer提供了常用的字符串操作。
- ClassLoader, Process, Runtime, SecurityManager, System提供了管理类的动态加载、外部进程创建、主机环境调查、安全策略和系统操作等。
- Throwable包含了可能由throw语句抛出的对象。Throwable 的子类表示了错误和异常。
- 主要的接口:Cloneable
按照惯例,实现此接口的类应该使用公共方法重写 Object.clone(它是受保护的)。
创建并返回此对象的一个副本。“副本”的准确含义可能依赖于对象的类。一般来说,对于任何对象 x,如果表达式:
x.clone() != x是正确的,则表达式:
x.clone().getClass() == x.getClass()将为 true,但这些不是绝对条件。一般情况下是:
x.clone().equals(x)将为 true,但这不是绝对条件。
按照惯例,返回的对象应该通过调用 super.clone 获得。如果一个类及其所有的超类(Object 除外)都遵守此约定,则 x.clone().getClass() == x.getClass()。
- 深层克隆:按照惯例,此方法返回的对象应该独立于该对象(正被克隆的对象)。
要获得此独立性,在 super.clone 返回对象之前,有必要对该对象的一个或多个字段进行修改。这通常意味着要复制包含正在被克隆对象的内部“深层结构”的所有可变对象,并使用对副本的引用替换对这些对象的引用。
- 浅层克隆:如果一个类只包含基本字段或对不变对象的引用,那么通常不需要修改 super.clone 返回的对象中的字段。
- Start from JDK1.0
- java.lang
提供利用 Java 编程语言进行程序设计的基础类。
- java.lang.annotation
为 Java 编程语言注释设施提供库支持。
- java.lang.instrument
提供允许 Java 编程语言代理监测运行在 JVM 上的程序的服务。
- java.lang.management
提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。
- java.lang.ref
提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。
- java.lang.reflect
提供类和接口,以获取关于类和对象的反射信息。