将Java源文件翻译为字节码时是否有任何优化(如死代码消除)?将Java源代码翻译为字节码时的优化
1
A
回答
2
标准的Java编译器对发出的字节码没有做任何优化。我认为推理是未优化的字节码对于HotSpot JIT编译器来说更容易优化。
@Mitch Wheat在上述注释中提供的链接(特别是第二个)来自HotSpot JIT是新技术的日子。
0
在搜索所有源代码优化时,我遇到了这个问题,尽管我在很长时间后回答了这个问题。
jdk1.7后,用加[+]操作者字符串连接转换为StringBuilder的追加例如追加如图字节码
public static void main(String[] args) {
String s = new String("");
s = s+"new";
}
转换为StringBuilder的
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
0: new #2 // class java/lang/String
3: dup
4: ldc #3 // String
6: invokespecial #4 // Method java/lang/String."<init>":(Ljava/lang/String;)V
9: astore_1
10: new #5 // class java/lang/StringBuilder
13: dup
14: invokespecial #6 // Method java/lang/StringBuilder."<init>":()V
17: aload_1
18: invokevirtual #7 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: ldc #8 // String new
23: invokevirtual #7 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: invokevirtual #9 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
29: astore_1
30: return
LineNumberTable:
line 13: 0
line 14: 10
line 15: 30
LocalVariableTable:
Start Length Slot Name Signature
0 31 0 args [Ljava/lang/String;
10 21 1 s Ljava/lang/String;
}
相关问题
- 1. 帮我翻译使用字节的Java代码到jython代码
- 2. Java代码翻译
- 3. 如何将Java源代码转换为字节代码?
- 4. Java源代码的字节码
- 5. 优化Java代码
- 6. 将C#代码翻译成Ruby代码
- 7. GWT编译代码优化
- 8. Java优化:仅字节码vs JIT
- 9. 将IDL代码翻译为Python
- 10. 将vb.net翻译为C#:一行代码
- 11. 将PHP片段代码翻译为.net
- 12. 将此代码从C#翻译为VB.NET
- 13. 简单的字节码翻译器
- 14. 将SPSS语法文件翻译为R源代码
- 15. Java:代码重构/优化
- 16. 优化此java代码?
- 17. 从字符串编译Java源代码?
- 18. 为什么python在解释之前将源代码编译成字节码?
- 19. 将C代码翻译为汇编代码?
- 20. 如何将LISP代码翻译或转换为C代码?
- 21. 将源代码转换为Java字节码的实用程序是什么
- 22. 将Java源代码转换为C++源代码的工具
- 23. 我应该使用什么工具将Java字节码反编译为Java源代码?
- 24. 翻译文件,使用此代码谷歌翻译的Java API
- 25. 在优化的编译的代码
- 26. Java编译器对象代码(字节代码?)
- 27. 将BCI(字节码索引)转换为源代码行号
- 28. 是否有可能使用pypy将Java字节码编译为本地代码?
- 29. Java字节代码可视化器
- 30. C++到Java代码翻译:numberToBarcode()
http://stackoverflow.com/questions/1680024/compiler-optimization-java-bytecode – 2011-02-17 03:44:16