
源码
WoodieWang
20岁,30年的开发经验,就问你怕不怕!
展开
-
HashMap.Entry源码
这个是HashMap的内部类,通过EntrySet用来存储所有的map的值。为什么我们用Iterator可以来进行遍历map的数据?原因就是有这个内部类,EntrySet ---> AbstractSet --> Set --> Collection --> Iterator; (--> 表示继承或是实现关系)这样们就可以通过Iterator来迭...原创 2020-03-25 11:25:28 · 533 阅读 · 0 评论 -
HashMap.Node源码
HashMap的内部类,用来存储链表上面的节点数据 // 内部类,重新实现map的Entry接口 static class Node<K,V> implements Map.Entry<K,V> { // 存入hash值 final int hash; // 存入key final K key;...原创 2020-03-25 11:09:54 · 620 阅读 · 0 评论 -
hashMap.TreeNode
这个是hashMap的内部类,与红黑树操作有相关,这个内部类看的不是很懂,大概懂了不到50%的样子,有机会一定回来复习。// ------------------来处于LinkedHashMap------------------------ static class Entry<K,V> extends HashMap.Node<K,V> { //...原创 2020-03-25 11:05:49 · 508 阅读 · 0 评论 -
AbstractMap源码
package java.util;import java.util.Map.Entry;import sun.net.www.content.image.gif;// 抽象类,实现Map集合,hashMapp, hashTable均实现的这个类public abstract class AbstractMap<K,V> implements Map<K,V>...原创 2020-03-25 10:58:25 · 173 阅读 · 0 评论 -
Map源码
package java.util;import java.util.function.BiConsumer;import java.util.function.BiFunction;import java.util.function.Function;import java.io.Serializable;// Map是一个接口public interface Map<K...原创 2020-03-25 10:56:48 · 324 阅读 · 1 评论 -
Throwable源码分析
package java.lang;import java.io.*;import java.util.*;// public class Throwable implements Serializable { // private static final long serialVersionUID = -3042686055658047285L; /...原创 2019-10-24 11:24:35 · 461 阅读 · 0 评论 -
ThreadLocal源码分析
这个类提供线程局部变量。 这些变量与其正常的对应方式不同,因为访问一个的每个线程(通过其get或set方法)都有自己独立初始化的变量副本。 ThreadLocal 实例通常来说都是 private static 类型的,用于关联线程和线程的上下文。 只要线程存活并且ThreadLocal实例可以访问,每个线程都保存对其线程局部变量副本的隐式引用; 线程消失...原创 2019-08-15 13:59:17 · 98 阅读 · 0 评论 -
ThreadGroup线程组源码分析
线程组代表一组线程。 此外,线程组还可以包括其他线程组。 线程组形成一个树,除了初始线程组之外,每个线程组都有一个父进程。允许线程访问有关其线程组的信息,但不能访问有关其线程组的父线程组或任何其他线程组的信息。package java.lang;import java.io.PrintStream;import java.util.Arrays;import sun.misc.V...原创 2019-08-13 16:38:41 · 179 阅读 · 0 评论 -
Thread源码分析
参考网址https://zhidao.baidu.com/question/117575083.htmlhttps://www.cnblogs.com/kubidemanong/p/9520071.htmlhttps://blog.youkuaiyun.com/liudaohonglk/article/details/78278368https://www.cnblogs.com/baiqiantao/...原创 2019-08-05 14:05:57 · 177 阅读 · 0 评论 -
Object源码分析
Object这个类是所有类的父类,package java.lang;public class Object { // 注册原生方法 // 用native修饰的方法都是通过C/C++实现的,需要学习JNI private static native void registerNatives(); // 初始化调用进行注册 static {...原创 2019-08-03 12:53:36 · 111 阅读 · 0 评论 -
AbstractStringBuilder源码分析
AbstractStringBuilder这个源码很有必要看,StringBuffer, StringBuilder都是实现的这个类,它们中的方法也是调用的这个类的方法。StringBuilder源码分析:https://blog.youkuaiyun.com/qq_26896085/article/details/95942895StrijngBuffer源码分析:https://blog.csd...原创 2019-07-12 10:12:15 · 203 阅读 · 0 评论 -
StringBuffer源码分析
StringBuffer里面的方法几乎都是AbstractStringBuilder里面的方法、具体的实现也都是在AbstractStringBuilder里面,需要结合AbstractStringBuilder源码一起查看。AbstractStringBuilder源码分析:https://blog.youkuaiyun.com/qq_26896085/article/details/95593388...原创 2019-07-15 14:43:13 · 196 阅读 · 0 评论 -
Integer源码
将Integer源码看了一遍,最大的感觉就是位操作用的比较多,有些算法也不懂,不明白为什么要那么写;绝大部分也是看懂了的,有些地方写的非常的好,非常的巧妙,真是佩服那些人的智慧;例如在计算int整数的位数时计算方法时的算法,又如在将int转换成String时的算法,真的是惊叹!注:面试常常问到的两个Integer比较问题如下(引用)JVM会自动维护八种基本类型的常量池,int常量池中初始化...原创 2019-07-02 14:52:26 · 233 阅读 · 0 评论 -
java.util.Properties源码(全)
最近花了一些时间把java.util.Properties源码看了一遍,其中的内部类LineReader写的非常的好,内部类的方法readLine()在读取每一行有效数据的同时,将数据写入到缓冲区当中;这为我以后写代码提供了另外的一种思路。// 源码 // 继承 Hashtable,可以使用Hashtable中的部分方法public class Properties extends Ha...原创 2019-06-28 11:10:28 · 453 阅读 · 0 评论 -
Long源码
Long的源码与Integer的源码几乎是一样的,认真看完Integer的源码,Long源码很快就可以看完,package java.lang;import java.lang.annotation.Native;import java.math.*;// 实现Comparable接口public final class Long extends Number implements...原创 2019-07-04 09:34:39 · 355 阅读 · 0 评论 -
Boolean源码
Boolean的确实是太简单了,花了不到30分钟就看完了,里面的方法感觉一般用不到,也不会去用;调用方法与自己手动写没有太大的区别。package java.lang;public final class Boolean implements java.io.Serializable, Comparable<...原创 2019-07-04 13:08:31 · 407 阅读 · 0 评论 -
Short源码
Short范围是包含在Integer的范围之内的,其中大部分的方法是一样的,也是调用Integer中的方法进行处理的,没有什么难度!!package java.lang;public final class Short extends Number implements Comparable<Short> { // Short 的最大值与最小值 public ...原创 2019-07-04 14:52:51 · 247 阅读 · 0 评论 -
Byte源码
Byte数字类同Integer,许多的方法也是直接调用Integer中的方法,简单!package java.lang;public final class Byte extends Number implements Comparable<Byte> { // byte的最大与最小值 max 0111 1111 public static final by...原创 2019-07-04 16:11:38 · 172 阅读 · 0 评论 -
Double源码
这个类自定义的字段稍微有点多,看的时候需要注意一下这些字段的含义进制转换的时候需要特别注意进制的转换方法, 应该如何的去计算,以及验证。这个类里面用到了sun包里面的一些方法,对于JDK自带的源码中是不包含sun包的源码的。我去这位博主https://blog.youkuaiyun.com/qq_27605885/article/details/81782916的博客下面复制过来了如下:jdk目录...原创 2019-07-05 14:22:40 · 661 阅读 · 0 评论 -
Float源码
看Double就够了,几乎是一样的,Double中全一些https://blog.youkuaiyun.com/qq_26896085/article/details/94733615package java.lang;import sun.misc.FloatingDecimal;import sun.misc.FloatConsts;import sun.misc.DoubleConsts;...原创 2019-07-05 15:20:10 · 812 阅读 · 0 评论 -
StringBuilder源码分析
StringBuilder里面的方法几乎都是AbstractStringBuilder里面的方法、具体的实现也都是在AbstractStringBuilder里面,需要结合AbstractStringBuilder源码一起查看。AbstractStringBuilder源码分析:https://blog.youkuaiyun.com/qq_26896085/article/details/95593388...原创 2019-07-15 10:49:31 · 202 阅读 · 0 评论 -
String源码分析
之前也看过一部分String的源码,有许多的方法只是知道是怎么的使用,不知道其是如何实现的;于是最近花了几天的时间将String所有的源码都看了一遍,下面贴出代码,其中用问号标注出来的就是暂时没有懂的地方(后面改进),有不足的地方还请指出谢谢,纯手写原创,可以任意转载但请标明出处。快速查看某一个方法:Ctrl+F,输入需要查看的方法// 源码// String 类是用 final修饰,...原创 2019-06-21 20:17:18 · 347 阅读 · 0 评论