久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

剖析java的class文件結構

瀏覽:129日期:2024-07-02 14:24:50
內容: 定義:u1 1個字節為單位的非負值 u2 2個字節為單位的非負值 u3 . . . . . . . . (其他以此類推 ) Java文件結構用類似struct的描述如下: ClassFile { u4 magic; // 必須為: 0xCAFEBABE u2 minor_version; u2 major_version; //CLASS文件結構主次版本號 JAVA2支持45.0-46.0 u2 constant_pool_count; //記錄常量信息 cp_info constant_pool[constant_pool_count-1]; //計數從1開始 u2 access_flags; //class/interface訪問權限 u2 this_class; //指向constant_poll中的有效索引值 u2 super_class; //0或指向constant_poll中的有效索引值,對于interface必須為非0 u2 interfaces_count; //superinterfaces的個數 u2 interfaces[interfaces_count]; //計數[0,count-1) 對應constant_pool中的一個索引值 u2 fields_count; field_info fields[fields_count]; //主要用于記錄class及實例中的變量 u2 methods_count; method_info methods[methods_count]; u2 attributes_count; attribute_info attributes[attributes_count]; } cp_info { u1 tag; u1 info[]; }tag 意義如下: CONSTANT_Class 7 CONSTANT_Fieldref 9 CONSTANT_Methodref 10 CONSTANT_InterfaceMethodref 11 CONSTANT_String 8 CONSTANT_Integer 3 CONSTANT_Float 4 CONSTANT_Long 5 CONSTANT_Double 6 CONSTANT_NameAndType 12 CONSTANT_Utf8 1 此時cp_info分別對應結構變化為 1. CONSTANT_Class CONSTANT_Class_info { u1 tag; u2 name_index; } 2. CONSTANT_Fieldref CONSTANT_Fieldref_info { u1 tag; u2 class_index; //constant_pool的索引,對應CONSTANT_Class_info u2 name_and_type_index;//constant_pool的索引,對應CONSTANT_NameAndType_info } 3. CONSTANT_Methodref CONSTANT_Methodref_info { u1 tag; u2 class_index; u2 name_and_type_index; } 4. CONSTANT_InterfaceMethodref CONSTANT_InterfaceMethodref_info { u1 tag; u2 class_index; u2 name_and_type_index; } 5. CONSTANT_String CONSTANT_String_info { u1 tag; u2 string_index; } 6. CONSTANT_Integer CONSTANT_Integer_info { u1 tag; u4 bytes; } 7. CONSTANT_Float CONSTANT_Float_info { u1 tag; u4 bytes; } 8. CONSTANT_Long CONSTANT_Long_info { u1 tag; u4 high_bytes; u4 low_bytes; } 9. CONSTANT_Double CONSTANT_Double_info { u1 tag; u4 high_bytes; u4 low_bytes } 10.CONSTANT_NameAndType CONSTANT_NameAndType_info { u1 tag; u2 name_index; u2 descriptor_index; } 11.CONSTANT_Utf8 CONSTANT_Utf8_info { u1 tag; u2 length; u1 bytes[length]; } access_flags意義如下: ACC_PUBLIC 0x0001 ACC_FINAL 0x0010 ACC_SUPER 0x0020 ACC_INTERFACE 0x0200 ACC_ABSTRACT 0x0400 如果是interface那么必須置ACC_INTERFACE,如果沒有置ACC_INTERFACE則定義的是一個類而非接口。 如果設置了ACC_INTERFACE,那么ACC_ABSTRACT位也必須被設置,當然也可以設置ACC_PUBLIC。 ACC_SUPER用以表明invokespecial語義,Sun公司老的JAVA編譯器沒有設置ACC_SUPER,并且老的JVM 忽略ACC_SUPER位,但新的編譯器應該實現invokespecial語義。 其他未指明的位保留將來使用,并且編譯器應當將其置為0,同時Java虛擬機應當忽略他們。 this_class: constant_pool中的索引值,指向的元素的cp_info等價為CONSTANT_Class_info CONSTANT_Class_info { u1 tag; //必須為CONSTANT_Class (7) u2 name_index; //為指向constant_pool中的一個索引值 } name_index :指向的元素的cp_info等價為CONSTANT_Utf8_info CONSTANT_Utf8_info { u1 tag; //必須為CONSTANT_Utf8 (1) u2 length; u1 bytes[length]; //Utf8編碼的字符串 } field_info { u2 access_flags; //訪問控制權 u2 name_index; //constant_pool中的索引,對應于CONSTANT_Utf8_info描述。 u2 descriptor_index; //constant_pool中的索引,對應于CONSTANT_Utf8_info描述。 u2 attributes_count; attribute_info attributes[attributes_count]; //attribute_info將在mothods后描述。 } field_info中access_flages意義如下: ACC_PUBLIC 0x0001 ACC_PRIVATE 0x0002 ACC_PROTECTED 0x0004 ACC_STATIC 0x0008 ACC_FINAL 0x0010 ACC_VOLATILE 0x0040 ACC_TRANSIENT 0x0080 其中很顯然不能同時為ACC_FINAL和ACC_VOLATILE ;且前三項是互斥的。 interface必須置ACC_PUBLIC, ACC_STATIC,ACC_FINAL位,且不能置其他位。 其他未指明的位保留將來使用,并且編譯器應當將其置為0,同時Java虛擬機應當忽略他們。 methods指明了類中的所有方法。 method_info { u2 access_flags; u2 name_index; //指向constant_pool的入口,對應為CONSTANT_Utf8_info u2 descriptor_index; //指向constant_pool的入口,對應為CONSTANT_Utf8_info u2 attributes_count; attribute_info attributes[attributes_count]; //此處只能出現Code、Exceptions、Synthetic、Deprecated四種類型的屬性 } access_flags訪問權描述如下: ACC_PUBLIC 0x0001 ACC_PRIVATE 0x0002 ACC_PROTECTED 0x0004 ACC_STATIC 0x0008 ACC_FINAL 0x0010 ACC_SYNCHRONIZED 0x0020 ACC_NATIVE 0x0100 ACC_ABSTRACT 0x0400 ACC_STRICT 0x0800 attribute_info { u2 attribute_name_index; //constant_pool中的索引,對應于CONSTANT_Utf8_info描述。 u4 attribute_length; u1 info[attribute_length]; } 現在已經預定義的屬性有: 1. SourceFile : attribute_info被替代為: SourceFile_attribute { u2 attribute_name_index; u4 attribute_length; u2 sourcefile_index; //指向constant_pool中的一個CONSTANT_Utf8_info 結構。 } 2. ConstantValue : attribute_info被替代為: ConstantValue_attribute { u2 attribute_name_index; u4 attribute_length; //必須為2 u2 constantvalue_index; } 對于constantvalue_index意義如下: longCONSTANT_Long floatCONSTANT_Float double CONSTANT_Double int, short, char, byte, boolean CONSTANT_Integer String CONSTANT_String ConstantValue用于field_info 中,用于描述一個static常量, 且此時field_info的access_flags應為ACC_STATIC 3. Code : attribute_info被替代為: Code_attribute { u2 attribute_name_index; u4 attribute_length; u2 max_stack; //執行此函數時可用的棧的最大深度 u2 max_locals; //執行此函數可用到的最大本地變量數目,包括參數。 // 注意:一個long/double相當于2個變量數目. u4 code_length; //本函數用到的代碼長度。 u1 code[code_length]; //實現本函數的真正字節碼 u2 exception_table_length; { u2 start_pc; u2 end_pc; //捕獲違例時執行代碼數組中的[start_pc, end_pc)部分 u2 handler_pc; //現在還不大明白他是干嘛的!! u2 catch_type; //指向constant_pool的索引,對應CONSTANT_Class_info }exception_table[exception_table_length]; u2 attributes_count; attribute_info attributes[attributes_count]; } CONSTANT_Class_info { u1 tag; //必須為CONSTANT_Class (7) u2 name_index; //不用我再說了吧? } Code屬性用于method_info結構中。 4. Exceptions : attribute_info被替代為: Exceptions_attribute { u2 attribute_name_index; u4 attribute_length; u2 number_of_exceptions; u2 exception_index_table[number_of_exceptions]; } 5. InnerClasses : attribute_info被替代為: InnerClasses_attribute { u2 attribute_name_index; u4 attribute_length; u2 number_of_classes; { u2 inner_class_info_index; u2 outer_class_info_index; u2 inner_name_index; u2 inner_class_access_flags; } classes[number_of_classes]; } 6. Synthetic : attribute_info被替代為: Synthetic_attribute { u2 attribute_name_index; //不用廢話了吧? u4 attribute_length; //必須為0 } Synthetic用在 field_info、 method_info 中, 一個沒有出現在源程序中的變量必須使用Synthetic標記。 7. LineNumberTable : attribute_info被替代為: LineNumberTable_attribute { u2 attribute_name_index; u4 attribute_length; u2 line_number_table_length; { u2 start_pc; //代碼數組中的開始處 u2 line_number; //源文件中的行號(對于每一非空行都有這么一項) } line_number_table[line_number_table_length]; } LineNumberTable用于Code屬性中,通常用于調試。 8. LocalVariableTable : attribute_info被替代為: LocalVariableTable_attribute { u2 attribute_name_index; u4 attribute_length; u2 local_variable_table_length; { u2 start_pc; u2 length; //當解釋到代碼數組的[start_pc,start_pc+length] //時變量必須被賦值?? u2 name_index; u2 descriptor_index; u2 index; //到本地變量數組的一個索引 } local_variable_table[local_variable_table_length]; } 9. Deprecated : attribute_info被替代為: Deprecated_attribute { u2 attribute_name_index; u4 attribute_length; //必須為0 } 當然你也可以定義自己的屬性,但要你自己的編譯器和虛擬機實現。JVM將忽略自己不認可的屬性。來實踐一下吧!編寫一個最簡單的程序:class Test { public static void main(String[] args) { System.out.println('Hello World!'); }}c:work>javac Test.javac:work>filedump Test.classFile Dump V0.3 Beta by cloud (safesuite@363.net).01:00 ca fe ba be 00 03 00 2d 00 1d 0a 00 06 00 0f 09 .......-........01:01 00 10 00 11 08 00 12 0a 00 13 00 14 07 00 15 07 ................01:02 00 16 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 ........()01:03 56 01 00 04 43 6f 64 65 01 00 0f 4c 69 6e 65 4e V...Code...LineN01:04 75 6d 62 65 72 54 61 62 6c 65 01 00 04 6d 61 69 umberTable...mai01:05 6e 01 00 16 28 5b 4c 6a 61 76 61 2f 6c 61 6e 67 n...([Ljava/lang01:06 2f 53 74 72 69 6e 67 3b 29 56 01 00 0a 53 6f 75 /String;)V...Sou01:07 72 63 65 46 69 6c 65 01 00 09 54 65 73 74 2e 6a rceFile...Test.j>d02:00 61 76 61 0c 00 07 00 08 07 00 17 0c 00 18 00 19 ava.............02:01 01 00 0c 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 07 ...Hello World!.02:02 00 1a 0c 00 1b 00 1c 01 00 04 54 65 73 74 01 00 ..........Test..02:03 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 .java/lang/Objec02:04 74 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 t...java/lang/Sy02:05 73 74 65 6d 01 00 03 6f 75 74 01 00 15 4c 6a 61 stem...out...Lja02:06 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 va/io/PrintStrea02:07 6d 3b 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 m;...java/io/Pri>d03:00 6e 74 53 74 72 65 61 6d 01 00 07 70 72 69 6e 74 ntStream...print03:01 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 ln...(Ljava/lang03:02 2f 53 74 72 69 6e 67 3b 29 56 00 20 00 05 00 06 /String;)V. ....03:03 00 00 00 00 00 02 00 00 00 07 00 08 00 01 00 09 ................03:04 00 00 00 1d 00 01 00 01 00 00 00 05 2a b7 00 01 ............*...03:05 b1 00 00 00 01 00 0a 00 00 00 06 00 01 00 00 00 ................03:06 01 00 09 00 0b 00 0c 00 01 00 09 00 00 00 25 00 ..............%.03:07 02 00 01 00 00 00 09 b2 00 02 12 03 b6 00 04 b1 ................>d04:00 00 00 00 01 00 0a 00 00 00 0a 00 02 00 00 00 05 ................04:01 00 08 00 06 00 01 00 0d 00 00 00 02 00 0e ..............>解讀一下:ca fe ba be magic00 03 00 2d 次主版本號,換算一下: 45.3 (注意,不是高字節在前,別犯職業??!)00 1d constant_pool元素個數加一 : 29 那么constant_pool就是[1-28]constant_pool: 1-281. 0a 00 06 00 0f 0x0a :CONSTANT_InterfaceMethodref 0x06 :class index 0x0f :name-type-index2. 09 00 10 00 11 0x09 : CONSTANT_Fieldref 0x10: . . . 0x11 : . . . .3. 08 00 12 0x08 : CONSTANT_String 0x12 : string_index4. 0a 00 13 00 14 0x0a同于1.5. 07 00 15 0x07 : CONSTANT_Class 0x15 : name_index6. 07 00 16 7. 01 00 06 3c 69 6e 69 74 3e 01 ... 0x01 CONSTANT_Utf8 0x06 : string length '' : 構造函數8. 01 00 03 28 29 56 ...()V 函數,無參數 0x01 . . . . . . 0x03 : . . . . '()V' : . . .9. 01 00 04 43 6f 64 65 ...Code10. 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 ...LineNumberTable11. 01 00 04 6d 61 69 6e ...main12. 01 00 16 28 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 ...([Ljava/lang/String;)V 函數,參數為String[]類型13. 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 ...SourceFile14. 01 00 09 54 65 73 74 2e 6a 61 76 61 ...Test.java15. 0c 00 07 00 08 0x0c:CONSTANT_NameAndType 07 : name-index 08:name-type-index16. 07 00 1717. 0c 00 18 00 1918. 01 00 0c 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 ...Hello World!19. 07 00 1a20. 0c 00 1b 00 1c21. 01 00 04 54 65 73 74 ...Test22. 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 ...java/lang/Object23. 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d ...java/lang/System24. 01 00 03 6f 75 74 ...out25. 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b ...Ljava/io/PrintStream;26. 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d...java/io/PrintStream27. 01 00 07 70 72 69 6e 74 6c 6e ...println28. 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 ...(Ljava/lang/String;)V00 20 access_flags 00 05 this_class00 06 super_class00 00 interfaces_count00 00 fields_count00 02 methods_countmethods[2]:method_info { u2 access_flags; u2 name_index; u2 descriptor_index; u2 attributes_count; attribute_info attributes[attributes_count];}0. 00 00 access_flags; 00 07 name_index; 看看constant_pool的第7項: 表明當前描述構造函數 00 08 descriptor_index; 00 01 attributes_count; 00 09 attribute_name_index 0x09 看看constant_pool的第9項,簡單明了Code ?。? 00 00 00 1d attribute_length = 29 00 01 max_stack 00 01 max_locals 00 00 00 05 code_length 2a b7 00 01 b1 JVM定義的操作碼代碼段數組 00 00 exception_table_length 00 01 attributes_count 一個,接下來是attribute_info結構 00 0a attribute_name_index 看看constant_pool的第10項: LineNumberTable(顯然調試用) 00 00 00 06 attribute_length 00 01 line_number_table_length 00 00 start_pc 00 01 line_number1. 00 09 access_flags PUBLIC & STATIC 00 0b name_index; 表明當前描述main函數 00 0c descriptor_index; ...([Ljava/lang/String;)V 00 01 attributes_count; 00 09 attribute_name_index Code 00 00 00 25 attribute_length = 37 00 02 max_stack 00 01 max_locals 00 00 00 09 code_length b2 00 02 12 03 b6 00 04 b1 代碼數組 codeArray1[0-8] 00 00 exception_table_length 00 01 attributes_count 接下來是attribute_info結構 00 0a attribute_name_index LineNumberTable 00 00 00 0a attribute_length 00 02 line_number_table_length 00 00 start_pc 00 05 line_number 00 08 start_pc : codeArray1[8] = 0xb1 return 00 06 line_number 第6行源程序為 } 00 01 attributes_count00 0d attribute_name_index 屬性為SourceFile00 00 00 02 attribute_length00 0e sourcefile_index constant_pool[0x0e] ---> 'Test.java'接下來我們看看main()函數對應的代碼:b2 00 02 12 03 b6 00 04 b10xb2 0x00 0x02 : getstatic #2 看看constant_pool[0x02] :09 00 10 00 11 0x09 : CONSTANT_Fieldref 0x10: class index 0x11 :name-type-index constant_pool[0x10]: constant_pool[0x17] : java/lang/System constant_pool[0x11]: 0x18 : class index 0x19 :name-type-index constant_pool[0x18] : out constant_pool[0x19] : Ljava/io/PrintStream 即 System.out 為 java.io.PrintStream 類型 0x12 0x03 : ldc #3 看看 constant_pool[3] : 08 00 12 0x08 : CONSTANT_String 0x12 : string_index 指向一個字符串 constant_pool[0x12]: 'Hello World!' 故該指令加載了字符串索引到本地棧0xb6 0x00 0x04: invokevirtual #4 -----到constant_pool查查 0x13 :class 0x14 :name-type 看看constant_pool[0x13]:java/io/PrintStream constant_pool[20] : 00 1b 00 1c constant_pool[0x1b]:println . . . . :(Ljava/lang/String;)V 故該指令調用了 java.io.PrintStream.println(java.lang.String) 而參數則為 ldc #3 加載的 'Hello World!'0xb1 : return關于opcode的更多信息參見 http://mrl.nyu.edu/~meyer/jvmref/ 和JVM文檔轉自 http://watercloud.nease.net/ Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
主站蜘蛛池模板: www.久久99| 成人欧美日韩一区二区三区 | 香蕉久久久久久 | 99精品国产在热久久 | 欧美成人小视频 | 伊人天堂在线 | 中文在线视频 | 国产成人精品久久 | 9久久| 偷拍做爰吃奶视频免费看 | 久草精品在线 | 日韩一二三四 | 中文字幕免费在线观看 | 日韩色在线 | 日本精品视频在线观看 | 欧美xxxx网站 | 午夜精品久久久久久久久久久久 | 国产中文在线 | 亚洲444kkkk在线观看最新 | 精品一区二区在线播放 | 精品视频久久久 | 国产视频2021 | 色婷婷久久一区二区三区麻豆 | 久久99精品久久久久子伦 | 日本黄色大片免费观看 | 在线播放亚洲 | 日摸夜操| 蜜桃毛片 | 国产精品久久久久久久久久三级 | 国产美女久久 | 国产成年人小视频 | 国内精品久久久久国产 | 欧美在线观看免费观看视频 | 99精品在线 | 国产一区二区精品 | 久久精品亚洲 | 久久久一区二区三区 | 国产999精品久久久影片官网 | 99久久婷婷国产综合精品电影 | 风间由美一区二区三区在线观看 | 91中文字幕 | 欧美成人精品一区二区三区 | 黑人精品视频 | 天天干,夜夜操 | 可以看的毛片网站 | 日韩在线大片 | 激情网在线观看 | 91精品久久久久久久 | 国产精品一区免费在线观看 | 国精日本亚洲欧州国产中文久久 | 亚洲精品99| 欧美精品导航 | 成人三级网址 | 亚洲成人av在线播放 | 99视频网站| 亚洲精品乱码久久久久久久久 | 黄色a级网站| 精品一区二区三区免费毛片爱 | www.久久久.com | 在线中文视频 | a级片网站 | 成人免费一区二区三区视频网站 | av中文字幕在线播放 | 欧美8一10sex性hd | 成人久久18免费网站图片 | 北条麻妃99精品青青久久 | 久久精品店 | 中文字幕av一区 | 成年无码av片在线 | 羞羞视频在线免费观看 | 欧美日韩在线免费 | 黄色毛片免费看 | 久久久久久久一区二区三区 | 国产日韩欧美高清 | 国内福利视频 | 一级做a爰片性色毛片 | 国产一级一级国产 | 国产性一级片 | 日本在线一区二区三区 | 久久精品色欧美aⅴ一区二区 | 欧美8一10sex性hd | 都市激情av | 国产91富婆养生按摩会所 | 国产精品一区二区三区在线 | 欧洲尺码日本国产精品 | 91亚洲精品久久久 | 91久久 | 亚洲成人av一区二区 | 亚洲网站在线观看 | 91麻豆精品国产91久久久久 | 中文字幕日韩欧美 | 国产一区二区视频在线 | 国产野精品久久久久久久不卡 | 成人在线片 | 综合网亚洲 | 中文字幕免费在线 | 97高清国语自产拍 | 国产乱码精品一区二区三区爽爽爽 | 欧美日韩视频在线观看免费 | 免费a大片 | 99视频在线看 | 成人午夜精品久久久久久久3d | 国产免费一区二区三区 | 男人的天堂在线视频 | 久久成人精品视频 | 国产欧美日韩精品一区 | 99免费观看 | 色视频在线免费观看 | 久久99精品久久久久久琪琪 | 久久男女| 日本手机在线视频 | 成人欧美一区二区三区黑人孕妇 | 日韩一区二区福利 | 五月婷婷色 | 亚洲高清视频在线 | 成人在线视频免费观看 | 午夜欧美一区二区三区在线播放 | 国产高清在线a视频大全 | 午夜精品一区二区三区在线视频 | 国产成人精品无人区一区 | 日韩在线欧美 | 免费亚洲婷婷 | 最新国产在线 | 热久久久久 | 日韩av成人 | 大香伊蕉在人线视频777 | 一本大道久久a久久精二百 国产精品片aa在线观看 | 精品亚洲一区二区 | 日韩欧美一区二区三区久久婷婷 | 国产精品久久久久永久免费观看 | 亚洲精品久久久久久久久久 | 一级做a爰片毛片 | 欧美xxxx网站 | 国产女人和拘做受在线视频 | 人人射 | 国产精品中文字幕在线 | 中文字幕一区二区不卡 | 久久国产精品99久久久久久老狼 | 亚洲综合色视频在线观看 | 欧美在线a | 亚洲一区二区三区视频 | 99国产精品久久久久久久 | 91九色在线观看 | 欧美在线a| 亚洲一区视频在线 | www国产亚洲精品久久网站 | 国产成人精品免高潮在线观看 | 国产精品片aa在线观看 | 亚洲中午字幕在线观看 | 在线精品日韩 | 亚州视频在线 | 亚洲国产在 | 伊人超碰在线 | 欧美精品www | 亚洲第一免费视频网站 | 狠狠综合久久av一区二区老牛 | 欧美福利专区 | 日韩视频网 | 日韩成人免费视频 | 国产区免费在线观看 | 精品亚洲一区二区 | 亚洲91在线 | 欧美成a | 一区二区三区免费看 | 91影院在线观看 | 国产精品久久久久久久久久99 | 东北一级毛片 | 91亚洲国产成人久久精品网站 | 成人免费黄色毛片 | 91久久夜色精品国产网站 | 日韩有码电影 | 中国妞xxxhd露脸偷拍视频 | 午夜影院在线观看免费 | 日韩精品一区二区三区在线播放 | 簧片免费网站 | www.成人| 亚洲视频自拍 | 看真人视频a级毛片 | 国产精品亚洲第一 | 日本一级中文字幕久久久久久 | 亚洲成人久久久 | 亚洲一区欧美一区 | 伊人网电影 | 蜜桃av一区二区三区 | 99精品一区二区 | 女人夜夜春高潮爽av片 | 久久精品首页 | 盗摄精品av一区二区三区 | 国产九色视频 | 国产小视频在线观看 | www国产一区| 久久美女视频 | 黑人av | 亚洲一区二区三区久久 | 黄色毛片一级 | 欧美区国产区 | 亚洲男人的天堂网站 | 欧洲国产伦久久久久久久 | 日韩中文字幕免费在线 | 久久精品99国产精品亚洲最刺激 | 欧美三级视频在线播放 | 国产亚洲成av人片在线观看桃 | 男女中文字幕 | caoporn免费在线视频 | 婷色综合 | 日韩www | 欧美激情精品久久久久久 | 伊人精品视频在线观看 | 欧美在线国产 | 久久成人一区 | 久久久亚洲一区二区三区 | 国产午夜久久 | 欧美色综合一区二区三区 | 午夜免费一区二区播放 | 精品 99| 亚洲一区二区免费视频 | 日本三级中文在线电影 | 成人不卡视频 | 亚洲va中文字幕 | 91精品国产99久久久 | 五月婷婷在线观看视频 | 不卡在线 | 91精品国产91久久久久久最新 | 欧美综合视频 | 伊人网综合在线 | 综合久久综合久久 | 在线观看一区 | 成人看的免费视频 | 成人免费在线视频播放 | 久久国产精品99国产 | 亚洲人人| 欧洲成人午夜免费大片 | а√天堂资源中文最新版地址 | 日韩免费一区二区 | 亚洲精品自在在线观看 | 国产精品亚洲一区二区三区 | 日韩免费区 | 国产探花在线看 | 色综合一区二区三区 | 日韩精品中文字幕在线播放 | 欧美一级在线观看 | 躁躁躁日躁夜夜躁 | 凹凸日日摸日日碰夜夜爽孕妇 | 天天躁人人躁人人躁狂躁 | 中文字幕亚洲一区 | 黄免费观看 | 日韩电影一区 | 日韩精品一区二区三区在线观看 | 国产精品视频一区二区三区不卡 | 毛片黄片 | 香蕉久久久久久 | 午夜精品久久久久久99热软件 | www.日韩系列| 综合一区| 中文字幕一区二区三区乱码图片 | 亚洲精品久久久久久久久 | 超碰最新网址 | 久久久精品 | 亚洲永久精品www | 亚洲日本中文 | 专干老肥女人88av | 亚洲精品美女久久 | 精品久久久久一区二区三区 | 日韩精品中文字幕在线观看 | 九九视频在线 | 久久激情五月丁香伊人 | 中文字幕免费在线 | 久久久精品综合 | 国产综合视频在线播放 | 在线免费观看毛片 | 特一级毛片 | 精品久久久久久国产 | 五月激情综合网 | 密室大逃脱第六季大神版在线观看 | 日韩不卡一区 | 91在线视频播放 | 欧美日韩中文 | 国产免费久久 | 亚洲成人一区二区 | 国产精品二区一区二区aⅴ污介绍 | 亚洲欧美在线综合 | 久草久草久 | 亚洲欧美日韩精品久久奇米色影视 | 99亚洲视频| 日韩性欧美 | 国产欧美一区二区三区国产幕精品 | 毛片免费观看网址 | 亚洲精品视频免费观看 | 国产伦精品一区二区 | 一区二区三区 在线 | 久久精彩视频 | 久久伊人精品视频 | 亚洲一区二区三区视频 | 91精品国产综合久久福利软件 | 91久久国产综合久久蜜月精品 | 伊人手机在线视频 | www久久精品 | 黄色在线观看 | 在线视频二区 | 91视频网址 | 亚洲欧洲自拍 | 亚洲第一色 | 91麻豆精品国产91久久久久 | 99精品视频在线观看 | 91成人在线看 | 久久99国产精品免费网站 | 亚洲一区中文字幕在线 | 激情欧美一区二区三区中文字幕 | av手机在线电影 | 91精品国产一区二区 | 久久久91 | 天天操天天拍 | 久久午夜综合久久 | 亚洲视频在线观看 | 日本一级毛片免费看 | 久久精品成人 | 日韩精品一区二区三区在线播放 | 亚洲欧美中文日韩在线v日本 | 99视频网站 | 婷婷色av| 亚洲精品乱码8久久久久久日本 | 丁香五月亚洲综合在线 | 国产视频一区二区 | 午夜影视av| 成人日韩在线观看 | 成人国产精品 | 国产精品a久久久久 | 久久国产高清 | 日韩爱爱免费视频 | 国产一区二区三区免费在线观看 | 久久99国产精品 | 亚洲激情欧美 | 国产精品久久久久久久久久免费 | 日韩欧美在线视频观看 | 玖玖玖视频| 欧美一区二区三区免费 | 日本高清精品 | 日韩免费一区二区 | 国产免费无遮挡 | 日韩精品1区 | 成人欧美一区二区三区色青冈 | 精品亚洲区 | 在线观看黄色大片 | 小草av| 99精品久久精品一区二区爱城 | 久久久精品一区二区三区 | 国产成人av在线播放 | 少妇激烈床戏视频 | ririsao久久精品一区 | 日韩av一区二区在线观看 | 亚洲一区二区在线播放 | 国产精品无码久久久久 | 日韩精品小视频 | 久久精品欧美 | 欧美视频免费在线 | 亚洲三区视频 | 亚洲91在线 | 久久精品首页 | 亚洲a视频 | 羞羞视频在线网站观看 | 亚洲精品1 | 日本在线一区二区三区 | h片观看 | 黄网站色大毛片 | 99亚洲| 国产欧美日韩综合精品 | 蜜臀av在线播放一区二区三区 | 亚洲高清在线观看 | 国产精品成人3p一区二区三区 | 欧美日韩亚洲二区 | 超级碰在线视频 | 99精品一区二区 | 国产精品久久婷婷六月丁香 | 久久中文在线观看 | 欧美一区二区三区免费在线观看 | 色婷婷一区二区三区 | 不卡中文一区 | 亚洲综合一区二区 | 国产高清在线不卡 | 免费日韩成人 | 成人激情视频在线观看 | 国产一级免费视频 | www久久久 | 国产精品永久在线 | 午夜精品一区二区三区免费视频 | 噜噜噜噜噜在线视频 | 一区二区三区国产亚洲网站 | 欧美日本一区 | 一区免费视频 | 欧美日韩专区 | 久久伊人中文字幕 | 久久久久久久久国产 | 精品国产成人 | 大桥未久亚洲精品久久久强制中出 | 欧美一级黄色影院 | 精品国产乱码久久久久久1区2区 | 超碰人人插 | av免费观看在线 | 91.成人天堂一区 | 伊人爽 | 国产精品视屏 | 国产精品亚洲精品日韩已方 | 国产伦精品久久久一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 艳妇荡乳豪妇荡淫 | 久久国产精品久久久久久 | 亚洲乱码国产乱码精品精 | 久久精品国产亚洲一区二区三区 | hh99me在线观看 | 99pao成人国产永久免费视频 | 五月天婷婷综合 | 50人群体交乱视频 | 亚洲国产高清视频 | 天天草天天干天天 | 久久精品国产一区二区电影 | 免费观看一级特黄欧美大片 | 色综合激情 | 我爱操| 日韩成人在线网站 | 欧美大成色www永久网站婷 | 欧美一区二区三区在线观看视频 | 日本一区二区三区免费观看 | 欧美成人精品一区二区男人看 | 国产精品成人一区二区三区夜夜夜 | 天天操天天摸天天干 | 亚洲欧美日韩精品久久亚洲区 | 自拍偷拍亚洲视频 | 97久久久国产精品 | 日本 欧美 国产 | 亚洲精品电影在线观看 | 精品免费国产一区二区三区四区 | 一道本一区 | 欧美一区二区三区在线观看视频 | 亚洲网色 | 精品国产99| 日韩精品一区二区三区老鸭窝 | 少妇看av一二三区 | 亚洲影视一区二区 | 成人久久18 | 久久久999精品视频 五月天婷婷在线视频 | 中文字幕乱码亚洲精品一区 | 精品久久久中文字幕 | 日韩欧美综合 | 人人澡人人射 | 在线精品亚洲欧美日韩国产 | 性色视频在线 | 一区二区三区四区不卡视频 | 久久最新 | 国产精品亚洲第一 | 欧美激情一区二区三区蜜桃视频 | 精品视频网| 婷婷色国产偷v国产偷v小说 | 欧美日韩免费一区二区三区 | 日韩国产欧美一区 | 天天操天天干视频 | a国产视频| 亚洲一区二区免费 | 国产精品国产三级国产aⅴ入口 | 久久这里只有精品首页 | 一区二区三区福利视频 | 一二三四区视频在线观看 | 日韩精品一区二区三区四区五区 | 久久久一区二区三区 | 91视频免费在线 | 欧美精品片| 日韩欧美国产精品综合嫩v 国产高清av在线一区二区三区 | 日韩中文字幕三区 | 亚洲精品成人av | 亚洲色图第八页 | 亚洲欧美国产另类 | 国产三区在线视频 | 免费黄色特级片 | 黄色大片观看 | 中文久久 | 四虎永久网址 | 亚洲不卡视频在线观看 | 性一交一乱一透一a级 | 成人一区二区在线 | 欧美日韩精品一区二区三区 | 日韩一区在线观看视频 | 欧美精品一区二区在线观看 | 97国产一区二区精品久久呦 | 国产精品黄网站在线观看 | 欧美一区在线视频 | 日本在线一区二区 | 一区二区亚洲 | 午夜免费电影 | 午夜视频免费 | 福利精品视频 | 成年人视频在线免费观看 | 日本久久久久久久久久久久 | 久草 在线 | www.99久| 亚洲一区中文 | 免费中文字幕 | 色玖玖综合 | 国产高清不卡 | 国产一区精品视频 | 国产免费一区二区 | 久久久久久电影 | 日韩成人免费 | 99精品久久 | 在线无码| 日韩超碰在线观看 | 欧美国产综合 | 国产一级黄色av | 国产美女自拍视频 | 国产视频久久久 | 亚洲精品久久 | 欧美亚洲成人一区 | 午夜在线 | 91精品国产综合久久婷婷香蕉 | 91色电影 | 国产成人精品一区二区三区 | 在线免费一级片 | 国产高清精品在线 | 成人亚洲一区二区 | 色视频www在线播放国产人成 | www.夜夜骑| 91日日| 人人射av | 日本一区二区三区免费观看 | 国产综合亚洲精品一区二 | 免费观看一区二区三区毛片 | 色网站在线观看 | 久久男人天堂 | 成人一区二区在线 | 久久九| 亚洲第一色片 | 特黄视频 | 欧美国产高清 | 欧美成人h版在线观看 | 久久久久久免费免费 | 91豆花视频 | 2018国产大陆天天弄 | 一区二区三区免费在线 | 国产精品主播 | xvideos.蜜桃一区二区 | 一级a性色生活片久久毛片明星 | 久久伊 | 欧美成人在线免费视频 | 欧美日韩国产中文 | 久久精品一 | jlzzjlzz国产精品久久 | 国产午夜精品一区二区三区嫩草 | 国产婷婷色一区二区三区 | 久久精品久久久久 | 91亚洲精品在线观看 | 国产福利91精品一区二区三区 | 毛片毛片毛片毛片毛片毛片 | 日本五月婷婷 | 夜夜视频 | 国产精品久久久久久久浪潮网站 | 久久不射电影网 | 六月丁香啪啪 | 国内精品视频一区二区三区八戒 | 四虎成人永久 | 久久99视频这里只有精品 | 亚洲欧洲日本国产 | 国产欧美精品一区二区 | 欧美一区二区三区精品 | 欧美一区久久 | 中文字幕在线第一页 | 一区二区电影 | 中文字幕日韩欧美一区二区三区 | 成人在线免费 | 奇米成人影视 | 最新国产精品精品视频 | 国产一区二区三区四区在线观看 | 日韩成人在线播放 | 九九在线国产视频 | 日韩视频在线一区 | 国产日韩欧美综合 | 欧美a级成人淫片免费看 | 精品一区二区三区在线观看 | 久久久久久久久国产 | 欧美一区| 日韩美女av在线 | 久久久久久久精 | 久久国产欧美日韩精品 | 狼人狠狠干 | 久久中文字幕一区 | 欧美精品在线一区 | 欧美精品第一页 | 成人在线免费视频 | 国产情侣自拍啪啪 | av一区二区三区 | 亚洲国产精品久久人人爱 | 国产精品毛片一区二区在线看 | 二区在线观看 | 永久精品 | 成年人精品视频在线观看 | 久久精品国产99国产精品 | 国产欧美一区二区精品婷 | 久久久一区二区 | 国产亚洲精品成人av久久ww | 久久免费小视频 | 干干人人| 狠狠视频| www.成人在线视频 | 成人a在线 | 九九porny88av | 亚洲中午字幕在线观看 | 国产视频一区二区 | 综合一区二区三区 | 欧美午夜视频在线观看 | 久久久久久久中文 | 狠狠躁夜夜躁人人爽天天高潮 | 激情一区| 久久影院国产 | 色com| 国产一在线 | 亚洲精品国产9999久久久久 | 欧美专区在线观看 | 免费观看国产视频在线 |