jdk8源码的阅读理解
导入idea步骤:
-
基本类型的包装类(Character放在最后)
-
String、StringBuffer、StringBuilder、StringJoiner、StringTokenizer(补充正则表达式的知识)
-
CharacterIterator、StringCharacterIterator、CharsetProvider、CharsetEncoder、CharsetDecoder(较难)
-
java.util.function下的函数表达式
-
java.nio下的各种Buffer实现
-
java.lang.ref和jdk.internal.ref下的各种引用:软引用/弱引用/虚引用
-
Unsafe的实现(JDK9之后有两个同名类,一个引用了另一个,建议放在一起阅读)
-
java.util.stream下的流式编程的实现(很难)
-
Thread和ThreadLocal
-
Math、Random、BigInteger、BigDecimal
-
java.lang.reflect下反射的实现(先掌握JDK 9之后引入的模块系统)
-
ClassLoader的实现
-
javax.lang.model下Java语言模型的实现(可以参考Java官方语法文档)
-
注解(需要彻底掌握)Timer、ResourceBundle、Properties
-
时间日期类型(尤其是Java8新增的部分)
-
java.lang.reflect.Proxy, JDK默认的动态代理
-
java.util.concurrent并发包。先读原子类,再读锁的实现类,最后阅读那些并发工具的实现(很难)
-
集合框架,主要是三大类:List、Set、Map(先读非线程安全的实现,再读线程安全的实现)
-
网络编程(主要阅读Socket通信部分,后续可以阅读HttpClient的实现)
-
IO,包含BIO/NIO/AIO(很难)
-
Files、Path等文件操作工具类
-
sql、xml处理类/接口
一、java.lang
- Object 1
- String 1
- AbstractStringBuilder 1
- StringBuffer 1
- StringBuilder 1
- Boolean 2
- Byte 2
- Double 2
- Float 2
- Integer 2
- Long 2
- Short 2
- Thread 2
- ThreadLocal 2
- Enum 3
- Throwable 3
- Error 3
- Exception 3
- Class 4
- ClassLoader 4
- Compiler 4
- System 4
- Package 4
- Void 4
二、java.util
- AbstractList 1
- AbstractMap 1
- AbstractSet 1
- ArrayList 1
- LinkedList 1
- HashMap 1
- Hashtable 1
- HashSet 1
- LinkedHashMap 1
- LinkedHashSet 1
- TreeMap 1
- TreeSet 1
- Vector 2
- Queue 2
- Stack 2
- SortedMap 2
- SortedSet 2
- Collections 3
- Arrays 3
- Comparator 3
- Iterator 3
- Base64 4
- Date 4
- EventListener 4
- Random 4
- SubList 4
- Timer 4
- UUID 4
- WeakHashMap 4
三、java.util.concurrent
- ConcurrentHashMap 1
- Executor 2
- AbstractExecutorService 2
- ExecutorService 2
- ThreadPoolExecutor 2
- BlockingQueue 2
- AbstractQueuedSynchronizer 2
- CountDownLatch 2
- FutureTask 2
- Semaphore 2
- CyclicBarrier 2
- CopyOnWriteArrayList 3
- SynchronousQueue 3
- BlockingDeque 3
- Callable 4
四、java.util.concurrent.atomic
- AtomicBoolean 2
- AtomicInteger 2
- AtomicLong 2
- AtomicReference 3
五、java.lang.reflect
- Field 2
- Method 2
六、java.lang.annotation
- Annotation 3
- Target 3
- Inherited 3
- Retention 3
- Documented 4
- ElementType 4
- Native 4
- Repeatable 4
七、java.util.concurrent.locks
- Lock 2
- Condition 2
- ReentrantLock 2
- ReentrantReadWriteLock 2
八、java.io
- File 3
- InputStream 3
- OutputStream 3
- Reader 4
- Writer 4
九、java.nio
- Buffer 3
- ByteBuffer 4
- CharBuffer 4
- DoubleBuffer 4
- FloatBuffer 4
- IntBuffer 4
- LongBuffer 4
- ShortBuffer 4
十、java.sql
- Connection 3
- Driver 3
- DriverManager 3
- JDBCType 3
- ResultSet 4
- Statement 4
十一、java.net
- Socket 3
- ServerSocket 3
- URI 4
- URL 4
- URLEncoder 4


