似乎std::atomic
类型不是可复制的可复制的或可复制的.为什么?
是否有技术原因导致无法复制原子类型?或者界面是否有限制以避免某种不良代码?
在下面的代码片段中,Foo1
是一个每次bar()
调用方法时递增计数器的类.Foo2
做同样的事情,但有一个额外的间接水平.
我希望Foo1
速度比Foo2
实际Foo2
速度快40%Foo1
.JVM如何优化代码,Foo2
运行速度比Foo1
?
java -server CompositionTest
.java -client CompositionTest
会产生预期的结果,Foo2
慢于Foo1
.public class CompositionTest {
private static interface DoesBar {
public void bar();
public int count();
public void count(int c);
}
private static final class Foo1 implements DoesBar {
private int count = 0;
public final void bar() { ++count; }
public int …
Run Code Online (Sandbox Code Playgroud)