上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 88 下一页
摘要: 1,BlockingQueue 生产者-消费者模型即有界缓存模型,生产者线程在仓库装满之后被阻塞,消费者线程则在仓库清空后阻塞。 它包括三个基本部分: 1) 产品仓库,用于存放产品。 2) 生产者,生产出来的产品存入仓库。 3) 消费者,消费仓库里的产品。 java.util.concurrent. 阅读全文
posted @ 2020-08-11 15:13 光何 阅读(356) 评论(0) 推荐(0) 编辑
摘要: ReentrantLock和synchronized同样都是用于多线程同步,它们在功能上有相近之处,但通常而言,ReentrantLock可以用于替代synchronized。 1, ReentrantLock具备synchronized功能 1 static Object monitor = ne 阅读全文
posted @ 2020-08-11 09:42 光何 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 重入锁,又称递归锁,是指在同一线程中,外部方法获取锁后,内层递归方法仍然可以获取该锁。如果锁不具备重入性,那么当一个线程两次获取锁的时候就会发生死锁。java提供了java.util.concurrent.ReentrantLock来解决重入锁问题。 ReentrantLock重入锁并不是容器集合类 阅读全文
posted @ 2020-08-10 15:15 光何 阅读(2099) 评论(0) 推荐(0) 编辑
摘要: 其实我们行动前最大的阻碍就是:在做之前先把自己标榜到圣人的高度,然后列出一条条这不能做,那也不应该做的条条框框。 但可悲的是,你并不是一个无欲无求的程序片段,生而为人,怎能免俗?于是在止步不前与思想绑架之间徘徊,最终某个时候看透,却早已丧失了机会。 你不是统治文化下塑造出来的那个虚无缥缈的圣人,你也 阅读全文
posted @ 2020-08-10 11:25 光何 阅读(169) 评论(0) 推荐(0) 编辑
摘要: AQS的原理在于,每当有新的线程请求资源时,该线程会进入一个等待队列(Waiter Queue),只有当持有锁的线程释放资源后,该线程才能持有资源。该等待队列的实现方式是双向链表,线程会被包裹在链表节点Node中。Node即队列的节点对象,它封装了各种等待状态(典型的状态机模式),前驱和后继节点信息 阅读全文
posted @ 2020-08-09 11:29 光何 阅读(1439) 评论(0) 推荐(0) 编辑
摘要: 1,AQS java.util.concurrent包的核心类是AbstractQueuedSynchronizer,AQS是一个同步器+阻塞锁的基本架构,用于控制加锁和释放锁,并在内部维护一个FIFO的线程等待队列。 AbstractOwnableSynchronizer是一个可以由线程以独占方式 阅读全文
posted @ 2020-08-08 15:29 光何 阅读(768) 评论(0) 推荐(0) 编辑
摘要: UML中的类图符号按耦合度从低到高依次为:虚线,箭头,实线,空心三角,实心三角,空心菱形和实心菱形。 虚线+箭头是表示即依赖的关系 依赖关系: 是一种使用的关系, 即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖。 指C5可能要用到C6的一些方法,也可以这样说,要完成C5里的所有功 阅读全文
posted @ 2020-08-08 10:57 光何 阅读(1662) 评论(0) 推荐(0) 编辑
摘要: 一、 满二叉树 一个深度为k,节点个数为2^k-1的二叉树为满二叉树,即一棵树深度为k,没有空位。 二、完全二叉树 一棵深度为k有n个节点的二叉树,对树中节点按从上至下、从左至右的顺序进行编号,如果编号为i(1<=i<=n)的节点与满二叉树中编号为i的节点的二叉树中位置相同,则这棵树为完全二叉树。满 阅读全文
posted @ 2020-08-07 10:04 光何 阅读(2267) 评论(0) 推荐(0) 编辑
摘要: 一、 二叉查找树 二叉查找树就是以二分法思想为指导,设计出来的一种快速查找树,二叉查找树保证以下特性: 每一个节点关键字只会在树中出现一次。 任何一个节点,如果它有子节点,那么左侧的关键字一定比较小,右侧的关键字一定比较大。 基于这种结构,搜索时每次从根节点开始查找,就算找到叶子结点,也只进行了lo 阅读全文
posted @ 2020-08-06 18:15 光何 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 1,ArrayList中基础数据域Object[] elementData使用transient修饰的,那它是怎么序列化的?为什么? 答案:ArrayList在被序列化为文件、网络io等时,会调用被序列化类中的writeObject方法,找不到writeObject则调用工具类中defaultWri 阅读全文
posted @ 2020-08-05 16:07 光何 阅读(305) 评论(0) 推荐(1) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 88 下一页