摘要: 公平锁就是保障了多线程下各线程获取锁的顺序,先到的线程优先获取锁,而非公平锁则无法提供这个保障。某个线程尝试获取锁时,先会尝试 CAS ,失败后会把自己放入这个是锁的等待队列。Java 中的 ReentrantLock 默认的锁策略是非公平锁。传入true构造就是公平锁 公平锁和非公平锁只有两处不同 阅读全文
posted @ 2021-09-28 17:01 忙碌了一整天的L师傅 阅读(74) 评论(0) 推荐(1) 编辑
摘要: 独占锁是一种悲观锁,synchronized就是一种独占锁,会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。而另一个更加有效的锁就是乐观锁。所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。乐观锁用到的机制就是CAS,Compare and S 阅读全文
posted @ 2021-09-28 16:30 忙碌了一整天的L师傅 阅读(379) 评论(0) 推荐(0) 编辑
摘要: package learn; import javafx.beans.binding.ObjectExpression; import java.lang.annotation.Target; import java.lang.reflect.InvocationHandler; import ja 阅读全文
posted @ 2021-09-28 15:34 忙碌了一整天的L师傅 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 一、新生代 新生代主要用来存放新生的对象。一般占据堆空间的1/3。在新生代中,保存着大量的刚刚创建的对象,但是大部分的对象都是朝生夕死,所以在新生代中会频繁的进行MinorGC,进行垃圾回收。新生代又细分为三个区:Eden区、SurvivorFrom、ServivorTo区,三个区的默认比例为:8: 阅读全文
posted @ 2021-09-28 09:51 忙碌了一整天的L师傅 阅读(655) 评论(0) 推荐(0) 编辑