JAvaコンパイラのスマートさ
752 ワード
コードは次のとおりです.
想像した結果:正異常を報告する.
実際の結果:1223が印刷する.
逆コンパイル後の結果:
コンパイラはこのような不合理な方法を自動的に最適化した.
public class TestStatic
{
public static void main(String[] args)
{
TestStatic1 test = null;
System.out.println(test.ss);
}
}
class TestStatic1
{
static String ss = "1223";
Set set=new HashSet();
}
想像した結果:正異常を報告する.
実際の結果:1223が印刷する.
逆コンパイル後の結果:
import java.io.PrintStream;
public class TestStatic
{
public static void main(String[] args)
{
TestStatic1 test = null;
System.out.println(TestStatic1.ss);
}
}
コンパイラはこのような不合理な方法を自動的に最適化した.