小编Har*_*son的帖子

设置一个变量并打印它,没有任何线程,但它打印旧值?

我有一段简单的Java代码:

class A {
    static {
        int x=3;
        int y?;
        int yy=1234;
        int yyy?;y?=1;int z?y=x;
        System.out.println("x: "+x);
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望它打印"x:1234".

javac A.java && java A
x: 3
Exception in thread "main" java.lang.NoSuchMethodError: main
Run Code Online (Sandbox Code Playgroud)

但相反它打印"x:3".为什么?这是另一种我不知道的优化类型吗?我认为如果你有多个线程,volatile只会很重要吗?我尝试将所有变量设置为volatile,甚至将锁定放在它们周围,但没有运气.有人告诉我,我应该在课堂上设置strictfp,但也没有运气.

java security unicode

2
推荐指数
1
解决办法
253
查看次数

标签 统计

java ×1

security ×1

unicode ×1