package com.jg.zhang; public class TestInt { void printInt(){ System.out.println(65535); } }
D:\Workspace\AndroidWorkspace\BlogTest\bin>javap -v -c -classpath . com.jg.zhang.TestInt
.................. .................. Constant pool: .................. .................. #21 = Integer 65535 .................. .................. { .................. .................. void printInt(); flags: Code: stack=2, locals=1, args_size=1 0: getstatic #15 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #21 // int 65535 5: invokevirtual #22 // Method java/io/PrintStream.println:(I)V 8: return LineNumberTable: line 6: 0 line 7: 8 LocalVariableTable: Start Length Slot Name Signature 0 9 0 this Lcom/jg/zhang/TestInt; }
3: ldc #21 // int 65535
void printFloat(){ System.out.println(1234.5f); }
Constant pool: ............. ............. #29 = Float 1234.5f ............ ............ { ............ ............ void printFloat(); flags: Code: stack=2, locals=1, args_size=1 0: getstatic #15 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #29 // float 1234.5f 5: invokevirtual #30 // Method java/io/PrintStream.println:(F)V 8: return LineNumberTable: line 10: 0 line 11: 8 LocalVariableTable: Start Length Slot Name Signature 0 9 0 this Lcom/jg/zhang/TestInt; }
void printLong(){ System.out.println(123456L); }
Constant pool: .............. .............. #21 = Long 123456l .............. .............. { .............. .............. void printLong(); flags: Code: stack=3, locals=1, args_size=1 0: getstatic #15 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc2_w #21 // long 123456l 6: invokevirtual #23 // Method java/io/PrintStream.println:(J)V 9: return LineNumberTable: line 7: 0 line 8: 9 LocalVariableTable: Start Length Slot Name Signature 0 10 0 this Lcom/jg/zhang/TestInt; }
void printDouble(){ System.out.println(123456D); }
Constant pool: .............. .............. #21 = Double 123456.0d .............. .............. { .............. .............. void printDouble(); flags: Code: stack=3, locals=1, args_size=1 0: getstatic #15 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc2_w #21 // double 123456.0d 6: invokevirtual #23 // Method java/io/PrintStream.println:(D)V 9: return LineNumberTable: line 7: 0 line 8: 9 LocalVariableTable: Start Length Slot Name Signature 0 10 0 this Lcom/jg/zhang/TestInt; }
void printStrng(){ System.out.println("abcdef"); }
Constant pool: .............. .............. #21 = String #22 // abcdef #22 = Utf8 abcdef .............. .............. { .............. .............. void printStrng(); flags: Code: stack=2, locals=1, args_size=1 0: getstatic #15 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #21 // String abcdef 5: invokevirtual #23 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return LineNumberTable: line 7: 0 line 8: 8 LocalVariableTable: Start Length Slot Name Signature 0 9 0 this Lcom/jg/zhang/TestInt; }
更多关于深入理解Java的文章, 请关注我的专栏 : http://blog.csdn.net/column/details/zhangjg-java-blog.html
更多关于Java和Android等其他技术的文章, 请关注我的博客: http://blog.csdn.net/zhangjg_blog
深入理解Java Class文件格式(四),布布扣,bubuko.com
原文:http://blog.csdn.net/zhangjg_blog/article/details/21658415