• HOME
  • SEARCH
  • TOPICS
  • DATA

  • Java 并发编程之 happens-before 7 条规则

    定义 规定了对共享变量的写操作对其他线程的读操作可见。 它是可见性与有序性的一套规则总结。 synchronized 假设t1先执行:t1线程解锁m前对x变量的

    2021-09-28, Views: 2079 , Topics: Java juc

  • Java @Contended 避免缓存行伪共享

    相关名词 CPU缓存、缓存行、伪共享。 CPU 缓存 缓存行 Cache Line CPU读取内存数据时并非一次只读一个字节,而是会读一段字节长度(不同CPU

    2021-09-27, Views: 2655 , Topics: Java juc

  • Java 并发编程之 LongAdder 源码解析

    基本用法 public class LongAdderDemo { public static void main(String[] args) {

    2021-09-26, Views: 2347 , Topics: Java juc

  • Java 并发编程之 AtomicIntegerFieldUpdater AtomicLongFieldUpdater AtomicReferenceFieldUpdater

    说明 并发原子修改器,保证在多线程环境下对象中的字段的原子性。 示例 对象类 public class FieldUpdaterTest { vola

    2021-09-24, Views: 1929 , Topics: Java juc

  • Java 并发编程之 AtomicIntergerArray AtomicLongArray AtomicReferenceArray

    说明 原子并发数组,保证在多线程下对每个索引位置上的元素的原子性。 AtomicIntergerArray Integer类型数组。 public class

    2021-09-24, Views: 1336 , Topics: Java juc

  • Java 并发编程之 AtomicMarkableReference

    说明 AtomicStampedReference解决了ABA问题,但需要每次修改版本号比较繁琐,AtomicMarkableReference只关心是否有改动

    2021-09-23, Views: 1989 , Topics: Java juc

  • Java 并发编程之 AtomicStampedReference

    说明 AtomicReference不能保证ABA问题,故引入了版本标记AtomicStampedReference。 代码 public class Atom

    2021-09-21, Views: 2588 , Topics: Java juc

  • Java 并发编程之 AtomicReference

    说明 AtomicReference是原子的引用类型保证了并发情况下对引用的修改的线程安全。 代码 public class AtomicReferenceDe

    2021-09-21, Views: 1971 , Topics: Java juc

  • Java 并发编程之 AtomicBoolean

    代码 public class AtomicBooleanDemo { public static void main(String[] args)

    2021-09-20, Views: 2040 , Topics: Java juc

  • Java 并发编程之 AtomicInteger AtomicLong

    说明 AtomicInteger和AtomicLong原子类,保证了并发时线程安全的累加操作。底层是使用CAS原理。 AtomicInteger 原子整型类 A

    2021-09-19, Views: 2115 , Topics: Java juc

  • Java synchronized 保证可见性

    原因 synchronized在代码块执行结束后会将执行结果刷新到主存中。 所以synchronized也和volatile有可见性的作用。 JMM 规范 sy

    2021-09-03, Views: 2197 , Topics: Java juc 锁

  • Java 使用 wait 等待会使 synchronized 升级为重量级锁

    原因 因为wait方法会让锁对象从owner拥有者变为waitSet队列中等待。 所以必须关联一个Monitor对象,这样synchronized就升级为了重量

    2021-09-02, Views: 3265 , Topics: Java juc 锁

  • Java volatile 内存屏障保证可见性和有序性

    相关名词 内存屏障:Memory Barrier 写屏障:store fence 读屏障:load fence 保证可见性 写屏障 保证在该屏障之前的代码,对共

    2021-09-01, Views: 2234 , Topics: Java juc

  • Java 中 sleep 和 wait 的区别

    区别一 sleep是Thread的方法。 wait是Object的方法。 区别二 sleep不需要包裹在synchronized中。 wait必须包裹在sync

    2021-08-31, Views: 1962 , Topics: Java juc

  • Java 中的 InheritableThreadLocal

    使用场景 父子线程中传递数据的方式。 示例代码 main线程中设置了abc,之后再new一个child线程,在child线程中使用inheritableThre

    2021-04-15, Views: 2824 , Topics: Java juc 面试

  • Java 中的 ThreadLocal

    说明 这里的内存泄露指的是:Thread长时间运行,尤其是线程池中的线程,由于Thread中的threadLocals中的Entry数组包含了关联ThreadL

    2021-04-14, Views: 3112 , Topics: Java juc 面试

  • Java 中 Thread 的中断方法

    interrupt() 给线程设置一个中断状态,线程仍会继续运行。 但如果线程正好处于等待状态(如:调用wait()、sleep()、join()方法),此时调

    2021-04-13, Views: 2880 , Topics: Java juc 面试

  • Java 中 Thread 的 join 方法

    介绍 Waits for this thread to die. join()方法上的注释是等待该线程销毁。 t1.join()表示等待t1线程执行完成,继

    2021-04-11, Views: 2751 , Topics: Java juc 面试

  • Java 中 Thread 的状态

    示意图 NEW 初始化状态 new一个Thread(Runnable)或Thread子类等(不调用start()方法),线程就进入NEW状态。 Thread

    2021-04-11, Views: 3493 , Topics: Java juc 面试

  • Java 并发的基石 LockSupport

    LockSupport LockSupport类使用了一种名为Permit(许可)的概念来做到阻塞和唤醒线程的功能。 每个线程都有一个许可(Permit)。 p

    2021-04-10, Views: 2197 , Topics: Java juc 锁

  • First Prev
  • 1
  • 2
  • 3
  • Next Last

©2025 沪ICP备18012661号-1 阿里云

Messages Sitemap GitHub