java.lang包下直属类,从Java Platform Standard Edition 7 Documentation中一查便知:
**Interfaces**
Appendable
AutoCloseable
CharSequence
Cloneable
Comparable
Iterable
Readable
Runnable
Thread.UncaughtExceptionHandler
**Classes**
Boolean
Byte
Character
Character.Subset
Character.UnicodeBlock
Class
ClassLoader
ClassValue
Compiler
Double
Enum
Float
InheritableThreadLocal
Integer
Long
Math
Number
Object
Package
Process
ProcessBuilder
ProcessBuilder.Redirect
Runtime
RuntimePermission
SecurityManager
Short
StackTraceElement
StrictMath
String
StringBuffer
StringBuilder
System
Thread
ThreadGroup
ThreadLocal
Throwable
Void
**Enums**
Character.UnicodeScript
ProcessBuilder.Redirect.Type
Thread.State
**Exceptions**
ArithmeticException
ArrayIndexOutOfBoundsException
ArrayStoreException
ClassCastException
ClassNotFoundException
CloneNotSupportedException
EnumConstantNotPresentException
Exception
IllegalAccessException
IllegalArgumentException
IllegalMonitorStateException
IllegalStateException
IllegalThreadStateException
IndexOutOfBoundsException
InstantiationException
InterruptedException
NegativeArraySizeException
NoSuchFieldException
NoSuchMethodException
NullPointerException
NumberFormatException
ReflectiveOperationException
RuntimeException
SecurityException
StringIndexOutOfBoundsException
TypeNotPresentException
UnsupportedOperationException
**Errors**
AbstractMethodError
AssertionError
BootstrapMethodError
ClassCircularityError
ClassFormatError
Error
ExceptionInInitializerError
IllegalAccessError
IncompatibleClassChangeError
InstantiationError
InternalError
LinkageError
NoClassDefFoundError
NoSuchFieldError
NoSuchMethodError
OutOfMemoryError
StackOverflowError
ThreadDeath
UnknownError
UnsatisfiedLinkError
UnsupportedClassVersionError
VerifyError
VirtualMachineError
**Annotation Types**
Deprecated
Override
SafeVarargs
SuppressWarnings
大体上按照上面的分类阅读,估计应该学别人的体例-------关键代码分析,加上编译通过可运行的用例。类很多,源码之间继承关系也挺复杂,阅读源码计划的开始阶段我决定从简单做起,今天阅读第一个类Boolean:
1、Boolean是包装类,包装了基本数据类型boolean;
2、除非要求一个新的instance,Boolean的构造方法Boolean(boolean value)极少用,用静态工厂方法valueOf(boolean value)来获取一个Boolean实例,因为Boolean有两个常量静态成员TRUE和FALSE,valueOf(boolean value)是从常量池中取得类的实例,用源码的话是“this method is likely to yield significantly better space and time performance.”。
3、可以借鉴的是hashCode()方法和equals(Object obj)方法,由于只有两个值Boolean的hashCode是写定的,分别是1231和1237。