CountDownLatch、CycLicBarrier、Semaphore
摘要:减计数器 A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes. 允许一个或多个线程等待直到
阅读全文
posted @
2023-04-24 17:45
or追梦者
阅读(11)
推荐(0) 编辑
红黑树
摘要:参考: https://juejin.cn/post/6844903519632228365 https://zhuanlan.zhihu.com/p/143585797 引入 先了解二叉查找树 如果左子树不为空,则左子树上所有节点的值均小于根节点的值 如果右子树不为空,则右子树上所有节点的值均大于
阅读全文
posted @
2023-04-23 19:28
or追梦者
阅读(6)
推荐(0) 编辑
树
摘要:树 在数据结构中,树的定义: 树是n(n>=0)个节点的有限集。当n=0时,称为空树,在任意一个非空树中,有如下特点 有且仅有一个特定的称为根的节点 当n>1时,其余节点可分为m(m>0)个互不相交的有限集,每一个集合本身又是一个树,并称为根的子树。 根节点之外没有子节点的叫叶子节点 有孩子的叫父节
阅读全文
posted @
2023-04-22 23:20
or追梦者
阅读(9)
推荐(0) 编辑
抽象类与接口
摘要:接口 接口用来描述类应该做什么,而不是指定它们具体应该如何做 主要用于定义规范 一个类可以实现多个接口 接口中所有方法自动是public abstract 不必显示声明 接口不会有实例字段,字段默认添加 public static final 修饰 即常量 接口不能有初始化块、构造器 子类实现接口方
阅读全文
posted @
2023-04-21 20:39
or追梦者
阅读(9)
推荐(0) 编辑
jdk8时间API
摘要:参考: https://juejin.im/post/6844904170240245774 jdk8以前 之前与时间相关的API 是非线程安全的,设计很差且不在同一个包中,时区处理麻烦 多线程并发操作会出现问题 public class TestSimpleDateFormat { public
阅读全文
posted @
2023-04-21 01:37
or追梦者
阅读(27)
推荐(0) 编辑
CompletableFuture使用
摘要:介绍 A Future that may be explicitly completed (setting its value and status), and may be used as a CompletionStage, supporting dependent functions and
阅读全文
posted @
2023-04-20 16:31
or追梦者
阅读(19)
推荐(0) 编辑
最长回文子串
摘要:参考:力扣 关于回文串 "回文串”(palindromic string)是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。 方式一:动态规划 由外而内,外层是否是回文字符串取决于首尾是否相等+内层是否是回文字符串 (内层字符长度大于1) i到j是否是回文串,由外而内
阅读全文
posted @
2023-04-19 16:20
or追梦者
阅读(176)
推荐(0) 编辑
递归
摘要:介绍 递归,A方法里面调用A方法,给出一个出口以保证不死循环 eg 依赖成环问题,递归暴力解决 需求:要查询设置项的所有下级依赖项 包括间接的 模拟关系表: underDependencyCodes是成员变量 /** * 如果underDependencyCodes里面没有首项,该方法碰到首尾成环会
阅读全文
posted @
2023-04-19 15:09
or追梦者
阅读(11)
推荐(0) 编辑
栈和队列
摘要:模拟栈 栈相对于开放的数组而言,是访问受限的 栈只允许访问一个数据项,即最后插入的数据项,移除这个数据项后才能访问倒数第二个数据项 栈的特点:先进后出 1 package com.arithmetic.stacksimulation; 2 3 /** 4 * @author 夜神 5 * @desc
阅读全文
posted @
2023-04-19 14:59
or追梦者
阅读(10)
推荐(0) 编辑
ReentrantLock与AQS
摘要:参考: 《对线面试官》 公平锁和非公平锁 公平锁:在竞争环境下,先到的线程一定比后到的线程更快获取到锁 非公平锁:先到的线程未必能够先获取锁 怎么实现 可以使用先进先出队列 公平锁:竞争线程先入队,持有锁的线程释放锁后,唤醒队列的下一个线程去获取锁 (先排队) 非公平锁:竞争线程先尝试获取锁,获取到
阅读全文
posted @
2023-04-19 14:44
or追梦者
阅读(18)
推荐(0) 编辑