Java 本地线程 class

Java thread local class

有没有办法告诉 JVM class 仅从单线程使用 => 允许 JVM 优化字段操作 (loads/stores) 交叉同步操作?

没有。这是默认的操作模式。这就是当 不是 运行 单个线程时需要采取额外步骤(例如 volatilesynchronized)的原因。

Is there a way to tell JVM that the class is used exclusively from the single thread

你不能明确地告诉它,但在有限的情况下,热点 JVM 可以推断出对象不可能被其他线程看到,并执行对象 decomposition/stack 分配和锁省略等优化。

该功能称为 escape analysis