fFee-ops's Blog
10
06
BlockingQueue 阻塞队列 BlockingQueue 阻塞队列
BlockingQueue 阻塞队列 阻塞队列 阻塞队列的用处 BlockingQueue的架构图 种类分析 BlockingQueue核心方法 代码 再来单独看看SynchronousQueue 阻塞队列阻塞队列,顾名思义,首
2020-10-06
06
ReentrantReadWriteLock 读写锁 ReentrantReadWriteLock 读写锁
ReentrantReadWriteLock读写锁 示例 虽然平常的加锁能保证数据一致性,但是呢,效率很低,你写的时候是加锁了,但是加的太死了:就比如你在写,你不准别人来写没问题,但是如果别人不是来写的只是来读的,你一次只准一个人读,
2020-10-06
06
04
CountDownLatch/CyclicBarrier/Semaphore CountDownLatch/CyclicBarrier/Semaphore
JUC强大的辅助类 CountDownLatch减少计数 CyclicBarrier循环栅栏 Semaphore信号灯 CountDownLatch减少计数 让一些线程阻塞,直到另一些线程完成一系列操作后才被唤醒 原理 Cou
2020-10-04
04
NotSafeDemo NotSafeDemo
NotSafeDemo 需求 线程不安全的错误 原理 解决方案 例子 ListNotSafe() SetNotSafe() MapNotSafe() 需求请举例说明集合类是不安全的 线程不安全的错误 java.util.C
2020-10-04
02
多线程8锁 多线程8锁
多线程8锁 题目 代码 题目在AA线程执行的代码下面有一行Thread.sleep(100);保证了这个题目中的AA能先抢到执行权 1 标准访问,先打印短信还是邮件短信 2 停4秒在短信方法内,先打印短信还是邮件短信 一个对象里
2020-10-02
02
线程间通信(生产者消费者模型) 线程间通信(生产者消费者模型)
线程间通信 生产者消费者复习 发生问题 解决 生产者-消费者模型 新实现 精准调度 生产者消费者复习package cduck.cn; /** * 题日:现在两个线程,可以操作初始值为零的一个交量, * 实现一个线程对该
2020-10-02
09
30
Java8之lambda表达式 Java8之lambda表达式
Java8之lambda表达式 lambda表达式 接口里是否能有实现方法? 代码 lambda表达式什么是Lambda Lambda 是一个匿名函数,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传
2020-09-30
30
复习卖票问题 复习卖票问题
复习卖票问题 LOCK接口 Lock接口的实现ReentrantLock可重入锁 代码 LOCK接口是什么:锁实现提供了比使用同步方法和语句可以获得的更广泛的锁操作。它们允许更灵活的结构,可能具有非常不同的属性,并且可能支持多
2020-09-30
30
GC日志分析 GC日志分析
GC日志分析 打开GC日志: 一些补充说明 打开GC日志:① -verbose:gc ② -verbose:gc -XX:+PrintGCDetails ③ 如果想把GC日志存到文件,使用: -Xloggc:/path/
28
垃圾回收器 垃圾回收器
垃圾回收器 GC分类与性能指标 性能指标 不同垃圾回收器的概述 Serial回收器(串行回收) ParNew回收器(并行回收) Parallel回收器(吞吐量优先) CMS回收器(低延迟) 小结 G1回收器(区域化分代式)
28
垃圾回收相关概念 垃圾回收相关概念
垃圾回收相关概念 System.gc()的理解 内存溢出与内存泄漏 内存溢出OOM 内存泄漏Memory Leak Stop The World 垃圾回收的并行与并发 安全点与安全区域 安全点 安全区域 再谈引用 强引用(
55 / 71