谁动了我的代码

抽象即是空,空即是抽象。
posts(43) comments(24) trackbacks(0)
  • BlogJava
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

News

所有文章版权归我所有,转载请注明出处,谢谢!

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • Android开发(5)
  • C/C++(1)
  • DataBase(3)
  • Java(16)
  • JavaScript(14)
  • WEB前端(1)
  • 编程杂项(2)
  • 网络(1)

随笔档案

  • 2016年5月 (1)
  • 2011年2月 (1)
  • 2010年6月 (3)
  • 2010年5月 (1)
  • 2009年12月 (2)
  • 2009年11月 (1)
  • 2009年10月 (2)
  • 2009年6月 (2)
  • 2009年5月 (1)
  • 2009年4月 (2)
  • 2009年3月 (4)
  • 2009年2月 (1)
  • 2009年1月 (1)
  • 2008年12月 (1)
  • 2008年11月 (1)
  • 2008年10月 (4)
  • 2008年9月 (2)
  • 2008年5月 (5)
  • 2008年3月 (3)
  • 2007年12月 (2)
  • 2007年10月 (1)
  • 2007年9月 (2)
  • 2007年5月 (1)

搜索

  •  

最新评论

  • 1. re: Android之ImageView载入网络上的图片
  • 222222222222222222222
  • --2222222222222222222222222222
  • 2. re: Log4j自带Log Viewer的用法
  • 执行你的根本不行,乱错帖子就在这乱贴,tmd
  • --asdf
  • 3. re: Android之使用私有存储
  • getDir方法创建的文件,会有个app_前缀,请问这怎么去掉呢?
  • --就是宝宝
  • 4. re: Android通用事件造成的生命周期变化情况
  • 我相信以后Android将成为越来越多设备的OS,不光是手持上网设置,冰箱、洗衣机都有可能采用Android。
  • --淘宝网女装春装新款
  • 5. re: Android通用事件造成的生命周期变化情况
  • 不错
  • --歌瑞尔内衣

阅读排行榜

评论排行榜

View Post

jad和Java Decompiler的小小不同

今天用Java Decompiler反编译一个类发现其中字符串连加的代码反编译的结果和jad的不同。
源码一般somestr = "a" + "b" + "c" + "d" ....;

jad反编译过来会自动生成一个StringBuffer,然后把各个子串append到一起。如:
somestr = (new StringBuilder(String.valueOf("a"))).append("b").append("c").append("d")....).toString();

Java Decompiler反编译的代码基本上和原来一样,有字节码查看工具看出,编译器确实对字符串相加做了优化。请在eclipse使用byte outline插件查看。但是有一种情况是例外的,如:
somestr = "a" + "b";
somestr += "c" + "d";
编译器会为每一条语句建立一个StringBuilder,像上面的情况请把两句合并成一句。

posted on 2009-03-10 11:25 Eric Song 阅读(1161) 评论(2)  编辑  收藏 所属分类: Java

View Comments

# re: jad和Java Decompiler的小小不同  回复  更多评论   
Str是不可变对象,合并必须用StringBuilder,编译器会自动转换,查看下字节码即知,如果用的是Eclipse,有Bytecode Outline这个插件
2009-03-10 12:56 | Liteos
# re: jad和Java Decompiler的小小不同  回复  更多评论   
@Liteos
谢谢回复,我忘了还有bytecode outline这个插件了,我以前用过的。
2009-03-10 13:03 | teddy
新用户注册  刷新评论列表  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问   管理
相关文章:
  • Java偏向锁实现原理讲解(Biased Locking)
  • Tomcat乱码问题研究,附带AJAX乱码问题研究。
  • jad和Java Decompiler的小小不同
  • Log4J基本使用教程
  • 使用Java范型需要注意的地方
  • Java事件传递技术 (链接至IBM网站)
  • Java集合框架使用注意事项(二,Map)
  • Java集合框架使用注意事项(一, List)
  • Tomcat对Servlet及JSP规范支持的情况
  • Java 5.0的新特性
 
 
Powered by:
BlogJava
Copyright © Eric Song