java.lang包源码阅读之一:类目综述以及源码阅读第一个类Boolean

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

相关文章
相关标签/搜索