JDK源码
哈希马普
软件开发给我最大的启发就是——开源
展开
-
OpenJdk源码阅读——Object
wait public static void main(String[] args) throws InterruptedException { Object o = new Object(); o.wait(); } 报错: 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,当前线程等待。 换句话说,此方法的行为就好像它仅执行wait(0) 调用一样。 当前线程必须拥有此 对象监视器 。该线程发布对此监视器的所有权并等待 ,直到其他线原创 2020-05-25 13:01:12 · 234 阅读 · 0 评论 -
JDK源码学习范围和顺序
Java源码下面主要学习如下7个包 io math lang net nio time util 最先学lang,lang里面先学散列在包中的各个类,再学里面的reflect、annotation包 然后学util,util里面先学散列在包中的各个类,再学里面的concurrent、function、stream包 接着学io、time、nio、math、net这几个包 优先级详见:猴子哥哥1024的总结 ...原创 2020-05-17 16:10:22 · 386 阅读 · 0 评论 -
JDK源码总结之AbstractList
一、宏观角度 AbstractList在java.util包下面 AbstractList起到承上启下的作用,它继承AbstractCollection抽象类,实现List接口,它是ArrayList的父类,关系图谱如下。 二、微观角度 AbstractCollection的iterator()和size()是抽象的,所以非抽象的子类必须重写,但AbstractList是抽象的,所以它只重写了...原创 2019-04-21 21:54:37 · 260 阅读 · 0 评论 -
JDK源码总结之ArrayList
一、数据结构 ArrayList底层原理是可变长数组,可动态扩容。 时间复杂度:size、isEmpty、get、set、iterator和listIterator方法都以固定时间运行,时间复杂度为O(1)。add和remove方法需要O(n)时间。读快写慢。 二、类定义 ArrayList:说明ArrayList支持泛型。 继承关系:ArrayList继承AbstractList,实现List,...原创 2019-04-23 15:48:48 · 119 阅读 · 0 评论 -
JDK源码总结之Object
一:结构 Object类有12个方法,它是所有类的超类。 二:源代码 一:结构 Object类有12个方法,它是所有类的超类。 二:源代码 public class Object { /** * native修饰的方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用 */ private static nati...原创 2019-04-18 20:31:50 · 118 阅读 · 0 评论 -
JDK源码总结之String、StringBuilder、StringBuffer
一、String定义 String是一个用 final 声明的常量类,不能被任何类所继承,而且一旦一个String对象被创建,包含在这个对象中的字符序列是不可改变的, 包括该类后续的所有方法都是不能修改该对象的。 实现了Serializable接口,这是一个序列化标志接口,还实现了Comparable接口,用于比较两个字符串的大小(按顺序比较单个字符的ASCII码),后面会有具体方法实现;最后实现...原创 2019-04-19 19:40:46 · 98 阅读 · 0 评论