java-memory-model
-
在 Java 中,构造函数中最终的字段赋值涉及哪些操作?
-
如何理解 Java 语言规范中的 volatile 示例?
-
理解为什么根据 Java 内存模型在构造函数中启动线程是不安全的
-
JVM / x86 是否保证跨内核的值的非易失性传播?
-
为什么这个包含两个易失性写入数据竞争的 Java 程序是免费的?
-
没有 volatile 的惰性初始化/记忆
-
我知道 happens-before 并不意味着 happens before,代码 "A = B + 1; B = 1;" 可以产生结果 "A == 2 and B == 1" 吗?
-
Guava的ImmutableList的线程安全靠什么保证?
-
Java 线程中的内存顺序和可见性
-
线程中的每个动作都发生在该线程中按程序顺序稍后出现的每个动作之前
-
如果线程 B 希望看到线程 A 所做的更改,是否只能将最后的更改更改为 volatile 变量而不是全部?
-
空引用的安全初始化
-
Java 同步、易失和(标记)锁的内存模型交互
-
对象构造在实践中是否保证所有线程都看到已初始化的非最终字段?
-
Java 内存模型中的最终字段
-
关于重新排序:尽管使用了 volatile,为什么这段代码会抛出 RuntimeException?
-
RxJava Completable 的 Emitter.onComplete 是 happens-before Observer 的回调吗?
-
Java 使用 join() 的多线程程序在计算相邻数字之和时给出了错误的结果
-
Java 内存模型、易失性和同步块访问非易失性变量
-
fork/join,输入数组需要同步吗?