在将java源文件转换为字节码时是否存在任何优化,例如消除死代码?
答案 0 :(得分:2)
标准Java编译器对发出的字节码进行少量优化。我认为原因是未经优化的字节码对于HotSpot JIT编译器来说更容易优化。
@Mitch Wheat在上述评论中提供的链接(特别是第二篇)可以追溯到HotSpot JIT是新技术的日子。
答案 1 :(得分:0)
在搜索所有源代码优化时,我遇到了这个问题,虽然我在很长一段时间后回答这个问题。
在jdk1.7之后,使用加号[+]运算符的字符串连接转换为StringBuilder附加,例如
export class Boot extends Phaser.State {
preload() {
console.log("Boot::preload");
this.load.image("blah");
this.load.image("blah2");
this.load.json("blah"), true);
}
create() {
console.log("Boot::create");
//start the preloader state
this.game.state.start(GameStates.PRELOADER, true, false);
}
shutdown(): void {
console.log("Boot::shutDown");
}
}
转换为StringBuilder附加,如字节码
所示public static void main(String[] args) {
String s = new String("");
s = s+"new";
}