黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

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

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

瀏覽:160日期:2024-07-20 09:02:50
內(nèi)容: by cloud (safesuite@263.net ) 定義:u1 1個字節(jié)為單位的非負(fù)值 u2 2個字節(jié)為單位的非負(fù)值 u3 . . . . . . . . (其他以此類推 ) Java文件結(jié)構(gòu)用類似struct的描述如下: ClassFile { u4 magic; // 必須為: 0xCAFEBABE u2 minor_version; u2 major_version; //CLASS文件結(jié)構(gòu)主次版本號 JAVA2支持45.0-46.0 u2 constant_pool_count; //記錄常量信息 cp_info constant_pool[constant_pool_count-1]; //計(jì)數(shù)從1開始 u2 access_flags; //class/interface訪問權(quán)限 u2 this_class; //指向constant_poll中的有效索引值 u2 super_class; //0或指向constant_poll中的有效索引值,對于interface必須為非0 u2 interfaces_count; //superinterfaces的個數(shù) u2 interfaces[interfaces_count]; //計(jì)數(shù)[0,count-1) 對應(yīng)constant_pool中的一個索引值 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 此時cp_info分別對應(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的索引,對應(yīng)CONSTANT_Class_info u2 name_and_type_index;//constant_pool的索引,對應(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,如果沒有置ACC_INTERFACE則定義的是一個類而非接口。 如果設(shè)置了ACC_INTERFACE,那么ACC_ABSTRACT位也必須被設(shè)置,當(dāng)然也可以設(shè)置ACC_PUBLIC。 ACC_SUPER用以表明invokespecial語義,Sun公司老的JAVA編譯器沒有設(shè)置ACC_SUPER,并且老的JVM 忽略ACC_SUPER位,但新的編譯器應(yīng)該實(shí)現(xiàn)invokespecial語義。 其他未指明的位保留將來使用,并且編譯器應(yīng)當(dāng)將其置為0,同時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中的一個索引值 } 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; //訪問控制權(quán) u2 name_index; //constant_pool中的索引,對應(yīng)于CONSTANT_Utf8_info描述。 u2 descriptor_index; //constant_pool中的索引,對應(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 其中很顯然不能同時為ACC_FINAL和ACC_VOLATILE ;且前三項(xiàng)是互斥的。 interface必須置ACC_PUBLIC, ACC_STATIC,ACC_FINAL位,且不能置其他位。 其他未指明的位保留將來使用,并且編譯器應(yīng)當(dāng)將其置為0,同時Java虛擬機(jī)應(yīng)當(dāng)忽略他們。 methods指明了類中的所有方法。 method_info { u2 access_flags; u2 name_index; //指向constant_pool的入口,對應(yīng)為CONSTANT_Utf8_info u2 descriptor_index; //指向constant_pool的入口,對應(yīng)為CONSTANT_Utf8_info u2 attributes_count; attribute_info attributes[attributes_count]; //此處只能出現(xiàn)Code、Exceptions、Synthetic、Deprecated四種類型的屬性 } access_flags訪問權(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中的索引,對應(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中的一個CONSTANT_Utf8_info 結(jié)構(gòu)。 } 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應(yīng)為ACC_STATIC 3. Code : attribute_info被替代為: Code_attribute { u2 attribute_name_index; u4 attribute_length; u2 max_stack; //執(zhí)行此函數(shù)時可用的棧的最大深度 u2 max_locals; //執(zhí)行此函數(shù)可用到的最大本地變量數(shù)目,包括參數(shù)。 // 注意:一個long/double相當(dāng)于2個變量數(shù)目. u4 code_length; //本函數(shù)用到的代碼長度。 u1 code[code_length]; //實(shí)現(xiàn)本函數(shù)的真正字節(jié)碼 u2 exception_table_length; { u2 start_pc; u2 end_pc; //捕獲違例時執(zhí)行代碼數(shù)組中的[start_pc, end_pc)部分 u2 handler_pc; //現(xiàn)在還不大明白他是干嘛的!! u2 catch_type; //指向constant_pool的索引,對應(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; //不用我再說了吧? } 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 中, 一個沒有出現(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ù)組中的開始處 u2 line_number; //源文件中的行號(對于每一非空行都有這么一項(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] //時變量必須被賦值?? u2 name_index; u2 descriptor_index; u2 index; //到本地變量數(shù)組的一個索引 } 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)可的屬性。 來實(shí)踐一下吧!編寫一個最簡單的程序: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 次主版本號,換算一下: 45.3 (注意,不是高字節(jié)在前,別犯職業(yè)病!)00 1d constant_pool元素個數(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ù),無參數(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[]類型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),簡單明了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 一個,接下來是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 接下來是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' 接下來我們看看main()函數(shù)對應(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 類型 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-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)文章:
主站蜘蛛池模板: 日本三级黄色录像 | 中文无线乱码二三四区 | 一久久久久 | 国产三级一区二区三区 | 喷水视频在线观看 | 99re在线观看 | 亚洲黄色成人 | 国产伦人伦偷精品视频 | 欧美中文字幕在线视频 | 女厕厕露p撒尿八个少妇 | 国产精品bbwbbwbbw在线 | 香蕉911| 日韩毛片网 | 可以免费看的av | 亚洲激情在线 | 精产国品一二三区 | 亚洲va中文字幕 | 性做爰的免费视频 | 日本特级黄色 | 欧美性大战xxxxx久久久 | 一区二区免费在线播放 | 欧美一二三四五区 | 少妇淫交裸体视频 | 北条麻妃青青久久 | 成人免费毛片嘿嘿连载视频 | 国产精品乱码一区二区三区视频 | 曰批全过程免费视频在线观看无码 | 亚洲成人黄色片 | 四虎国产精品一区二区 | 国产激情片 | 全网免费在线播放视频入口 | 夜夜草天天干 | 欧美一区日韩一区 | 亚洲爆乳大丰满无码专区 | 日本理论片免费观看在线视频 | 日韩精品一区二区三区在线观看视频网站 | 91大神精品在线 | 国产午夜三级一区二区三桃花影视 | 男人的天堂伊人 | 丰满寂寞少妇 | 久久99精品久久久久久 | 日韩成人av网站 | 成人高清在线观看 | 成人性生交片免费看 | 久久人妻少妇嫩草av无码专区 | 综合久久伊人 | 亚洲欧美色一区二区三区 | 国产又粗又猛又爽又黄91 | 亚洲国产成人精品女 | 午夜啪啪福利视频 | 色视频网站在线 | 色妞www精品免费视频 | 久久久久无码精品国产不卡 | 亚洲午夜无码毛片av久久京东热 | 亚洲午夜久久久 | 忘忧草日本在线播放www | 无码无套少妇毛多69xxx | 国产精品爽爽久久久久久竹菊 | 97久久精品人人爽人人爽蜜臀 | 人人妻人人澡人人爽人人精品浪潮 | 国产午夜大片 | 国产精品av久久久久久小说 | xxxx在线观看视频 | 女人洗澡一级特黄毛片 | av免费看网址 | 国产在线青青草 | 国产乱淫av免费观看 | 末发育娇小性色xxxx | 香蕉av777xxx色综合一区 | a v视频在线观看 | 少妇天天爽视频在线看网站 | 国产999精品久久久久久 | 亚洲精品视频在线 | 日本边添边摸边做边爱的网站 | 亚洲国产伊人 | 91精品国产高清一区二区三区蜜臀 | 日韩欧美中文在线 | 牛牛精品一区二区 | 97久久精品人人澡人人爽古装 | 国产精品理论片在线观看 | 中文av免费 | 精品久久久中文字幕人妻 | 女人被男人躁得好爽免费视频 | 大尺度一区二区 | 区一区二区三 | 偷国产乱人伦偷精品视频 | 国产精品久久二区二区 | 欧美爱爱网站 | 黄色一极毛片 | 激情久久久久久 | 亚洲女人的天堂 | 夜夜嗨网站 | 日韩高清dvd | 欧美激情综合色综合啪啪五月 | a级片免费在线观看 | 色婷婷美国农夫综合激情亚洲 | 久久久精品动漫 | 妖精视频一区二区 | 欧美一区二区伦理片 | 国产高清精品在线 | 亚洲综合色婷婷 | 十八女人水多三级 | 国产精品9999| 久久精品成人免费国产片桃视频 | 翔田千里x88aⅴ | 九九影院最新理论片 | 天天射夜夜操 | 不卡一区二区三区四区 | 免费乱淫视频 | 久久久久国产精品久久久久 | 国产女人精品视频国产灰线 | 13一15女人毛片 | 蜜臀久久99精品久久久久久宅男 | 免费av观看网站 | 3344永久在线观看视频免费 | 性色欲情网站iwww | 影音先锋成人网 | 欧美综合影院 | 日本精品一区二区三区在线播放视频 | 国产精品区一区二区三区 | 欧美中文视频 | 新久久久 | 亚洲成a人v欧美综合天堂 | 欧美精品网| 少妇性俱乐部纵欲狂欢电影 | 九一亚色视频 | 农村激情伦hxvideos | 国产性猛交xx乱 | 丁香激情综合久久伊人久久 | 久久久久国产精品免费免费搜索 | aaa黄色| 91少妇丨porny丨 | 日韩国产人妻一区二区三区 | 亚洲综合网在线观看 | 沉溺于黑人叶爱中文字幕 | 69av在线视频| 成人区人妻精品一熟女 | 亚州中文字幕蜜桃视频 | 四虎精品成人免费视频 | 午夜爱爱免费视频体验区 | 91亚洲精华国产精华精华液 | 自拍一级片| 精品va久久久噜噜久久软件 | 少妇做爰k8经典 | 午夜在线国产 | 丰满熟妇被猛烈进入高清片 | 亚洲一区中文字幕在线观看 | 日本一级免费视频 | 中文字幕无码精品亚洲35 | 少妇扒开双腿自慰出白浆 | 午夜精品久久99蜜桃的功能介绍 | 精品国产91久久久久久 | 男女日屁视频 | 国产精品一区二区三区视频免费 | 久久久久国色av免费观看 | 日韩精品成人一区二区三区 | 一级黄毛片| 精品一区在线播放 | 少妇裸体淫交免费视频网站 | 国产少妇露脸精品 | 欧美成人3d啪啪动漫 | 永久免费d站视频 | 久久精品波多野结衣 | 欧美熟妇另类久久久久久不卡 | 欧美日韩国产第一页 | 国产成人无码一二三区视频 | 国产3p露脸普通话对白 | 久久久久久av无码免费网站下载 | 国产激情久久久久影院老熟女 | 无码国模国产在线观看 | 午夜精品一区二区三区三上悠亚 | 你懂的亚洲 | 亚洲欧美综合一区二区三区 | 女人与拘性猛交视频 | 可以直接看的无码av | 国产一区二区三区乱码 | 欧美久久精品 | 欧美性受xxxxxx黑人xyx性爽 | 亚洲精品乱码久久 | 91精品国产一区二区三区 | 欧洲s码亚洲m码精品一区 | 日韩视频在线观看 | 黄色的网站在线免费观看 | 少妇夜夜爽夜夜春夜夜高潮 | 双性人hdsexvideos | 特级做a爰片毛片免费看 | 妺妺窝人体色www在线下载 | 你懂的视频在线播放 | 台湾全黄色裸体视频播放 | 成人一区在线观看 | 亚洲国产精品久久精品成人网站 | 日韩av午夜在线观看 | 亚洲精品日韩激情欧美 | 久久cao| 99精品国产自在现线10页 | 在线亚洲高清揄拍自拍一品区 | 18禁美女裸体无遮挡网站 | 国产又粗又猛又大爽又黄 | 日本精品毛片一区视频播 | 亚洲伊人天堂 | julia中文字幕在线 | 日本黄网站免费 | 欧美日韩免费网站 | 一级做a爰片性色毛片精油 一级做a爰片性色毛片视频停止 | 亚洲一区二区三区婷婷 | 国产毛片在线 | 亚洲综合国产一区二区三区 | 做爰xxxⅹ性69免费视频 | 午夜天堂一区人妻 | 国产精品看高国产精品不卡 | 秋霞午夜网 | 亚洲综合在线另类色区奇米 | 懂色av一区二区三区 | 伊人www22综合色 | 少妇人妻无码专区视频 | 91人人看 | 久久人人爽爽人人爽人人片av | 久久精品成人一区二区三区蜜臀 | 亚洲jizzjizz日本少妇软件 | 亚洲精品尤物 | 美女裸体跪姿扒开屁股无内裤 | 免费人成网站在线观看欧美高清 | 电影久久久久久 | 一区视频在线播放 | 成人免费毛片足控 | 国产一区二区三区四区五区精品 | 精品国产自在精品国产 | 亚洲成人免费视频在线 | 午夜精品久久久久久久99水蜜桃 | 欧美乱做爰xxxⅹ久久久 | 手机av免费看 | 精品国产乱码一区二区三区99 | 福利小视频在线观看 | 四川丰满少妇毛片新婚之夜 | 免费毛片在线播放免费 | 一级免费在线 | 亚洲熟色妇av日韩熟色妇在线 | 国产69精品久久久久777 | 成年美女黄网色视频免费4399 | 精品欧美乱码久久久久久 | 香蕉成人伊视频在线观看 | 免费av影片 | www视频在线观看 | 精品人妻少妇一区二区 | 水蜜桃一二三区 | 亚洲免费影视 | 亚洲精品一区二区不卡 | 国产裸体舞一区二区三区 | 伊人狠狠色丁香婷婷综合 | 国产免费高清视频1l.com.com.com少 | 久久无码高潮喷水 | 中文字幕黄色片 | 久久久久久久亚洲精品 | 国产av寂寞骚妇 | 热久久免费视频 | 亚洲综合无码一区二区 | 丁香一区二区 | 国产欧美精品一区二区色综合 | 三级欧美韩日大片在线看 | 扒开双腿吃奶呻吟做受视频 | 少妇久久久久久被弄到高潮 | 99久久99久久精品国产片果冻 | 精品国产欧美一区二区 | 看黄网站在线 | 成人网页 | 日韩亚洲欧美中文在线 | 国产精品入口日韩视频大尺度 | 日韩午夜视频在线 | 九色91popny蝌蚪| 少妇中出视频 | 99国产精品久久久久久久夜 | 九色porny视频 | www国产在线 | 亚洲第一天堂无码专区 | 国产精品久久久久久久久ktv | 中文字幕乱码人妻无码久久 | 国产欧美一区二区在线观看 | 中国免费毛片 | 富二代成人短视频 | 91精品久久久久久久久99蜜臂 | 欧美性猛交ⅹxxx乱大交3 | 青青青青视频 | 波多野结衣一本一道 | 天天躁天天狠天天透 | 国内精品福利视频 | 国产精品点击进入在线影院高清 | 亚洲欧美日韩中文在线 | 综合色爱 | 日本免费一区二区三区四区五区 | 夜夜嗨一区二区 | 国产免费一区二区三区网站免费 | 日韩一级片| 特黄特色特刺激免费播放 | 亚洲天堂导航 | 日韩av无码中文无码电影 | 国产福利91 | 99久久久国产精品免费消防器 | 搡8o老女人老妇人老熟 | 国产美女极度色诱视频www | 久久久精品456亚洲影院 | 小蝌蚪九色91探花 | 久久欧美国产伦子伦精品 | 人人模人人干 | 中文字幕文字暮 | 黄色毛片a | 男人和女人在床的app | 欧美一级淫片免费视频欧美辣图 | 134vcc影院免费观看 | 国产在线网 | 亚洲免费av观看 | 精品日韩一区二区 | 国产成人麻豆精品午夜在线 | 中文字幕日产av | 亚洲乱码国产乱码精品精98午夜 | 999av视频| 正在播放亚洲 | 一本一道久久a久久精品综合 | 精品久久一二三区 | 中文字幕久久久久 | 伊人久久五月 | 国产午夜精品视频免费不卡69堂 | 日韩成av人片在线观看 | 色妞色 | 婷婷国产一区二区三区 | 国产老女人91精品一区 | 精品国产福利一区二区 | 国产嘿咻 | 日韩中文视频 | 婷婷激情四射 | 久久影视网 | 亚洲日本欧美在线 | 无码精品一区二区三区免费视频 | 亚洲国产精品久久久久久 | jizz日本视频| 久久久欧美 | 精品国产一区二区三区国产馆杂枝 | 欧美真人做爰在线观看 | 一区二区三区精品 | 看全色黄大色黄大片男爽一次 | 日产精品入口 | 精品国产18久久久久久怡红 | 国产99色 | 一起草视频在线播放 | 国产日韩精品视频一区二区三区 | 免费观看一级特黄特色大片 | 青草青草久热国产精品 | 自拍视频一区二区三区 | 美丽姑娘免费观看在线观看 | 国产精品毛片无遮挡高清 | 一本精品999爽爽久久久 | 日韩欧美三区 | 激情五月视频 | 免费99精品国产自在在线 | 在线欧美 | 国模大尺度啪啪 | 亚洲加勒比久久88色综合 | 夫妻性生活自拍 | 日韩av男人天堂 | 国产成人精品一区二三区四区五区 | 欧美不卡视频一区发布 | 亚洲欧美在线精品 | 玖玖国产 | 少妇艹逼 | 成人软件在线观看 | 8050午夜二级| 国产精品久久久久久久久久久久久久久久久 | 宅男的天堂 | 饥渴少妇勾引水电工av | 男人扒开女人双腿猛进视频 | 国产欧美成人一区二区a片 又大又长粗又爽又黄少妇视频 | 亚洲视频大全 | 男女激情视频免费观看刺激 | 日韩精品成人av | 欧美乱大交xxxxx潮喷l头像 | 国产精品高潮呻吟视频 | 欧美日韩精品一区二区三区 | 三级自拍| 国产三级av在线播放 | 成人做爰免费视频免费看 | 亚洲成av人片在线观看天堂无码 | 欧美精品一区在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 欧美一级在线免费观看 | 国产在线播放av | 午夜男女很黄的视频 | 久久久久国| 精品国产999久久久免费 | 日韩欧美亚洲国产精品字幕久久久 | 成人精品网 | 国产色无码专区在线观看 | 亚洲淫欲 | 一级做a爱片久久毛片a高清 | 福利小视频在线 | 屁屁影院一区二区三区 | 你懂的网址在线 | 国产精品久久高潮呻吟粉嫩av | 国产精品毛片 | 中文视频一区 | 涩av| 青春草免费视频 | 免费国产在线视频 | 青青草一区二区三区 | 国内精品久久久久影视老司机 | 五月丁香综合激情六月久久 | 久久婷婷五月国产色综合 | 成人夜色视频网站在线观看 | 成人做爰www网站视频 | 神马午夜精品 | 国产乱子夫妻xx黑人xyx真爽 | 亚洲精品成人在线视频 | 亚洲黄色成人网 | 日本精品99 | 国产亚洲美女精品久久久2020 | 无码专区亚洲综合另类 | 女人裸体性做爰视频 | 欧美高清处破的免费视频 | 国产999精品成人网站 | 日韩国产一区二区 | 久久99精品国产99久久6男男 | 少妇性l交大片欧洲热妇乱xxx | 日韩视频二区 | 日本色一区 | 潘金莲性生交大片免费看图片 | 亚洲开心网 | 少妇精品视频一区二区免费看 | xxxx在线观看视频 | 丁香五香天堂网 | 18禁无遮挡啪啪无码网站 | 国产精品视频1区 | 国产亚洲人成在线播放 | 男女日批在线观看 | 久久爽久久爽久久免费观看 | 成人妖精视频yjsp地址 | 国产精品区一区二区三含羞草 | 免费一级a毛片夜夜看 | 亚洲视频一区二区三区 | 性感美女av在线 | 欧美日韩视频免费 | 噜噜色综合噜噜色噜噜色 | 人善交类欧美重口另类 | 国产精品夜夜春夜夜爽久久小 | 好吊一二三区 | 国产精品狼人久久久久影院 | 亚洲黄色天堂 | 日韩乱视频 | 九色在线 | 国产成人三级视频在线播放 | 向日葵视频在线播放 | av无码久久久久不卡蜜桃 | 亚洲综合涩 | 艳妇臀荡乳欲伦交换h在线观看 | 91嫩草精品 | 麻豆视频在线看 | 十八禁真人啪啪免费网站 | 日本japanese丰满白浆 | 性欧美极品另类 | 好吊妞视频988gao免费 | 国产成人免费看 | 欧美在线播放一区 | 香蕉视频97 | 狼人伊人干 | 国产一区二区三区视频在线 | 国产露脸老熟高潮在线 | 在线观看无码不卡av | 粉嫩av一区二区在线播放免费 | 国产久草av | 真实的国产乱xxxx在线 | 欧美日韩一区二区三 | 国产视频一二三区 | 欧美成人免费 | 免费黄毛片 | 午夜丰满少妇性开放视频 | 深夜男女福利18免费软件 | 丝袜国产在线 | 99精品久久久中文字幕 | 久久久久亚洲精品中文字幕 | 香蕉视频免费在线观看 | mm131国产精品 | 国产自产在线视频 | 337p日本欧洲亚洲大胆色噜噜 | 污视频在线观看网址 | 无码h黄动漫在线播放网站 国产精品高潮露脸在线观看 | 性欧美亚洲xxxx乳在线观看 | 黄色视屏在线免费观看 | 免费成人用春色 | 色屁屁www影院免费观看 | 国产日韩视频在线观看 | 亚洲乱码国产乱码精品精98 | 黄色xxxxxx| 97变态冷s各种国产调教 | 麻豆社 | 97婷婷大伊香蕉精品视频 | 自拍偷拍av | 息与子猛烈交尾一区二区 | 韩国主播福利一区二区三区 | 得得啪在线 | 一区二区三区欧美在线 | 又粗又大又硬又长又爽 | 亚洲精品视频大全 | 91丨九色丨蝌蚪丰满 | 亚洲xxxx天美| 污视频91 | 曰批女人视频在线观看 | 免费在线观看中文字幕 | 国产免费无遮挡吸乳视频 | 国产精品无码永久免费不卡 | 成人毛片在线观看 | 男人晚上看的网址 | 成人性色生活片免费看l | 一个色综合网 | 亚洲精品美女久久7777777 | 在线观看网站av | 寡妇一级片 | 久9精品 | 黄色国产片 | 亚洲无线一二三四区手机 | 日韩免费在线 | 免费无码又爽又刺激高潮的视频 | www男人天堂| 99国产精品久久久久久久成人热 | 国产色秀| 久久久久久www | 尤物在线视频观看 | 日韩精品一区二区三区在线观看 | 国产精品v日韩精品v在线观看 | 91一区二区三区久久久久国产乱 | 日韩一区二区精品视频 | 91丨porny丨在线中文 | 无码国产精品一区二区免费虚拟vr | 午夜美女福利视频 | 九九九网站 | 久久久久久伊人高潮影院 | 污网站免费在线观看 | 思思99热久久精品在线6 | 人妻中文字幕av无码专区 | 成人做爰66片免费看网站 | 国产激情综合五月久久 | 亚洲国产精品久久精品成人网站 | 精品字幕 | 日本少妇性高潮 | 精品综合久久久 | 亚洲狠狠婷婷综合久久久久图片 | 欧美最猛黑人xxxx黑人猛交 | 成人国产精品视频国产 | 亚洲第一成年网 | 天天射中文 | 欧美精品1区2区3区 欧美精品91爱爱 | 国产无套内射久久久国产 | 亚洲午夜精品久久久久久人妖 | 国产精品亚洲综合 | 午夜福利伦伦电影理论片在线观看 | 国产视频中文字幕 | 狠狠色狠狠色综合日日92 | 欧美丰满少妇高潮18p | 国产精品高潮呻吟久久av无 | 亚洲 卡通 欧美 制服 中文 | 色爱情人网站 | 国产精品久久久久久爽爽爽床戏 | www.蜜臀av.com | 午夜视频在线看 | 久久久久久久女国产乱让韩 | 欧美另类人妖 | 中文字幕综合 | 亚洲激情视频在线 | 久久精品国产中国久久 | 久久99久久久久 | 亚洲天堂视频网 | 免费av在线播放 | 伊人ab | 亚洲精品乱码久久久久久 | 精品国产乱码久久久久久虫虫 | 五月天激情综合 | 精品人体无码一区二区三区 | 天堂а√中文最新版在线 | 青青草视频在线看 | 欧美日韩国产91 | 久久精品国产99久久久 | 色爽爽一区二区三区 | 国产成人久久777777 | 日韩欧美激情在线 | 各种含道具高h调教1v1男男 | 久久av网 | 免费精品一区二区三区第35 | 精品人妻二区中文字幕 | 波多野结衣丝袜ol在线播放 | 九九亚洲精品 | 摸摸大奶子 | 久久精品网址 | 综合在线一区 | 欧美丰满熟妇xxxx性 | 神马午夜在线观看 | 漂亮人妻洗澡被公强 日日躁 | 天天干视频网站 | 最新天堂在线视频 | 女人被狂躁的高潮免费视频 | 亚洲视频中文字幕 | 国产精品www色诱视频 | 九九综合va免费看 | 欧美情趣视频 | 91视频 - 114av | 国产欧美精品一区二区三区-老狼 | 国产青草视频在线观看 | 日本特黄特色大片免费视频老年人 | 亚洲一区二区免费看 | 国产精品久久久久不卡 | 国产黄色大全 | 亚洲线精品一区二区三区影音先锋 | 日韩欧美在线精品 | 日本精品巨爆乳无码大乳巨 | 国产精品无码永久免费不卡 | 国产乱码精品一区二区三区亚洲人 | 国产精品高潮久久 | 欧美一区二区三区粗大 | 性色m3u8视频在线观看 | 337p日本欧洲亚洲大胆精品 |