基于对问题答案的讨论,我发现了Java Hotspot优化器的一个非常奇怪的行为。观察到的行为至少可以在Oracle 1.7.0_17中看到,但似乎也出现在较早的Java6版本中。首先,我已经意识到优化器显然意识到标准API中的一些方法是不变的,并且没有副作用。在执行像double x=0.5; for(double d = 0; d < Math.sin(x); d += 0.001);这样的循环时,不会为每次迭代计算表达式Math.sin(x),但是优化器知道现在我注意到,简单
现在我尝试使用优化实验来优化一些参数,我遵循了的所有步骤,但是它不起作用,因为我得到了“离散事件执行过程中的异常:截断的类文件”。奇怪的是,在查看显示错误的控制台时,我看到一些行被引用到我的模型的旧版本,例如: at coffe_maker.Main_m1_1_delayTime_xjal(Main.java:14070)
目前的模型名为coffee_maker_v2_6,所以我不明白为什么会出现这种