java-memory-model 相关问题

Java内存模型(JMM)通过确定在根据特定规则读取共享变量时可以观察到哪些值来描述程序的哪些执行是合法的。

Java 内存 UTF-16 与 UTF-8

默认情况下,Java 以 UTF-16 存储字符串,在我的应用程序中,它使用大量内存。我们得到的建议之一是将 UTF-16 转换为 UTF-8,这样可以节省一些内存。这是真的 ? 如果是的话,Ca...

回答 1 投票 0

我需要使用 volatile 吗?

考虑以下代码: 公共类 MyDataStructure { 整数大小; 最终 ReentrantLock 锁 = new ReentrantLock(); 公共无效更新(){ 锁.lock(); 尝试 { ...

回答 3 投票 0

Java中是否可以保证非final字段的安全发布?

假设我们有一些带有一个易失性非最终字段的类,我们希望使用通过构造函数传递的默认值来初始化该字段: 公共类我的类{ 私有易失性字符串...

回答 1 投票 0

ConcurrentHashMap - 我们可以从 Transfer() 中删除 i >= n 吗?

相关: ConcurrentHashMap的传递方法中,我不明白这两个条件“i >= n”和“i + n >= nextn”的含义 我正在调查...

回答 1 投票 0

可以安全地假设构造函数中发生的所有事情对于对象初始化后运行方法的线程都是可见的吗?

让我们上下面的课: 公共类我的类{ 私有最终列表 myList = new ArrayList<>(); //不是线程安全的东西 // 在线程1上调用 我的课() { 我的丽丝...

回答 1 投票 0

Java:可以安全地假设所有事情都发生在对象初始化后运行方法的线程可见的构造函数中吗?

让我们上下面的课: 公共类我的类{ 私有最终列表 myList = new ArrayList<>(); //不是线程安全的东西 // 在线程1上调用 我的课() { 我的李...

回答 1 投票 0

是否可以将“正确同步”应用于类而不是整个程序?

JLS中正确同步了一个term: 当且仅当所有顺序一致的执行都没有数据竞争时,程序才能正确同步。 如果程序正确

回答 2 投票 0

Java。当线程设置一个数组的不同单元格时 是否需要易失性访问?

考虑以下代码: public static void main(String[] args) throws InterruptedException { int nThreads = 10; MyThread[] threads = new MyThread[nThreads]; AtomicReferenceArray

回答 1 投票 0

wait()和notify() JMM语义[关闭]

我有一个很特别的问题,我找不到答案。我们知道,在同步块的入口处,线程会对其作用域中的所有变量进行重读,也就是说,如果线程A ...

回答 1 投票 0

当你丢弃一个软引用的引用时,它的清除还会放在ReferenceQueue上吗?

我想了解在什么情况下,垃圾收集器会通知你清除软引用。文档中明确指出,当可能发生OOM时才会发生,但如果你......。

回答 1 投票 1

为什么要定义Java内存模型?

Java的多线程代码最终被映射到操作系统线程以执行。操作系统线程不是线程安全的吗?为什么要使用Java内存模型来确保线程安全?...

回答 1 投票 -1

Java内存模型-volatile和x86

我试图理解Java volatile的内在特性及其语义,以及其对基础体系结构及其指令的转换。如果我们考虑以下博客和资源...

回答 2 投票 15


如何从内存中删除变量?

将文件转换为字节时,不应使用Files.readAllBytes类。使用不同的字节转换器之后。主要问题是无法从...

回答 2 投票 0

Java实例变量在局部变量内引用。内存,线程安全性和终结处理

我有一个MyClass类,该类具有一个带有变量的方法-OtherClass的一个实例,如下所示。public class Myclass {public void meth1(){OtherClass other = new OtherClass();其他....

回答 2 投票 0

为什么对非易失性的写入对主线程可见?

想象以下程序。 class Main {静态class随便{int x = 0; } public static void main(String [] args){随便什么= new Whatever(); ...

回答 1 投票 0

Kotin,可变性,反应堆和线程安全

让我们考虑一下Kotlin中的以下代码:数据类A(val参数:Map )私人乐趣f(a:A,str:字符串,地图:Map ):Mono {Mono ... 。

回答 1 投票 1

Java中的易失性变量在第二个线程上不可见吗?

我有一个带有两个线程A和B的小型示例应用程序。在为每个易失变量设置值之前,两者都花费一些CPU周期(A为x设置值,B为y设置值),然后B ...

回答 1 投票 0

退出Java并行流工作程序线程后的内存一致性

给出以下代码:int N = 50; int [] addOne = new int [N]; IntStream.range(0,N).parallel().forEach(i-> addOne [i] = i + 1); //(*)是否都可见addOne [i]值...

回答 1 投票 1

确保流的工作线程完成[重复]后的内存一致性

如何确保工作线程在以下代码中完成流的处理后,即在点(*),strValues数组的内容是一致的,即主线程...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.