求仁得仁
06
13
Java并发-synchronized Java并发-synchronized
synchronized是JVM内置锁,基于Monitor机制实现,依赖底层操作系统的互斥原语Mutex(互斥量),被阻塞的线程会被挂起、等待重新调度,会导致“用户态和内核态”两个态之间来回切换,对性能有较大影响 Monitor,直译为“
2024-06-13
13
13
Java并发-ReentrantReadWriteLock Java并发-ReentrantReadWriteLock
写锁是独占的,读锁是共享的:读读可以并发;读写,写读,写写互斥。在读多写少的场景中,读写锁能够提供比排它锁更好的并发性和吞吐量 读锁不支持条件变量 重入时升级不支持:持有读锁的情况下去获取写锁,会导致获取永久等待 重入时支持降级:&nb
2024-06-13
13
Java并发-ReentrantLock Java并发-ReentrantLock
ReentrantLock是一种基于AQS框架的应用实现,是JDK中的一种线程并发访问的同步手段,它的功能类似于synchronized是一种互斥锁,可以保证线程安全。相对于 synchronized, Reentran
2024-06-13
13
Java并发-JMM Java并发-JMM
并发三大特性 可见性:volatile;内存屏障;synchronized;Lock;final 有序性(指令重排序):volatile;内存屏障;synchronized;Lock 原子性:synchronized;Lock;CAS
2024-06-13
13
Java并发-happens-before Java并发-happens-before
as-if-serial:不管怎么重排序(编译器和处理器为了提高并行度),(单线程)程序的执行结果不能被改变。编译器、runtime和处理器都必须遵守as-if-serial语义 为了遵守as-if-serial语义,编译器和处理器不会
2024-06-13
13
Java并发-Future Java并发-Future
FutureTask: 存储任务的处理结果,更新任务的状态 既可以被当做Runnable来执行,也可以被当做Future来获取Callable的返回结果 Future: cancel isCancelled isDone get C
2024-06-13
13
Java并发-ForkJoin Java并发-ForkJoin
线程数计算方法:线程数 = CPU 核心数 *(1+平均等待时间/平均工作时间) CPU密集型任务:线程数为 CPU 核心数的 1~2 倍 IO密集型任务:线程数一般
2024-06-13
13
Java并发-Disruptor Java并发-Disruptor
Disruptor 通过以下设计来解决队列速度慢的问题 环形数组结构:为了避免垃圾回收,采用数组而非链表。同时,数组对处理器的缓存机制更加友好(空间局部性原理) 元素位置定位:数组长度2^n,通过位运算,加快定位的速度。下标采取递增的形
2024-06-13
13
Java并发-CAS & Atomic Java并发-CAS & Atomic
CAS Atomic LongAdder CAS(Compare And Swap,比较并交换):针对一个变量,首先比较它的内存值与某个期望值是否相同,如果相同,就给它赋一个新值 一个不可分割的原子操作,并且其
2024-06-13
13
Java并发-BlockingQueue Java并发-BlockingQueue
BlockingQueue和JDK集合包中的Queue接口兼容,同时在其基础上增加了阻塞功能 offer(E e):如果队列没满,返回true,如果队列已满,返回false(不阻塞) offer(E e, 
2024-06-13
13
Java并发-AQS Java并发-AQS
AQS具备的特性:阻塞等待队列;共享/独占;公平/非公平;可重入;允许中断 AQS内部维护属性volatile int state:state 表示资源的可用状态 State三种访问方式:getState()&nbs
2024-06-13
13
13
Java并发-线程 Java并发-线程
线程共有六种状态:NEW(初始化状态);RUNNABLE(可运行状态+运行状态);BLOCKED(阻塞状态);WAITING(无时限等待);TIMED_WAITING(有时限等待);TERMINATED(终止状态) 中断机制:中断
2024-06-13
13
Java并发-设计模式 Java并发-设计模式
终止线程的设计模式 Two-phase Termination(两阶段终止)模式:终止标志位 避免共享的设计模式 Immutability模式:只读 Copy-on-Write模式:写时复制 Thread-Specifi
2024-06-13
13
13
ElasticSearch-ELK ElasticSearch-ELK
Logstash Logstash 配置文件结构 Logstash 导入数据到 ES 同步数据库数据到 ES FileBeat ELK(采集 Tomcat 服务器日志) 使用FileBeats将日志发送到Logstash Logs
2024-06-13
13
1 / 3