Java自学之路
一个萌新的艰辛自学之路
TBS_Learner
萌新一个。在校大学生
展开
-
万字讲解AQS队列 , 从入门到精通, 你值得拥有
万字讲解AQS队列 , 从入门到精通, 你值得拥有快速导航万字讲解AQS队列 , 从入门到精通, 你值得拥有底层的Node节点AQS的重要成员属性从独占模式开始学习请求成功Or失败排队逻辑排队成功进入正式的阻塞环节取消节点的过程 ---释放锁的环节来一个 ReentrantLock 的源码放松一下条件队列Condition.await() 方法Condition.signal()方法共享模式请求共享逻辑, 以及排队原理, 和得到锁之后进行唤醒后置节点主动进行共享模式的释放过程AQS (Abstract原创 2020-08-10 22:36:24 · 230 阅读 · 0 评论 -
ConcurrentHashMap1.7源码 随笔
ConcurrentHashMap快速导航ConcurrentHashMap实例化方法Map为Put而生扩容机制只有Put没有Get有何用?Remove还是需要的尾声不是总结的总结实例化方法在HashMap中, 主要有2个参数 一个 是 初始容量大小 , 一个是 负载因子但是在ConcurrentHashMap中 , 还出现了另外一个 重要的 参数, 叫做 并发等级在所有的构造方法中, 主要有2个构造方法, 一个是 具有3参数的 正常构造器, 一个是基于 Map的构造器 ,基于map原创 2020-05-09 15:29:50 · 148 阅读 · 0 评论 -
HashMap源码解析(JDK1.7)
HashMap源码解析(JDK1.7)萌新的学习之路… 纯属以学习过程再现…不存在那些大佬的 重点整理…没有耐心的朋友~ 可以直接 阅读 HashMap 中的 一些小标题… 每个后面 都有小的总结… 可以直接看- -有错误 请指出= =蟹蟹~快速导航HashMap源码解析(JDK1.7)HashMap层次结构图接口Map接口抽象类AbstractMapHashMap成员变量 / 常...原创 2020-05-04 22:12:38 · 97 阅读 · 0 评论 -
Stack源码解析(JDK1.7)
Stack源码解析(JDK1.7)摸鱼摸鱼~!Stack的层次关系图从层次图中看到… 所有的接口都在以前的博文中介绍过了… 这里还没有解析过的是 Vector (线程安全的列表类)Vector我粗略的读了一下…实现的方式几乎和 ArrayList 一模一样… 就是每个方法进行加锁…这里就简单的把一些不一样的地方,有些重要的地方拿出来看一下…构造方法 上//构造方...原创 2020-05-03 14:42:42 · 97 阅读 · 0 评论 -
LinkedList 源码解析 JDK1.7
LinkedList 源码解析 JDK1.7这是第二个java中通用的数据结构这和之前的 ArrayList 中的很多 接口有相同的…如果这里没有提及…可以去 https://blog.csdn.net/weixin_46592754/article/details/105866191 看一下本文…快速导航LinkedList 源码解析 JDK1.7LinkedList 层次结构接...原创 2020-05-01 13:27:56 · 120 阅读 · 0 评论 -
ArrayList 源码解析(JDK1.7)
ArrayList 源码解析(JDK1.7)ps: 我思考了一下…想要不要发这篇博客… 感觉作为一个初学者…发这种源码解析… 尤其当做学习记录这样的东西来做…感觉没有任何的重点可言… 不过思考了一下…反正估计也没人看 (狗头) 就发了吧纯属个人 … emmm 萌新的学习经历- -大伙凑着看看吧…如果有错 , 请指出…ArrayList的层次结构接口Iterable (可迭代的...原创 2020-04-30 17:28:43 · 111 阅读 · 0 评论 -
普通人都能看懂的图解---红黑树的删除
红黑树的删除在上文中 . 我们已经介绍和演示了红黑树的插入 , 本文来 介绍一下 红黑树的 删除 以及 删除之后的调整基于 我们对 AVL树的理解 , 用相同的方式 进行红黑树的删除分类被删除的 节点 没有左右子树被删除的 节点 只有左右子树的其中一个被删除的 节点 同时拥有左右子树在这3大类的情况下 , 红黑树 同时又比 不同的树 多了一个 颜色维度 , 所以 再次细分 红...原创 2020-04-25 13:42:06 · 227 阅读 · 0 评论 -
普通人都能看懂的图解---红黑树(插入)
红黑树的插入操作红黑的简单介绍 :首先它是一个相对平衡的搜索二叉树在这样的基础之上, 又有这5个要求性质1. 节点是红色或黑色。性质2. 根节点是黑色。性质3.所有叶子都是黑色。(叶子是NULL节点)性质4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5… 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。与 ...原创 2020-04-23 13:42:16 · 237 阅读 · 0 评论 -
普通人都能看懂的图解---AVL树(插入)
多说无益! 直接看图注意 : 在LR 和 RL的 两种情况中 紫色的三角形 高度 其实比 淡蓝色的 三角形 高度 高了1层 (需要想想)后文 会给出 Java 的代码实现![AVL树的插入](https://img-blog.csdnimg.cn/20200421172036951.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5na...原创 2020-04-21 17:22:25 · 278 阅读 · 0 评论 -
普通人都能看懂的图解---AVL树(删除)
多说无益! 直接看图后文 会给出 Java 的代码实现 (完整代码 结合之前的插入)代码实现package structure.AVLTree;public class AVLTree { private TreeNode root = null; //根节点 public boolean add(int value) { return...原创 2020-04-21 22:47:48 · 215 阅读 · 0 评论 -
java.util.concurrent 工具包 ( 三 ) ----- ReentrantLock和ReentrantReadWriteLock
java.util.concurrent 工具包 ( 三 )Lock ( 接口 )-------基本-------JUC 包中 各种锁的接口记录着一些锁的基本方法-------实现类-------ReentrantLock ( 可重入锁 )ReadWriteReentrantLock.WriteLock ( 读写锁中的写锁 )ReadWriteReentrantLock....原创 2020-03-30 22:53:25 · 169 阅读 · 0 评论 -
JUC工具包(二)Exchanger和Semaphore
java.util.concurrent 工具包的使用(二)Exchanger ( 交换器 )-----作用----- java.util.concurrent包中的Exchanger类可用于两个线程之间交换信息。可简单地将Exchanger对象理解为一个包含两个格子的容器,通过exchanger方法可以向两个格子中填充信息。当两个格子中的均被填充时,该对象会自动将两个格子的信息交换,然...原创 2020-03-27 20:35:09 · 106 阅读 · 0 评论 -
JUC工具包(一) CountDownLatch与CyclicBarrier与Phaser
java.util.concurrent工具包 (一)1. CountDownLatch----作用----countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器的值就-1,当计数器的值为0时,表示所有线程都执行完毕,然后在闭锁上等待的线程就可以恢复工作了。----...原创 2020-03-27 14:08:59 · 180 阅读 · 0 评论