龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

论全世界所有程序员都会犯的错误2

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
下面是我用javap来反组译程序1的示范: C: javap -c -classpath . Singleton Compiled from MyMain.java class Singleton extends java.lang.Object { public static int counter1; public static int counter2; public static Singleton getI

  下面是我用javap来反组译程序1的示范: C:> javap -c -classpath . Singleton Compiled from MyMain.java class Singleton extends java.lang.Object { public static int counter1; public static int counter2; public static Singleton getInstance(); static {}; } Method Singleton() 0 aload_0 1 invokespecial #1 4 getstatic #2 7 iconst_1 8 iadd 9 putstatic #2 12 getstatic #3 15 iconst_1 16 iadd 17 putstatic #3 20 return Method Singleton getInstance() 0 getstatic #4 3 areturn Method static {} 0 new #5 3 dup 4 invokespecial #6 7 putstatic #4 10 iconst_0 11 putstatic #3 14 return 其实Java的syntactic sugar并不算多,C#的syntactic sugar才真的是无所不在,也因此C#的初学者更轻易犯了“全世界所有程序员都会犯的错误”。 许多C#的书都会一边介绍C#语法,一边介绍编译之后MSIL(.NET的中间语言,类似Java的Bytecode)的结果,然而Java的书却鲜少这么做。 虽说是“全世界所有程序员都会犯的错误”,但是这不代表你犯了此错误之后,仍可以“抬头挺胸、理直气壮”。只要有心,其实这一类的错误仍是可以避免的。
  
精彩图集

赞助商链接