精华帖 (10) :: 良好帖 (11) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-10-05
很好,学习了,谢谢LZ的语法糖解析
|
|
返回顶楼 | |
发表时间:2011-10-06
不错、、、很简单明了。。学习了
|
|
返回顶楼 | |
发表时间:2011-10-08
非常实用!谢谢
|
|
返回顶楼 | |
发表时间:2011-10-08
虽说先前已经知道LZ帖子里的内容,但语法糖的定义以前一直没搞清楚,糊糊弄弄的
|
|
返回顶楼 | |
发表时间:2011-10-08
在自动装箱时对于值从–128到127之间的值,它们被装箱为Integer对象后,会存在内存中被重用
|
|
返回顶楼 | |
发表时间:2011-10-10
语法糖 搞死过我好几次了~~
|
|
返回顶楼 | |
发表时间:2011-10-28
最后修改:2011-10-28
kidneyball 写道 ol_beta 写道 kidneyball 写道 内部类和断言应该不算语法糖吧
也算 那它们的非语法糖形式分别是? public class Test{ public static void main(String [] args){ System.out.println("begin"); assert false; System.out.println("end"); } } 反编译 $ javap -v Test Compiled from "Test.java" public class Test extends java.lang.Object SourceFile: "Test.java" minor version: 0 major version: 50 Constant pool: const #1 = Method #11.#24; // java/lang/Object."<init>":()V const #2 = Field #25.#26; // java/lang/System.out:Ljava/io/PrintStream; const #3 = String #27; // begin const #4 = Method #28.#29; // java/io/PrintStream.println:(Ljava/lang/String;)V const #5 = Field #9.#30; // Test.$assertionsDisabled:Z const #6 = class #31; // java/lang/AssertionError const #7 = Method #6.#24; // java/lang/AssertionError."<init>":()V const #8 = String #32; // end const #9 = class #33; // Test const #10 = Method #34.#35; // java/lang/Class.desiredAssertionStatus:()Z const #11 = class #36; // java/lang/Object const #12 = Asciz $assertionsDisabled; const #13 = Asciz Z; const #14 = Asciz <init>; const #15 = Asciz ()V; const #16 = Asciz Code; const #17 = Asciz LineNumberTable; const #18 = Asciz main; const #19 = Asciz ([Ljava/lang/String;)V; const #20 = Asciz StackMapTable; const #21 = Asciz <clinit>; const #22 = Asciz SourceFile; const #23 = Asciz Test.java; const #24 = NameAndType #14:#15;// "<init>":()V const #25 = class #37; // java/lang/System const #26 = NameAndType #38:#39;// out:Ljava/io/PrintStream; const #27 = Asciz begin; const #28 = class #40; // java/io/PrintStream const #29 = NameAndType #41:#42;// println:(Ljava/lang/String;)V const #30 = NameAndType #12:#13;// $assertionsDisabled:Z const #31 = Asciz java/lang/AssertionError; const #32 = Asciz end; const #33 = Asciz Test; const #34 = class #43; // java/lang/Class const #35 = NameAndType #44:#45;// desiredAssertionStatus:()Z const #36 = Asciz java/lang/Object; const #37 = Asciz java/lang/System; const #38 = Asciz out; const #39 = Asciz Ljava/io/PrintStream;; const #40 = Asciz java/io/PrintStream; const #41 = Asciz println; const #42 = Asciz (Ljava/lang/String;)V; const #43 = Asciz java/lang/Class; const #44 = Asciz desiredAssertionStatus; const #45 = Asciz ()Z; { static final boolean $assertionsDisabled; public Test(); Code: Stack=1, Locals=1, Args_size=1 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return LineNumberTable: line 1: 0 public static void main(java.lang.String[]); Code: Stack=2, Locals=1, Args_size=1 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String begin 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: getstatic #5; //Field $assertionsDisabled:Z 11: ifne 22 14: new #6; //class java/lang/AssertionError 17: dup 18: invokespecial #7; //Method java/lang/AssertionError."<init>":()V 21: athrow 22: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 25: ldc #8; //String end 27: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 30: return LineNumberTable: line 3: 0 line 4: 8 line 5: 22 line 6: 30 StackMapTable: number_of_entries = 1 frame_type = 22 /* same */ static {}; Code: Stack=1, Locals=0, Args_size=0 0: ldc_w #9; //class Test 3: invokevirtual #10; //Method java/lang/Class.desiredAssertionStatus:()Z 6: ifne 13 9: iconst_1 10: goto 14 13: iconst_0 14: putstatic #5; //Field $assertionsDisabled:Z 17: return LineNumberTable: line 1: 0 StackMapTable: number_of_entries = 2 frame_type = 13 /* same */ frame_type = 64 /* same_locals_1_stack_item */ stack = [ int ] } 其实是加入了 if (!$assertionsDisabled) throw new AssertionError(); |
|
返回顶楼 | |
发表时间:2011-10-29
学习了 介绍的不错
|
|
返回顶楼 | |
发表时间:2011-10-29
这个总结太好了
|
|
返回顶楼 | |