java.lang包下直属类,从Java Platform Standard Edition 7 Documentation中一查便知:java
**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:ide
一、Boolean是包装类,包装了基本数据类型boolean;ui
二、除非要求一个新的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.”。this
三、能够借鉴的是hashCode()方法和equals(Object obj)方法,因为只有两个值Boolean的hashCode是写定的,分别是1231和1237。spa