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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JVM之class文件結(jié)構(gòu)

瀏覽:152日期:2024-07-20 09:02:50
內(nèi)容: by cloud (safesuite@263.net ) 定義:u1 1個(gè)字節(jié)為單位的非負(fù)值 u2 2個(gè)字節(jié)為單位的非負(fù)值 u3 . . . . . . . . (其他以此類(lèi)推 ) Java文件結(jié)構(gòu)用類(lèi)似struct的描述如下: ClassFile { u4 magic; // 必須為: 0xCAFEBABE u2 minor_version; u2 major_version; //CLASS文件結(jié)構(gòu)主次版本號(hào) JAVA2支持45.0-46.0 u2 constant_pool_count; //記錄常量信息 cp_info constant_pool[constant_pool_count-1]; //計(jì)數(shù)從1開(kāi)始 u2 access_flags; //class/interface訪問(wèn)權(quán)限 u2 this_class; //指向constant_poll中的有效索引值 u2 super_class; //0或指向constant_poll中的有效索引值,對(duì)于interface必須為非0 u2 interfaces_count; //superinterfaces的個(gè)數(shù) u2 interfaces[interfaces_count]; //計(jì)數(shù)[0,count-1) 對(duì)應(yīng)constant_pool中的一個(gè)索引值 u2 fields_count; field_info fields[fields_count]; //主要用于記錄class及實(shí)例中的變量 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 此時(shí)cp_info分別對(duì)應(yīng)結(jié)構(gòu)變化為 1. CONSTANT_Class CONSTANT_Class_info { u1 tag; u2 name_index; } 2. CONSTANT_Fieldref CONSTANT_Fieldref_info { u1 tag; u2 class_index; //constant_pool的索引,對(duì)應(yīng)CONSTANT_Class_info u2 name_and_type_index;//constant_pool的索引,對(duì)應(yīng)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,如果沒(méi)有置ACC_INTERFACE則定義的是一個(gè)類(lèi)而非接口。 如果設(shè)置了ACC_INTERFACE,那么ACC_ABSTRACT位也必須被設(shè)置,當(dāng)然也可以設(shè)置ACC_PUBLIC。 ACC_SUPER用以表明invokespecial語(yǔ)義,Sun公司老的JAVA編譯器沒(méi)有設(shè)置ACC_SUPER,并且老的JVM 忽略ACC_SUPER位,但新的編譯器應(yīng)該實(shí)現(xiàn)invokespecial語(yǔ)義。 其他未指明的位保留將來(lái)使用,并且編譯器應(yīng)當(dāng)將其置為0,同時(shí)Java虛擬機(jī)應(yīng)當(dāng)忽略他們。 this_class: constant_pool中的索引值,指向的元素的cp_info等價(jià)為CONSTANT_Class_info CONSTANT_Class_info { u1 tag; //必須為CONSTANT_Class (7) u2 name_index; //為指向constant_pool中的一個(gè)索引值 } name_index :指向的元素的cp_info等價(jià)為CONSTANT_Utf8_info CONSTANT_Utf8_info { u1 tag; //必須為CONSTANT_Utf8 (1) u2 length; u1 bytes[length]; //Utf8編碼的字符串 } field_info { u2 access_flags; //訪問(wèn)控制權(quán) u2 name_index; //constant_pool中的索引,對(duì)應(yīng)于CONSTANT_Utf8_info描述。 u2 descriptor_index; //constant_pool中的索引,對(duì)應(yīng)于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 其中很顯然不能同時(shí)為ACC_FINAL和ACC_VOLATILE ;且前三項(xiàng)是互斥的。 interface必須置ACC_PUBLIC, ACC_STATIC,ACC_FINAL位,且不能置其他位。 其他未指明的位保留將來(lái)使用,并且編譯器應(yīng)當(dāng)將其置為0,同時(shí)Java虛擬機(jī)應(yīng)當(dāng)忽略他們。 methods指明了類(lèi)中的所有方法。 method_info { u2 access_flags; u2 name_index; //指向constant_pool的入口,對(duì)應(yīng)為CONSTANT_Utf8_info u2 descriptor_index; //指向constant_pool的入口,對(duì)應(yīng)為CONSTANT_Utf8_info u2 attributes_count; attribute_info attributes[attributes_count]; //此處只能出現(xiàn)Code、Exceptions、Synthetic、Deprecated四種類(lèi)型的屬性 } access_flags訪問(wèn)權(quán)描述如下: 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中的索引,對(duì)應(yīng)于CONSTANT_Utf8_info描述。 u4 attribute_length; u1 info[attribute_length]; } 現(xiàn)在已經(jīng)預(yù)定義的屬性有: 1. SourceFile : attribute_info被替代為: SourceFile_attribute { u2 attribute_name_index; u4 attribute_length; u2 sourcefile_index; //指向constant_pool中的一個(gè)CONSTANT_Utf8_info 結(jié)構(gòu)。 } 2. ConstantValue : attribute_info被替代為: ConstantValue_attribute { u2 attribute_name_index; u4 attribute_length; //必須為2 u2 constantvalue_index; } 對(duì)于constantvalue_index意義如下: longCONSTANT_Long floatCONSTANT_Float double CONSTANT_Double int, short, char, byte, boolean CONSTANT_Integer String CONSTANT_String ConstantValue用于field_info 中,用于描述一個(gè)static常量, 且此時(shí)field_info的access_flags應(yīng)為ACC_STATIC 3. Code : attribute_info被替代為: Code_attribute { u2 attribute_name_index; u4 attribute_length; u2 max_stack; //執(zhí)行此函數(shù)時(shí)可用的棧的最大深度 u2 max_locals; //執(zhí)行此函數(shù)可用到的最大本地變量數(shù)目,包括參數(shù)。 // 注意:一個(gè)long/double相當(dāng)于2個(gè)變量數(shù)目. u4 code_length; //本函數(shù)用到的代碼長(zhǎng)度。 u1 code[code_length]; //實(shí)現(xiàn)本函數(shù)的真正字節(jié)碼 u2 exception_table_length; { u2 start_pc; u2 end_pc; //捕獲違例時(shí)執(zhí)行代碼數(shù)組中的[start_pc, end_pc)部分 u2 handler_pc; //現(xiàn)在還不大明白他是干嘛的!! u2 catch_type; //指向constant_pool的索引,對(duì)應(yīng)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; //不用我再說(shuō)了吧? } Code屬性用于method_info結(jié)構(gòu)中。 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 中, 一個(gè)沒(méi)有出現(xiàn)在源程序中的變量必須使用Synthetic標(biāo)記。 7. LineNumberTable : attribute_info被替代為: LineNumberTable_attribute { u2 attribute_name_index; u4 attribute_length; u2 line_number_table_length; { u2 start_pc; //代碼數(shù)組中的開(kāi)始處 u2 line_number; //源文件中的行號(hào)(對(duì)于每一非空行都有這么一項(xiàng)) } line_number_table[line_number_table_length]; } LineNumberTable用于Code屬性中,通常用于調(diào)試。 8. LocalVariableTable : attribute_info被替代為: LocalVariableTable_attribute { u2 attribute_name_index; u4 attribute_length; u2 local_variable_table_length; { u2 start_pc; u2 length; //當(dāng)解釋到代碼數(shù)組的[start_pc,start_pc+length] //時(shí)變量必須被賦值?? u2 name_index; u2 descriptor_index; u2 index; //到本地變量數(shù)組的一個(gè)索引 } local_variable_table[local_variable_table_length]; } 9. Deprecated : attribute_info被替代為: Deprecated_attribute { u2 attribute_name_index; u4 attribute_length; //必須為0 } 當(dāng)然你也可以定義自己的屬性,但要你自己的編譯器和虛擬機(jī)實(shí)現(xiàn)。JVM將忽略自己不認(rèn)可的屬性。 來(lái)實(shí)踐一下吧!編寫(xiě)一個(gè)最簡(jiǎn)單的程序:class Test{ public static void main(String[] args) { System.out.println('Hello World!'); }} c:work>javac Test.java c:work>filedump Test.class File 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 次主版本號(hào),換算一下: 45.3 (注意,不是高字節(jié)在前,別犯職業(yè)病!)00 1d constant_pool元素個(gè)數(shù)加一 : 29 那么constant_pool就是[1-28]constant_pool: 1-28 1. 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 167. 01 00 06 3c 69 6e 69 74 3e 01 ... 0x01 CONSTANT_Utf8 0x06 : string length '' : 構(gòu)造函數(shù)8. 01 00 03 28 29 56 ...()V 函數(shù),無(wú)參數(shù) 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 函數(shù),參數(shù)為String[]類(lèi)型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;)V 00 20 access_flags00 05 this_class00 06 super_class00 00 interfaces_count00 00 fields_count00 02 methods_count methods[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項(xiàng): 表明當(dāng)前描述構(gòu)造函數(shù) 00 08 descriptor_index; 00 01 attributes_count; 00 09 attribute_name_index 0x09 看看constant_pool的第9項(xiàng),簡(jiǎn)單明了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定義的操作碼代碼段數(shù)組 00 00 exception_table_length 00 01 attributes_count 一個(gè),接下來(lái)是attribute_info結(jié)構(gòu) 00 0a attribute_name_index 看看constant_pool的第10項(xiàng): LineNumberTable(顯然調(diào)試用) 00 00 00 06 attribute_length 00 01 line_number_table_length 00 00 start_pc 00 01 line_number 1. 00 09 access_flags PUBLIC & STATIC 00 0b name_index; 表明當(dāng)前描述main函數(shù) 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 代碼數(shù)組 codeArray1[0-8] 00 00 exception_table_length 00 01 attributes_count 接下來(lái)是attribute_info結(jié)構(gòu) 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行源程序?yàn)?} 00 01 attributes_count00 0d attribute_name_index 屬性為SourceFile00 00 00 02 attribute_length00 0e sourcefile_index constant_pool[0x0e] ---> 'Test.java' 接下來(lái)我們看看main()函數(shù)對(duì)應(yīng)的代碼: b2 00 02 12 03 b6 00 04 b1 0xb2 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 類(lèi)型 0x12 0x03 : ldc #3 看看 constant_pool[3] : 08 00 12 0x08 : CONSTANT_String 0x12 : string_index 指向一個(gè)字符串 constant_pool[0x12]: 'Hello World!' 故該指令加載了字符串索引到本地棧0xb6 0x00 0x04: invokevirtual #4 -----到constant_pool查查 0x13 :class 0x14 :name-t 看看constant_pool[0x13]:java/io/PrintStream constant_pool[20] : 00 1b 00 1c constant_pool[0x1b]:println . . . . :(Ljava/lang/String;)V 故該指令調(diào)用了 java.io.PrintStream.println(java.lang.String) 而參數(shù)則為 ldc #3 加載的 'Hello World!'0xb1 : return 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
相關(guān)文章:
主站蜘蛛池模板: 久久综合九色综合欧美狠狠 | 999精品嫩草久久久久久99 | 色资源在线| 久久不射电影网 | 韩国三级午夜理伦三级三 | a级在线免费观看 | h视频在线免费 | 亚洲tv久久爽久久爽 | 国产一区二区三区在线看 | 日韩精品91爱爱 | 日韩成人免费 | 日日夜夜精品免费视频 | 一区二区久久 | 国产专区一区 | 午夜精品久久久久久99热软件 | 午夜视频| 在线播放国产精品 | 91久久久久 | 欧美一区二区三区免费 | 国产精品一二三区 | 亚洲精品国产综合区久久久久久久 | 久久aⅴ乱码一区二区三区 91综合网 | 国产精品久久久久久久久久久久午夜片 | 视频一区在线 | 成人免费一区二区三区 | 亚洲精品aaa | 日本一区二区高清视频 | 久久精品91久久久久久再现 | 亚洲视频在线观看 | 影音先锋中文字幕在线 | 久久久999精品视频 99国产精品久久久久久久 | 成人精品视频99在线观看免费 | 成av在线| 久久9视频 | 国产传媒日韩欧美 | h在线观看 | 国产精品色婷婷亚洲综合看 | 91日日| 一区二区色 | 午夜影院在线观看 | 一区二区三区播放 | 欧美日韩黄色一级片 | 中文字幕网在线 | 精品一区免费观看 | 日干夜操 | 综合色久| 欧美一区久久 | 综合婷婷 | 久久一视频| 精品久久久网站 | 亚洲成人精品视频 | 久久久综合亚洲91久久98 | 午夜精品一区二区三区四区 | 精品国产一区三区 | 久久99国产伦子精品免费 | 亚洲国产精品视频 | 国产在线一 | 中文字幕在线看片 | 国产在线高清视频 | 久久精品99国产精品亚洲最刺激 | 日韩欧美精品一区二区三区 | 在线观看v片 | 午夜精品视频在线观看 | 久久久久网站 | 久久久久久久久成人 | 久久国产精品一区二区三区 | 国产视频精品视频 | 99福利视频 | 国产精品网站在线观看 | 女同videos另类 | 免费看爱爱视频 | 精品1区2区| 久久中文字幕一区 | 成人免费视频网站在线观看 | 超碰人人爽 | 久草网在线视频 | 国产91成人video | 密室大逃脱第六季大神版在线观看 | 成人av免费在线 | 欧美精品三区 | 国产精品久久国产精品 | 国产三级在线播放 | 一区二区免费视频 | 男女做爰高清无遮挡免费视频 | 9uu在线观看| 久久精品成人 | 日韩精品第一页 | 亚洲免费在线视频 | 久久久999国产 | 在线观看国产视频 | 先锋av资源在线 | 性色视频在线观看 | 国产99久久久精品视频 | 成人毛片久久 | 一色视频 | 免费黄色欧美 | 91传媒在线播放 | 亚洲免费人成在线视频观看 | 国产大学生一区 | 色免费在线观看 | 欧美一区二区三区aa大片漫 | 91精品久久久久久久 | 国产精品久久久久久久久久久久久 | 国产电影一区二区 | 国产精品久久久久久久美男 | 亚洲国产久 | 成人1区 | 亚洲精品在线成人 | 亚洲看片网站 | 亚洲欧美在线综合 | 成人亚洲精品久久久久软件 | 91网在线播放 | 久久久久久成人精品 | 国产精品久久久久久久娇妻 | 午夜欧美 | 成人情趣视频 | 欧美成人免费一级人片100 | 欧美视频一级 | 国产精品一区二区无线 | 特黄特色大片免费视频观看 | 精品一区二区三区免费 | 欧美午夜视频在线观看 | 日韩av在线中文字幕 | 狠狠久久综合 | 精品一区二区三区四区五区 | 久久久二 | 国产午夜久久 | a视频在线观看 | 噜噜噜噜狠狠狠7777视频 | 精品一区二区在线观看 | 亚洲国产免费 | 国产一区二区视频在线 | 欧美一区二区三区视频 | 亚洲精品久久久久久久久久久 | 日韩在线不卡 | 成人免费视频网站 | 91精品国产综合久久久蜜臀粉嫩 | 日韩一区在线观看视频 | 亚洲九九 | 亚洲精品国产一区 | 日韩性网站 | 日韩精品av一区二区三区 | 亚洲精品久久 | 中文字幕免费看 | 黄色a在线观看 | 午夜成人免费电影 | 欧美一区二区久久久 | 国产亚洲一区二区三区在线观看 | 一级a毛片免费 | 国产精国产精品 | 亚洲jizzjizz日本少妇 | 一级在线观看 | 一级毛片免费 | 99小视频| 亚洲欧洲在线观看 | 中文字幕日韩欧美 | 国产精品久久久久久吹潮 | 国产精品美女久久久久aⅴ国产馆 | 日韩午夜一级片 | 亚洲国产免费 | 国产精品久久久久久久久久久久久久 | 国内精品久久久久 | 三区在线| 亚洲第一视频 | 四虎新网站 | 成人免费视频播放 | 国产精品亚洲一区二区三区 | 玖草在线视频 | 乳色吐息在线观看 | 精品视频久久久久 | 在线播放亚洲 | 中文字幕在线看第二 | 亚洲精品久久久久国产 | 正在播放亚洲 | 91小视频 | 午夜在线 | 日韩视频精品在线 | 中文字幕日韩一区二区不卡 | 国产成人免费视频 | 亚洲一区二区三区免费 | 日韩3级在线观看 | 精品福利在线视频 | 狠狠插狠狠操 | 国产在线一区二区 | a免费在线| 欧美日产国产成人免费图片 | 亚洲精品久久久久久一区二区 | 成人二区| 午夜精品久久久久 | 日韩免费观看视频 | 精品国产一区二区三区久久久蜜臀 | 亚洲欧美国产一区二区三区 | 黄色在线视频网 | 毛片黄片 | 中文字幕一区二区三区四区不卡 | 狠狠的日 | 成人高清在线观看 | 国产一区二区三区免费 | 青娱乐国产精品视频 | 91中文字幕在线 | 亚洲二区在线 | 久久综合九色综合欧美狠狠 | 成人一级视频在线观看 | 一区二区三区四区在线 | 国产激情偷乱视频一区二区三区 | 成人av免费在线观看 | 亚洲精品乱码久久久久久9色 | 91久久久久 | 天天干夜夜操 | 日本一区高清 | 国产1区2区 | 国产视频精品视频 | 国产成人自拍一区 | 中文字幕一区二区三区乱码在线 | 另类免费视频 | 国产一区二区高潮 | 91麻豆精品国产91久久久资源速度 | 色爱av | 久久精品一| 国产精品99久久久久久久vr | 成人日韩| 日韩三级视频 | 欧美日韩国产一区二区 | 99久久久久久 | 久久久在线 | 久久青青操 | 男人天堂99 | 欧美成人激情 | 91国内精品| 国家aaa的一级看片 h片在线看 | 久久久亚洲| 亚洲社区在线 | 亚洲欧美日韩在线 | 久久成人一区二区 | 69av.com | 成人久久久久爱 | 色无欲天天天影视综合网 | 男人天堂a | 亚洲国产成人久久一区二区三区 | 欧美中文在线 | 免费成人在线观看视频 | 伊人久久综合 | 一级在线观看 | 亚洲三级视频 | 久久国产日韩 | 91极品国产 | 男女免费在线观看视频 | 国产成人在线免费观看视频 | 国产精品一区二区久久久久 | 成人国产精品视频 | 中文在线a在线 | 日韩不卡一区 | 日本黄色大片免费 | 国产成人在线网站 | 国产一级免费视频 | 日本欧美一区二区 | 亚洲日韩欧美一区二区在线 | 噜噜噜噜狠狠狠7777视频 | 国产51人人成人人人人爽色哟哟 | 亚洲毛片在线观看 | 久久网日本 | 中文字幕高清一区 | 成人涩涩网站 | 嫩草研究院在线观看入口 | 中文字幕在线看 | 久久国产亚洲精品 | 精品一二三区 | 91免费看| 国产精品福利在线 | 91精品国产综合久久福利软件 | 91精品国产乱码久久久久久久久 | 一级黄色录像毛片 | 欧美日韩在线第一页 | 欧美综合视频 | 日本在线观看www | 欧美日韩第一 | 日本狠狠干 | 欧美另类亚洲 | 国产成人一区 | 欧美久久久 | 欧美亚洲视频在线观看 | 日韩精品一二三区 | 日本色站 | 免费黄色片在线观看 | 国产中文字幕在线 | 国产成人精品久久二区二区91 | 亚洲福利av | 欧美国产一区二区 | 亚洲日本韩国在线观看 | 欧美一区二区三区aa大片漫 | 国产精品自拍视频 | 国产一区二区精品在线 | 中文在线一区 | 国产精品777一区二区 | 97av视频在线观看 | 在线免费毛片 | 理论黄色片 | 日日操夜夜操天天操 | 欧美在线视频一区 | 久久久久亚洲一区二区三区 | 另类天堂| 久久精品亚洲精品国产欧美kt∨ | 久久久久无码国产精品一区 | 午夜窝窝| 色婷婷亚洲一区二区三区 | 日韩欧美一区二区三区久久婷婷 | 欧美在线高清 | 精品视频三区 | 日韩素人一区二区三区 | 欧洲视频一区二区三区 | 国产精品一区二区三区四区五区 | 欧美亚洲视频在线观看 | 亚洲国产精品一区二区三区 | 日韩中文字幕在线观看 | 日韩中文字幕在线免费 | 久久精品这里热有精品 | 国产精品国产精品国产专区不片 | 99热.com| 日韩一区二区在线观看 | 亚洲在线| 久热免费在线观看 | 亚洲精品电影在线观看 | 久久久91精品国产一区二区 | 国产一区二区三区在线 | 2019天天干夜夜操 | 成人日韩 | 欧美成年黄网站色视频 | 尹人成人| 99久久久国产精品 | 国产精品亚洲一区二区三区在线 | 日本jizz在线观看 | 99re在线 | 中文在线亚洲 | 中文字幕在线观看免费视频 | 日本久久网 | 中文字幕在线观看免费视频 | 中文字幕亚洲综合 | 国产人成免费视频 | 一区不卡 | 久草视频在线播放 | 午夜色播 | 久久夜色精品 | 免费久久久久 | 99国产视频| 嫩草影院懂你的 | 欧美在线a| 精品一区二区在线观看 | 综合自拍偷拍 | 色吧欧美 | 日日干夜夜操 | 国产精品久久久精品 | 久在线视频 | 欧美精品一区二区三区在线四季 | 亚洲视频中文字幕 | 午夜不卡福利视频 | 婷婷五月色综合 | 美女久久久久久久久久久 | 天天干干 | 久久国产精品免费一区二区三区 | 亚洲一区视频在线 | 国产精品无码久久久久 | 亚洲日韩欧美一区二区在线 | 日韩视频久久 | 亚洲国产精品久久久久久女王 | 欧美在线不卡 | 玖玖色资源| 日本精品一区二 | 欧美精品在线一区 | 在线观看精品视频网站 | 国产一区二区三区精品久久久 | 日韩国产中文字幕 | 国产高清免费视频 | 九九综合 | 一区二区三区日韩精品 | 亚洲免费视频网址 | 91黄在线观看 | 国产免费av网站 | 亚洲一区在线免费观看 | 99福利视频 | 久久精品久久久 | 日韩在线观看网站 | 最近的中文字幕在线看视频 | 亚洲一区二区三 | 97影院在线午夜 | 在线免费看a | 免费看的黄色网 | 成人高清网站 | 日日夜夜精品免费视频 | 狠狠操夜夜操 | 亚洲一区二区三区免费视频 | 91.成人天堂一区 | 91亚洲免费 | 欧美精品一区二区三区蜜桃视频 | 自拍视频在线 | 日韩快播电影网 | 久久国产一区二区三区 | 欧洲一区二区三区 | 亚洲精品视频在线观看免费视频 | 国产免费自拍 | 欧美一区二区三区在线视频 | 国产在线不卡视频 | 在线免费观看激情视频 | 日韩视频免费在线 | 日韩在线视频观看免费 | 国产免费黄色 | 中文字幕乱码亚洲精品一区 | 国内精品久久久久 | 欧美久久久久久久久久久久 | 久久久久久久国产精品 | h亚洲视频 | 色吊丝在线永久观看最新版本 | 都市激情av | 久久亚洲一区二区三区四区 | 高清成人| 久久99这里只有精品 | 色综久久 | 老司机精品福利视频 | 亚洲一区中文字幕永久在线 | 99热在线播放| 亚洲一区 日韩精品 中文字幕 | 精品国产欧美一区二区 | 综合在线视频 | 不卡视频一区 | 国产婷婷精品av在线 | 最新天堂中文在线 | 天天操网| 日本免费在线视频 | 国产亚洲精品美女久久久久久久久久 | 成人久久久| 99re6在线视频精品免费 | 日本精品视频在线播放 | 亚洲男人的天堂在线播放 | 日韩中文字幕在线视频 | 成年人黄色一级片 | 久久成人一区二区 | 中文字幕国产 | 亚洲精品在线免费观看视频 | 亚洲精品久久久久久下一站 | 国产51人人成人人人人爽色哟哟 | 日本午夜在线 | 懂色av一区二区三区在线播放 | www.一区二区 | 欧美日韩视频在线观看免费 | 青青操av| 亚洲精品久久久久久久久久久 | 国产成人免费 | 成人av片在线观看 | 欧美视频一区二区三区在线观看 | 中文字幕一区二区三区日韩精品 | 人人爱人人草 | 日韩aaa久久蜜桃av | 91久色| 久久aⅴ乱码一区二区三区 91综合网 | 国产一区二区三区免费在线 | 国产精品一区二区无线 | 在线色网 | 韩国三级午夜理伦三级三 | 国产精品久久久久久久久久 | 一区二区三区高清不卡 | 国产2区 | 欧美黑人巨大xxx极品 | 欧美日韩国产在线观看 | 久久免费国产 | 亚洲大片一区 | 午夜精品久久久久久久久久久久久 | 国产黄视频在线 | 久久九 | 操操操操操操操操操操操操操操 | 久久都是精品 | 久久com| 欧美日韩国产精品一区 | 久久九| 四虎成人在线视频 | 国产精品久久国产精麻豆99网站 | 一级色网站 | 色接久久| 手机看片169| 91久久久久久久久久久久久久久久 | 一级特黄色大片 | 欧美在线小视频 | 一二三区字幕免费观看av | 91精品国产综合久久久久久软件 | 亚洲永久 | 久久亚洲一区二区 | 免费午夜视频 | 国产1区2区 | 可以免费看黄视频的网站 | 日韩欧美在线一区二区 | 狠狠艹av| 情一色一乱一欲一区二区 | 最新日韩视频 | 一本大道综合伊人精品热热 | 久久综合社区 | 蜜臀在线视频 | 久久四色 | 欧美一区二区三区 | 国产高清一级片 | 久久久久久亚洲精品视频 | 天天操天天干天天 | 欧美a网| 国产真实精品久久二三区 | 久久久一二三 | 日日夜夜天天干干 | 激情综合网五月婷婷 | 久久精品小视频 | 欧美日韩一区二区三区四区 | 国产欧美日韩精品一区 | 国产91精选 | 91在线精品一区二区三区 | 日韩精品一区二区三区在线观看 | www.国产高清 | 欧美精品一区二区三区在线 | 国产999精品久久久久久麻豆 | 91精品国产91综合久久蜜臀 | 国产久精品 | 91丨九色丨国产 | 亚洲网在线 | 欧美 日韩| 一区二区三区国产 | 色乱码一区二区三区网站 | 99国产精品久久久久久久久久 | 99在线免费视频 | 国产精品永久 | 日韩一区电影 | 成人在线不卡 | 羞羞视频网站 | 婷婷国产成人精品视频 | 久久国产成人 | 亚洲嫩草 | 欧美性久久 | 国产日韩精品在线 | 日韩成人在线免费视频 | 成人免费一区二区三区视频软件 | 国产精品jizz在线观看麻豆 | 午夜影院男女 | 亚洲综合二 | 国产精品a免费一区久久电影 | 欧美第一视频 | 91视频.www | 亚洲精品自在在线观看 | 九一在线观看 | 欧美日韩在线免费观看 | 日韩精品视频免费专区在线播放 | 精品国产一区二区三区久久久蜜臀 | 三区在线 | 超碰一区| 亚洲天堂久久 | av大片在线观看 | 日韩高清国产一区在线 | 亚洲国产精品成人 | 男人的天堂在线视频 | 夜夜视频 | 君岛美绪一区二区三区 | 欧美精品一区二区三区在线 | 亚洲精品在线国产 | 亚洲乱码国产乱码精品精98午夜 | 亚洲精品在线播放 | 欧美视频精品在线 | 综合久久亚洲 | 国产成人精品综合 | 色av综合 | 国产一区二区在线免费观看 | 综合久久综合久久 | 四季久久免费一区二区三区四区 | 青青久久av北条麻妃海外网 | 久久99国产精品久久99大师 | 欧美一级淫片免费视频黄 | 操操操小说 | 亚洲精品视频在线免费播放 | 国产精品久久久久久久 | 免费国产一区二区 | 免费视频爱爱太爽了 | 久久精品 | 欧美一级一区 | 一级全黄性色生活片 | 亚洲精品久久久久avwww潮水 | 亚洲黄色在线视频 | 中文字幕av第一页 | 精品成人久久 | 91视频免费看 | 日韩在线观看视频一区二区 | 日韩视频在线观看不卡 | 百性阁综合另类 | 国产精品久久久久国产精品 | 日韩和的一区二区 | 天天玩天天操天天射 | 国产免费网址 | 玖玖精品视频 | 国产成人影视 | 一区综合| 亚洲 欧美 另类 综合 偷拍 | 国产伦精品一区二区三区照片91 | 日韩成人在线观看 | 伊人久麻豆社区 | 一区二区免费在线播放 | 在线免费观看成年人视频 | 精品欧美乱码久久久久久 | 久在线 | 国产精久久久久久久妇剪断 | 欧美国产日韩一区 | 欧美视频网站 | 日韩国产在线 | 成人精品一区二区三区中文字幕 | 91中文字幕在线观看 | 久久亚洲一区二区三区四区 | 国产精品久久精品 | a久久 | 日本久久久久久 | 鲁视频 | 欧美在线 | 亚洲 | 逼逼av | av网址在线播放 | 成年免费观看 | 午夜成人在线视频 | 国产噜噜噜噜噜久久久久久久久 |