1.不变性是什么 对象被创建后,状态就不能被修改 2.final 的作用 1.类防止被继承、方法防止被重写、变量防止被修改 2.天生是线程安全的,不需要额外的同步开销 3.3种用法(修饰变量、方法、类) 1.修饰变量 被final 修饰的变量,值不能被修改,如果是对象,对象的
1.什么CAS CAS 是 Compare and Swap(比较并交换)的缩写,是一种用于实现多线程同步的原子操作。CAS 操作包括三个步骤:比较内存中的值和预期值,如果相等则将新值写入内存,否则不做任何操作。CAS 操作是一种乐观锁的实现方式,它可以避免使用传统的锁机制(如 synchroniz
1.Adder 累加器 高并发下LongAdder 比AtomicLong 效率高,本质是空间换时间 竞争激烈的时候,LongAdder把不同线程对应到不同的Cell上进行修改,降低了冲突的概率,是多段锁的理念,提高了并发性 原因:AtomicLong 在cpu(多核)核心中,假设第一个核心数据改变
悲观锁:就像是担心别人会抢你的东西,所以一开始就紧紧抓住不放。Synchronized 和 lock 接口;适用情况:适用于临界区持锁时间比较长的情况,悲观锁可以避免大量的无用自旋等消耗,典型情况:1.临界区有IO操作;2.临界区代码复杂或者循环量大;3.临界区竞争非常激烈。 乐观锁:相信别人不会和