gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 20:26:26 26 4
gpt4 key购买 nike

我有一段简单的 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);
}
}

我希望它打印“x: 1234”。

javac A.java && java A
x: 3
Exception in thread "main" java.lang.NoSuchMethodError: main

但是它打印“x: 3”。为什么?这是另一种我不知道的优化类型吗?我认为 volatile 只有在你有多个线程时才重要?我尝试将所有变量设置为 volatile ,甚至在它们周围加锁,但没有成功。有人告诉我应该在类(class)上设置 strictfp,但也没有运气。

最佳答案

您的字符使显示变得奇怪。实际代码:

  1 class A {                                                                                                               
2 static {
3 int x=3;
4 int y<202d>;
5 int yy=1234;
6 int yyy<202e>;y<202d>=1;int z<202e>y=x;
7 System.out.println("x: "+x);
8 }
9 }

<202e> 称为“从右到左覆盖”
<202d> 是“从左到右覆盖”

关于java - 设置一个变量并打印它,没有任何线程,但它打印旧值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17707290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com