日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深入学习JVM探针与字节码技术

發布時間:2024/3/12 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入学习JVM探针与字节码技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JVM探針是自jdk1.5以來,由虛擬機提供的一套監控類加載器和符合虛擬機規范的代理接口,結合字節碼指令能夠讓開發者實現無侵入的監控功能。如:監控生產環境中的函數調用情況或動態增加日志輸出等等。雖然在常規的業務中不會有太多用武之地,但是作為一項高級的技術手段也應該是資深開發人員的必備技能之一。同時,它也是企業級開發和生產環境部署不可或缺的技術方案,是對當下流行的APM的一種補充,因為使用探針技術能夠實現比常規APM平臺更細粒度的監控。

哪些方面適合使用探針技術:

  • (1) 如果你發現生產環境上有些問題無法在測試或開發環境中復現

  • (2) 如果你希望在不修改源碼的情況下為你的應用添加一些輸出日志

  • (3) 如果在剛發布的生產包中發現了一個bug,而你又不希望被它阻斷,希望有一個臨時的補救措施

一、JVM探針:Instrumentation

使用探針只需要一條附加選項:-javaagent:<jar 路徑>[=<選項>],作為探針(代理)的jar包必須滿足兩個條件:1. MANIFEST.MF文件需要增加Premain-Class項,說明啟動類。2. 啟動類必須聲明一個靜態函數,它的入參是: String和Instrumentation。因此,一個常見的啟動類可能像這樣:

package aa.bb.cc;public class PremainAgent {public static void premain(String agentArgs, Instrumentation inst) {// TODO} }

MANIFEST.MF

premain-class: aa.bb.cc.PremainAgent

如果使用maven作為構建工具,需要在pom文件中添加構建插件

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifestEntries> <premain-class>aa.bb.cc.PremainAgent</premain-class> </manifestEntries> </archive> </configuration> </plugin>

如果你還引入了其它依賴希望同時打包,那么你應該使用assembly插件替代

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifestEntries> <Premain-Class><package>.PremainAgent</Premain-Class><Can-Redefine-Classes>true</Can-Redefine-Classes> <Can-Retransform-Classes>true</Can-Retransform-Classes> </manifestEntries> </archive> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions></plugin>

兩個重要的類

Instrumentation: 由JDK提供的一個探針類,它會負責加載用戶自定義的ClassFileTransformer

ClassFileTransformer: 字節碼轉換類,jvm在加載class文件前會先調用它,對所有類加載器有效

具體用法稍后會做詳細介紹。

總結:JVM探針只是提供了一種讓開發人員能夠在類加載加載class文件前主動介入的一種方法,具體如何操作需要開發人員了解Java虛擬機規范以及字節碼的相關知識。

二、棧幀與指令集

棧幀(Stack Frame)是用于支持虛擬機進行方法調用和方法執行的數據結構。它是虛擬機運行時數據區中的虛擬機棧的棧元素。棧幀存儲了方法的局部變量表、操作數棧、動態連接和方法返回地址等信息。每一個方法從調用開始至執行完成的過程,都對應著一個棧幀在虛擬機里面從入棧到出棧的過程。

在編譯程序代碼的時候,棧幀中需要多大的局部變量表,多深的操作數棧都已經完全確定了。因此一個棧幀需要分配多少內存,不會受到程序運行期變量數據的影響,而僅僅取決于具體的虛擬機實現。


局部變量表(Local Variable Table)是一組變量值存儲空間,用于存放方法參數和方法內部定義的局部變量。并且在Java編譯為Class文件時,就已經確定了該方法所需要分配的局部變量表的最大容量。局部變量表類似一個數組結構,虛擬機在訪問局部變量表的時候會使用下標作為引用,普通方法的局部變量表中第0位索引默認是用于傳遞方法所屬對象實例的引用this。

操作數棧(Operand Stack)和局部變量表一樣,在編譯時期就已經確定了該方法所需要分配的局部變量表的最大容量。當一個方法剛剛開始執行的時候,這個方法的操作數棧是空的,在方法執行的過程中,會有各種字節碼指令往操作數棧中寫入和提取內容,也就是出棧/入棧操作。例如,在做算術運算的時候是通過操作數棧來進行的,又或者在調用其它方法的時候是通過操作數棧來進行參數傳遞的。

動態鏈接(Dynamic Linking)每個棧幀都包含一個指向運行時常量池中該棧幀所屬方法的引用,持有這個引用是為了支付方法調用過程中的動態連接。在類加載階段中的解析階段會將符號引用轉為直接引用,這種轉化也稱為靜態解析。另外的一部分將在每一次運行時期轉化為直接引用,這部分稱為動態連接。

返回地址:當一個方法開始執行后,只有2種方式可以退出這個方法,方法返回指令和異常退出。無論采用任何退出方式,在方法退出之后,都需要返回到方法被調用的位置,程序才能繼續執行,方法返回時可能需要在棧幀中保存一些信息。一般來說,方法正常退出時,調用者的PC計數器的值可以作為返回地址,棧幀中會保存這個計數器值。而方法異常退出時,返回地址是要通過異常處理器表來確定的,棧幀中一般不會保存這部分信息。

JVM指令集并非是對Java語句的直接翻譯,由于指令只使用1個字節表示,所以指令集最多只能包含256種指令。因此,一條Java語句一般會對應多條底層指令。每一條指令都有與之對應的助記符,我們可以通過官方資料查看它們對應關系:https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html。為了幫助大家更加直觀的理解字節碼指令,我將通過三個用例分別解釋。

從一個簡單的加法函數開始,我們可以使用javac將.java文件編譯成.class,再通過javap -c查看它的字節碼文件

public int add(int x, int y) { return x + y; } public add(II)IILOAD 1 // 將局部變量表中#1變量入棧ILOAD 2 // 將局部變量表中#2變量入棧IADD // 調用整型數相加(兩個數出棧,再將結果入棧)IRETURN // 返回棧頂的結果MAXSTACK = 2 // 最大棧數2MAXLOCALS = 3 // 最大本地變量數3

第一行是它的函數簽名,2~7行的注釋分別是對指令的解釋。ILOAD,IADD,IRETURN分別是整型數的入棧,加法和返回操作。大家可以將add方法修改為靜態函數后重新編譯,看看MAXLOCALS是否有變化。

接下來我們把函數變得復雜一些,嘗試對函數的執行時間做一個計算并輸出

public int add(int x, int y) { long t = System.nanoTime(); int ret = x + y; t = System.nanoTime() - t; System.out.println(t); return ret; } public add(II)IINVOKESTATIC java/lang/System.nanoTime ()J // 調用靜態函數,結果long入棧LSTORE 3 // 將棧頂的long保存到局部變量#3ILOAD 1ILOAD 2IADDISTORE 5 // 將棧頂的int保存到局部變量#5INVOKESTATIC java/lang/System.nanoTime ()JLLOAD 3 // 局部變量#3入棧LSUB // 從棧頂彈出兩個long相減LSTORE 3 // 結果保存到變量#3GETSTATIC java/lang/System.out : Ljava/io/PrintStream; // 獲取靜態引用LLOAD 3 // 局部變量#3入棧INVOKEVIRTUAL java/io/PrintStream.println (J)V // 調用函數ILOAD 5 // 局部變量#5入棧IRETURNMAXSTACK = 4MAXLOCALS = 6

第2行結尾的J表示函數返回值是long類型。第14行結尾的V表示println函數的返回值是void。第12行到第14行的指令對應代碼的System.out.println(t),特別需要注意的是INVOKEVIRTUAL指令實際上需要從操作數棧獲取兩個數,第一個數是在執行了GETSTATIC后入棧的對象引用。

我們再次修改函數,這一次我們引入比較和循環語句,盡管代碼的邏輯不太正常,但這并不妨礙我們理解

public int add(int x, int y) { if(x > 1) { return x + y; } for(int i = 0; i < y; i++) { x ++; } return x - y; } public add(II)IILOAD 1ICONST_1 // 將一個常整型數1入棧IF_ICMPLE L0 // 比較如果操兩個操作數是小于等于的關系則成立,否則跳轉到L0的位置繼續ILOAD 1ILOAD 2IADDIRETURNL0ICONST_0 // 將常整型數0入棧ISTORE 3 // 棧頂數保存到局部變量#3L1ILOAD 3ILOAD 2IF_ICMPGE L2 // 比較棧頂的兩個操作數是否是大于等于的關系,如果不成立則跳轉到L2IINC 1 1 // 局部變量#1 自增1IINC 3 1 // 局部變量#3 自增1GOTO L1 // 跳轉到L1執行L2ILOAD 1ILOAD 2ISUBIRETURNMAXSTACK = 2MAXLOCALS = 4

當我們使用字節碼直接操作虛擬機中的底層代碼的時候,基本上就是通過改變局部變量表和操作數棧來改變程序的邏輯。還記得根據Java虛擬機規范,MAXSTACK和MAXLOCALS是在.java文件被編譯成.class就被確定下來的嗎,如果我們要對方法做出修改勢必會引入新的局部變量,這時就難免需要對MAXSTACK和MAXLOCALS做重新計算。好在目前流行的字節碼框架已經可以自動幫助我們完成這項任務。

三、ASM框架

ASM是一個比較硬核的字節碼框架,也是轉換效率最高的工具。下面是常用類的介紹:

1. ClassReader
按照Java虛擬機規范(JVMS)中定義的方式來解析class文件中的內容,在遇到合適的字段時調用ClassVisitor中相對應的方法。

ClassReader(final byte[] classFile)
構造方法,通過class字節碼數據加載
ClassReader(final String className) throws IOException
通過class全路徑名從ClassLoader加載

2. ClassVisitor

java中類的訪問者,提供一系列方法由ClassReader調用。調用的順序如下:visit -> visitSource -> visitModule -> visitNestHost -> visitOuterClass -> visitAnnotation -> visitTypeAnnotation -> visitAttribute -> visitNestMember -> visitPermittedSubclass -> visitInnerClass -> visitRecordComponent -> visitField -> visitMethod -> visitEnd

3. ClassWriter

ClassVisitor的子類,通過它生成最后的字節碼。并且它可以幫助重新計算MAXSTACK和MAXLOCALS

4. ModuleVisitor

Java中模塊的訪問者,作為ClassVisitor.visitModule方法的返回值

5. AnnotationVisitor

Java中注解的訪問者,作為ClassVisito中visitTypeAnnotation和visitTypeAnnotation的返回值

6. FieldVisitor

Java中字段的訪問者,作為ClassVisito.visitField的返回值

7. MethodVisitor

Java中方法的訪問者,作為ClassVisito.visitMethod的返回值

  • visitMethodInsn 方法調用指令
  • visitVarInsn 局部變量調用指令
  • visitInsn(int) 訪問一個零參數要求的字節碼指令,如LSUB
  • visitLdcInsn 把一個常量放到棧頂
  • visitInvokeDynamicInsn 動態方法調用
  • visitFieldInsn 調用/訪問某個字段

8. AnalyzerAdapter

MethodVisitor的子類,使用它重新計算最大操作數棧(MAXSTACK)

9. LocalVariablesSorter

MethodVisitor的子類,使用它重新計算局部變量表(MAXLOCALS)的索引

  • newLocal 創建局部變量

通過IDEA的Plugins安裝ASM Bytecode Viewer Support Kotlin,我們可以借助這個插件來幫助我們生成大部分代碼,具體用法這里就贅述了。

總結:有了以上知識基礎,我們可以完成一個簡單的demo來感受探針和字節碼技術的強大。

一個計算函數執行時間的完整用例

1. 在IDEA中創建一個典型的maven工程
2. 編寫pom文件

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <groupId>com.learnhow.study</groupId><version>1.0</version><packaging>jar</packaging><artifactId>agent</artifactId> <dependencies> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>9.2</version></dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-commons</artifactId><version>9.2</version></dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>[your jdk version]</source> <target>[your jdk version]</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifestEntries> <Premain-Class>[your package].PremainAgent</Premain-Class><Can-Redefine-Classes>true</Can-Redefine-Classes> <Can-Retransform-Classes>true</Can-Retransform-Classes> </manifestEntries> </archive> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>

帶[]的部分請換成你的本地環境。

3.PremainAgent類

public class PremainAgent { public static void premain(String agentArgs, Instrumentation inst) { inst.addTransformer(new XClassFileTransformer()); } }

4.XClassFileTransformer類

public class XClassFileTransformer implements ClassFileTransformer {@Overridepublic byte[] transform(ClassLoader loader,String className,Class<?> classBeingRedefined,ProtectionDomain protectionDomain,byte[] classfileBuffer) throws IllegalClassFormatException {try {ClassReader cr = new ClassReader(classfileBuffer);ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);cr.accept(new NanoTimerClassVisitor(cw), ClassReader.SKIP_DEBUG);byte[] cc = cw.toByteArray();return cc;} catch (IOException e) {}return null;} }

transform方法返回null或者new byte[0]表示對當前字節碼文件不進行修改。ClassWriter.COMPUTE_MAXS表示框架會自動計算MAXSTACK和MAXLOCALS,ClassReader.SKIP_DEBUG表示當字節碼中包含調試信息的時候,會忽略不會觸發回調。

5.NanoTimerClassVisitor類

public class NanoTimerClassVisitor extends ClassVisitor {private String className;public NanoTimerClassVisitor(ClassVisitor classVisitor) {super(ASM9, classVisitor);}@Overridepublic void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {this.className = name;super.visit(version, access, name, signature, superName, interfaces);}@Overridepublic MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) {MethodVisitor mv = super.visitMethod(access, name, descriptor, signature, exceptions);if (Objects.nonNull(mv) && !name.equals("<init>") && !name.equals("<clinit>")) {NanoTimerMethodVisitor methodVisitor = new NanoTimerMethodVisitor(mv, className, access, name, descriptor);return methodVisitor.refactor();}return mv;}class NanoTimerMethodVisitor extends MethodVisitor {private AnalyzerAdapter analyzerAdapter;private LocalVariablesSorter localVariablesSorter;private int timeOpcode;private int outOpcode;private String className;private int methodAccess;private String methodName;private String methodDescriptor;public NanoTimerMethodVisitor(MethodVisitor methodVisitor, String className, int methodAccess,String methodName, String methodDescriptor) {super(ASM9, methodVisitor);this.className = className;this.methodAccess = methodAccess;this.methodName = methodName;this.methodDescriptor = methodDescriptor;// 使用AnalyzerAdapter計算最大操作數棧analyzerAdapter = new AnalyzerAdapter(className, methodAccess, methodName, methodDescriptor, this);// LocalVariablesSorter重新計算局部變量的索引并自動更新字節碼中的索引引用localVariablesSorter = new LocalVariablesSorter(methodAccess, methodDescriptor, analyzerAdapter);}public MethodVisitor refactor() {return localVariablesSorter;}@Overridepublic void visitCode() {super.visitCode();mv.visitMethodInsn(INVOKESTATIC, "java/lang/System", "nanoTime", "()J", false);timeOpcode = localVariablesSorter.newLocal(Type.LONG_TYPE);mv.visitVarInsn(LSTORE, timeOpcode);}@Overridepublic void visitInsn(int opcode) {if ((opcode >= IRETURN && opcode <= RETURN) || opcode == ATHROW) {mv.visitMethodInsn(INVOKESTATIC, "java/lang/System", "nanoTime", "()J", false);mv.visitVarInsn(LLOAD, timeOpcode);mv.visitInsn(LSUB);mv.visitVarInsn(LSTORE, timeOpcode);mv.visitLdcInsn(className + "." + methodName + "(ns):");outOpcode = localVariablesSorter.newLocal(Type.getType(String.class));mv.visitVarInsn(ASTORE, outOpcode);mv.visitVarInsn(ALOAD, outOpcode);mv.visitVarInsn(LLOAD, timeOpcode);mv.visitInvokeDynamicInsn("makeConcatWithConstants", "(Ljava/lang/String;J)Ljava/lang/String;", new Handle(Opcodes.H_INVOKESTATIC, "java/lang/invoke/StringConcatFactory", "makeConcatWithConstants", "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;", false), new Object[]{"\u0001\u0001"});mv.visitVarInsn(ASTORE, outOpcode);mv.visitFieldInsn(GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");mv.visitVarInsn(ALOAD, outOpcode);mv.visitMethodInsn(INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/String;)V", false);}super.visitInsn(opcode);}} }

6. 通過assembly插件對項目進行打包生成:agent-1.0-jar-with-dependencies.jar

7. 運行一個目標項目,并添加虛擬機指令-javaagent,就可以看到執行效果

如何查看生成后的代碼

計算函數執行時間是一個非常簡單的功能,我們很容易一次性寫正確。但是如果需要代理的邏輯比較復雜,而探針程序又不像普通程序一樣方便做斷點調試。我們如何才能夠很方便知道生成的代碼是否正確呢?這里告訴大家一個訣竅。回到我們XClassFileTransformer類,增加兩行代碼:

public class XClassFileTransformer implements ClassFileTransformer {@Overridepublic byte[] transform(ClassLoader loader,String className,Class<?> classBeingRedefined,ProtectionDomain protectionDomain,byte[] classfileBuffer) throws IllegalClassFormatException {try {ClassReader cr = new ClassReader(classfileBuffer);ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);cr.accept(new NanoTimerClassVisitor(cw), ClassReader.SKIP_DEBUG);byte[] cc = cw.toByteArray();FileOutputStream fos = new FileOutputStream("./cc.class");fos.write(cc);return cc;} catch (IOException e) {}return null;} }

第13、14行代碼的功能是將生成的字節碼輸出到本地文件中,然后我們通過IDEA打開這個.class文件,看看新增加的代碼是否如我們預期的那樣。

總結:JVM代理發生在類加載器加載.class文件前,因此我們能夠動態修改字節碼。通過ASM這類字節碼框架,使得開發人員即使對字節碼指令不是很熟悉依然能夠操作。當然,Java的探針技術除了和被代理的項目同時啟動以外還提供了一種熱部署的方案

總結

以上是生活随笔為你收集整理的深入学习JVM探针与字节码技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

青青久草在线视频 | 国产精品免费久久 | 亚洲成成品网站 | 狠狠干激情 | 色欧美成人精品a∨在线观看 | av不卡中文字幕 | 亚洲精品成人在线 | 91免费在线播放 | 国产综合在线视频 | 亚洲一级影院 | 日韩欧美精选 | av怡红院 | 午夜av电影 | 久久99久久精品 | 在线精品观看 | 久久国产精品免费视频 | 欧洲在线免费视频 | 成人黄色中文字幕 | 亚洲精品午夜国产va久久成人 | 天天插综合网 | 久久综合色天天久久综合图片 | 国产精品黄色 | 最新av在线网站 | 波多野结衣网址 | 五月宗合网 | 国产免费xvideos视频入口 | 久久一区二区三区四区 | 免费看污片 | 国产黄色在线看 | 欧美在线视频不卡 | 黄色在线免费观看网站 | 九七人人干 | 91大神精品视频在线观看 | 中文字字幕在线 | 天天操夜夜操天天射 | 最近中文字幕免费av | 三级黄色片在线观看 | 日韩资源在线观看 | 叶爱av在线| 青青看片 | 91视频 - x99av | 91天堂在线观看 | 亚洲精品久久久久久中文传媒 | 久久成人18免费网站 | 欧美一区二区精品在线 | 狠狠狠色丁香综合久久天下网 | 亚洲精品乱码久久久一二三 | 日本中文字幕高清 | 国产一级视频在线免费观看 | 国产成人61精品免费看片 | 成人一区二区三区中文字幕 | 欧美色图视频一区 | 国产精品第一页在线观看 | 日韩va欧美va亚洲va久久 | 韩国av电影在线观看 | 在线观看中文字幕 | 成人国产精品久久久 | 色婷婷狠 | 欧美激情精品 | 97碰在线视频 | 国产在线一卡 | 成人av资源网 | 日韩高清不卡一区二区三区 | 超碰在线人人艹 | 国产美女精品人人做人人爽 | 一区二区三区四区精品 | 久久久久99999 | 亚洲精品伦理在线 | 精品亚洲一区二区三区 | 国产高清在线视频 | 成人午夜久久 | 亚洲综合色网站 | 午夜免费福利视频 | 免费一级黄色 | 久草在线免费播放 | 91高清免费观看 | 亚洲精品久久久蜜桃 | 国产在线毛片 | 精品久久久久久亚洲综合网站 | 狠狠狠色丁香婷婷综合激情 | 免费精品在线观看 | 日韩性xxxx | 激情综合五月天 | 在线一区二区三区 | 欧美三级免费 | 中文字幕第一 | 91在线播放国产 | 中文字幕亚洲综合久久五月天色无吗'' | 99久久这里有精品 | 久久精品99国产国产 | www免费在线观看 | 亚州av一区 | 成人91在线 | 69av在线播放 | 超碰电影在线观看 | 日韩精品一区二区三区在线视频 | 亚洲婷婷免费 | 99热高清 | 国产亚洲观看 | 欧美精品三级在线观看 | 国产亚洲视频中文字幕视频 | 欧美日韩国产在线 | 9999毛片| 国产中文在线播放 | 国产网站av | 成人av电影在线观看 | 精品久久一区二区 | 日韩视 | 999在线观看视频 | 国产123区在线观看 国产精品麻豆91 | 亚州天堂| 97国产在线观看 | 黄色成年片 | 国内精品久久久精品电影院 | 国产精品99蜜臀久久不卡二区 | 久久av网 | 97在线观看免费 | 国产九九热视频 | 超碰人人草| 欧美激情视频一区 | 国产在线观看 | 天天弄天天操 | 天天色天天射天天干 | 色多多污污 | 91在线免费播放 | 麻豆久久精品 | 91人网站| 亚洲国产精品成人av | 4p变态网欧美系列 | 国产精品18久久久久久久网站 | 国产在线国偷精品产拍 | 欧美在线一二区 | 少妇视频一区 | 欧洲黄色片| 日韩久久精品一区二区三区 | 久久1电影院 | 国产成人精品电影久久久 | av天天澡天天爽天天av | 国产精品婷婷午夜在线观看 | 免费视频久久 | 亚洲aⅴ免费在线观看 | 色偷偷av男人天堂 | 日韩av高清 | 免费看黄20分钟 | 亚洲我射av | 久久www免费人成看片高清 | 国产亚洲精品成人 | 天天视频色 | 91中文字幕一区 | 免费久久精品视频 | 色综合久久久久综合体 | 精品久久久免费视频 | 99国产精品久久久久久久久久 | 婷婷av网 | 成年人视频在线观看免费 | 国产一区欧美一区 | 国内精品久久久久久久久久清纯 | 五月婷婷亚洲 | 美女精品久久久 | 欧美成年人在线观看 | 久久久精品国产一区二区三区 | 亚洲天天在线 | 亚洲一区尤物 | 精品中文字幕在线观看 | 中文字幕一区在线观看视频 | 国产亚洲精品日韩在线tv黄 | 久久一区二区三区国产精品 | 怡红院成人在线 | 精品福利视频在线观看 | www.夜夜干.com | 不卡国产在线 | wwwwww黄| 中文字幕在线国产精品 | 99久久日韩精品视频免费在线观看 | 中文字幕在线视频国产 | 欧美最猛性xxxx | 国产欧美精品xxxx另类 | 国内精品久久久久国产 | 99这里只有精品99 | 欧洲av不卡| 亚洲美女免费精品视频在线观看 | 亚洲综合成人婷婷小说 | 日韩欧美亚洲 | 日韩中文在线字幕 | 国产精华国产精品 | 激情av综合| 激情欧美一区二区免费视频 | 日本性动态图 | 亚洲精品视频在线免费 | 久久国产精品色av免费看 | 999视频在线播放 | 五月婷婷电影网 | 看国产黄色片 | 一区二区在线电影 | 午夜精品久久久久 | 麻豆果冻剧传媒在线播放 | 成人免费视频网 | 日韩三级一区 | 国产人成精品一区二区三 | av成人黄色 | av福利在线免费观看 | 日韩三区在线 | 91亚洲在线 | 久草在线免费播放 | 成+人+色综合 | 国产精品成人一区二区三区吃奶 | 久久一区91 | 精品一区二区免费在线观看 | 久久国产女人 | 手机在线小视频 | 亚洲爱爱视频 | 干干夜夜| 午夜少妇一区二区三区 | 中文字幕在线一二 | 国产成人精品综合久久久 | 国产精品亚洲综合久久 | 日三级在线 | 亚洲黄在线观看 | 亚洲精品中文字幕在线 | 97国产大学生情侣酒店的特点 | 亚洲码国产日韩欧美高潮在线播放 | 一级免费观看 | 97碰在线视频 | 色干干 | av三级在线播放 | 天天操夜夜干 | 亚洲精品久久久久久中文传媒 | 中文字幕一区二区三区久久 | 久久看毛片 | 夜夜摸夜夜爽 | 日本在线观看中文字幕 | 天天爱天天操 | 丁香色综合 | 日韩免费电影 | 夜夜视频 | 不卡av在线免费观看 | 9999精品| 成人午夜在线观看 | 久久av一区二区三区亚洲 | 午夜精品久久久久久久99热影院 | 在线国产视频 | 欧美大片大全 | 国产精品一级视频 | 久久久午夜电影 | 在线观看中文字幕一区二区 | 国产精品video爽爽爽爽 | 国产资源精品 | 99国产精品 | 99 久久久久 | 亚洲特级毛片 | 97精品国产97久久久久久免费 | av大全在线播放 | 精品在线二区 | 色资源在线 | 国产一级一片免费播放放 | 成人国产一区 | av中文天堂在线 | 日韩电影精品一区 | 午夜av剧场 | 91综合视频在线观看 | 奇米网8888 | 香蕉网在线播放 | 天天爽网站 | 在线播放 日韩专区 | 国产亚州av | 一级片色播影院 | 91视频一8mav | 深爱婷婷网 | 97综合在线 | a在线v | 五月综合色 | 丁香视频免费观看 | 成年人电影免费看 | 天天色天天干天天 | 91视频麻豆 | 日韩av电影免费在线观看 | 东方av免费在线观看 | 亚洲国产丝袜在线观看 | 国产手机免费视频 | 欧美日本啪啪无遮挡网站 | 午夜久久美女 | 在线观看日韩中文字幕 | 中文字幕成人在线观看 | 久久久久成人精品免费播放动漫 | 欧美精彩视频在线观看 | 激情五月激情综合网 | 小草av在线播放 | 日本动漫做毛片一区二区 | 在线观看成人 | 一区二区三区日韩精品 | 激情综合网婷婷 | 久久ww| 婷婷亚洲综合五月天小说 | 成年人免费在线 | 亚洲黄色免费电影 | av在线日韩| 91亚洲精品久久久中文字幕 | 亚洲精品1区2区3区 超碰成人网 | 日韩一二区在线观看 | 天天躁日日躁狠狠躁av麻豆 | 婷婷丁香激情五月 | 在线观看不卡的av | 色之综合网 | 国产精品久久久久毛片大屁完整版 | 成人网大片 | 中文字幕人成不卡一区 | 日韩电影在线观看一区二区三区 | 国产精品美女久久久免费 | 日韩欧美视频免费在线观看 | 国产黄色片久久久 | 亚洲精品456在线播放乱码 | 视频在线观看亚洲 | 天天爽天天爽夜夜爽 | 成人免费一区二区三区在线观看 | 亚洲美女视频在线 | 久免费视频 | 久草免费在线观看视频 | 狠狠色丁香婷婷综合视频 | 国产黄在线免费观看 | 亚洲欧洲成人 | 亚洲精品美女久久久 | 亚洲码国产日韩欧美高潮在线播放 | 9999激情 | 久久久免费精品 | 日韩综合一区二区三区 | 日本中文字幕观看 | 日韩av成人在线观看 | 九九免费在线视频 | 玖草影院 | 综合激情婷婷 | 日韩视频在线观看免费 | 男女拍拍免费视频 | 色婷婷福利 | 成人av在线直播 | 色综合久久久久久久久五月 | 成人av网址大全 | 日批视频在线播放 | 国产一区二区三区在线 | 久久伊人爱 | 4p变态网欧美系列 | 日本久久成人中文字幕电影 | 韩国av不卡| 亚洲三级在线免费观看 | www操操操| 超碰国产在线播放 | 国产一二区视频 | 欧美性生活免费看 | 欧美日韩在线免费观看 | 91精品一区二区在线观看 | 中文在线a在线 | 日韩免费高清在线 | 成人av在线电影 | 久久亚洲综合国产精品99麻豆的功能介绍 | 五月天综合激情 | 91在线看视频免费 | 五月天视频网站 | 婷婷国产视频 | 懂色av一区二区在线播放 | 人人舔人人干 | 久久五月婷婷综合 | 亚洲精品乱码久久久久久蜜桃不爽 | 国内精品久久久久久久久 | 在线观看视频亚洲 | 午夜性盈盈 | 18pao国产成视频永久免费 | 亚洲国产精品电影在线观看 | 中文字幕在线观看av | 狠狠操狠狠干2017 | 国产福利免费看 | 91tv国产成人福利 | 日韩精品免费 | 久久精品首页 | 久久人人爽人人 | 久久精品久久久久久久 | 国产视频一 | 一级c片| 欧美日韩另类在线 | 国产综合激情 | 91探花在线视频 | 国产在线观看91 | av成人资源| 国产欧美精品一区二区三区 | 一区二区不卡在线观看 | 国产精品自在欧美一区 | 亚洲视频1 | 国精产品999国精产品岳 | 69夜色精品国产69乱 | 国产麻豆精品一区二区 | 久久久久久久免费 | 激情综合啪 | 四虎国产精 | 久久综合之合合综合久久 | 久久丁香 | 国产精品亚洲片夜色在线 | 狠狠的干狠狠的操 | 婷婷综合av| 久久国产精品一国产精品 | 午夜久久久久久久 | 91麻豆文化传媒在线观看 | 国产久视频 | 91麻豆看国产在线紧急地址 | 97精品国产91久久久久久 | 久久成人久久 | 日韩区在线观看 | 黄av资源| 一区二区欧美激情 | 精品久久久久久亚洲综合网站 | 黄色91在线 | 久久人人爽人人爽人人片av软件 | 国产精品久久久免费看 | 99久久激情 | 天堂av免费观看 | 综合色在线观看 | 99热九九这里只有精品10 | av网站在线观看免费 | 精壮的侍卫呻吟h | 婷婷五天天在线视频 | 四虎成人在线 | 久久久免费网站 | 这里有精品在线视频 | 色婷婷成人网 | 国产一级免费观看 | 国产福利网站 | 日日干综合 | 国产中文字幕久久 | 国产资源在线视频 | 久久香蕉影视 | 国产亚洲观看 | 欧美一级片在线 | 亚洲精品中文在线资源 | 91色蜜桃| 亚洲精品视频在线播放 | 国产精品视频地址 | 麻豆成人精品视频 | 天天干,夜夜爽 | 在线观看完整版免费 | 亚洲精品国产片 | 久久观看免费视频 | av电影中文 | 亚洲精品www久久久久久 | 久久免费精彩视频 | 国产区网址 | 操天天操 | 成人免费xxx在线观看 | 西西人体4444www高清视频 | 久草视频在 | 国产精品久久久久久久午夜 | 一区二区三区免费看 | 精品福利网 | 亚洲成人国产 | 欧美福利视频一区 | 人人要人人澡人人爽人人dvd | 毛片的网址 | 成年在线观看 | 天天操天天干天天爽 | 男女精品久久 | 国产直播av| 日韩在线视频观看 | 天天色天天骑天天射 | 中文资源在线官网 | 日韩av一区二区在线影视 | 国产精品欧美一区二区 | 午夜视频在线观看一区二区三区 | 99精品视频免费全部在线 | 日韩亚洲国产中文字幕 | 三级a毛片| 大胆欧美gogo免费视频一二区 | 超碰国产在线观看 | 国产精品国内免费一区二区三区 | 在线观看免费一级片 | 九九免费在线观看视频 | 伊人国产女 | 久久久久女教师免费一区 | 91在线视频免费观看 | 精品在线观 | 黄色一级免费网站 | 久久影院午夜论 | 黄色特级片 | 视频在线播放国产 | 九九在线免费视频 | 丁香av在线| 五月激情丁香婷婷 | 伊人狠狠色 | 婷婷新五月| 91欧美精品 | 国内免费久久久久久久久久久 | 天天曰夜夜操 | 三级黄色大片在线观看 | 特黄特黄的视频 | 国产精品一区二区免费 | 国产不卡免费av | 日本中文字幕在线播放 | 免费在线中文字幕 | 西西大胆免费视频 | 天天干天天弄 | 91亚洲精品乱码久久久久久蜜桃 | 500部大龄熟乱视频 欧美日本三级 | 欧美成人高清 | 亚洲综合在线一区二区三区 | 久久综合久久久久88 | av一区二区三区在线播放 | 日本久久久久久久久久久 | 国产黄色在线看 | www.狠狠操 | 久久狠狠一本精品综合网 | 正在播放亚洲精品 | 国产中文字幕视频在线观看 | 欧洲性视频| 在线观看黄a | 欧美乱码精品一区二区 | 一区二区三区韩国免费中文网站 | 久久天天躁夜夜躁狠狠躁2022 | 欧美日一级片 | 中文字幕免费不卡视频 | 精品久久1 | 国产精品一区二区三区在线 | 在线蜜桃视频 | 人人玩人人添人人澡超碰 | 国产成人亚洲精品自产在线 | 天天色播| 天操夜夜操 | 亚洲国产精品一区二区久久,亚洲午夜 | 99在线精品免费视频九九视 | 亚洲资源一区 | 国产免费观看视频 | 亚洲午夜久久久影院 | 天天插日日操 | 亚洲视频999| 色爱区综合激月婷婷 | 福利网在线 | 欧美一区中文字幕 | 久免费| 天天色天天操综合网 | 最近免费中文字幕大全高清10 | 精品免费 | 国产免费高清视频 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 亚洲国产高清在线 | 一区二区不卡 | 狠狠狠狠狠狠操 | 免费日韩一区二区三区 | 欧美日韩xxxxx | 亚洲午夜电影网 | 99在线视频网站 | 免费午夜在线视频 | 久久国产精品99精国产 | 久久视屏网 | 成人九九视频 | 婷婷在线资源 | 欧美激情视频一区二区三区 | 中文字幕在线日 | 亚洲欧美日韩国产一区二区三区 | 国产精美视频 | 97电影手机版 | 成人免费看片网址 | 国产在线一区二区三区播放 | 久久av中文字幕片 | 亚洲国内精品在线 | 亚洲精品91天天久久人人 | 五月天婷婷视频 | 99精品一区二区 | 国产精品不卡视频 | 在线 视频 一区二区 | 国产伦理久久精品久久久久_ | 色黄久久久久久 | 四虎在线免费视频 | 国产亚洲精品久久久久久电影 | 很黄很黄的网站免费的 | 久久精品国产亚洲aⅴ | 国产精品久久久久一区二区三区 | 亚州免费视频 | 一区二区三区在线影院 | 特级xxxxx欧美| 国产高清免费在线播放 | 国产精品一区二区久久精品爱微奶 | 91最新视频在线观看 | 四虎影视av| 亚洲国产成人精品在线观看 | 国产精品高潮在线观看 | 怡红院av久久久久久久 | 91人人网| 国产一区二区精品91 | 久久久精品亚洲 | 亚洲特级毛片 | 日韩免费高清在线 | 久久资源总站 | 91在线免费播放 | 丁香在线| 在线天堂视频 | 91完整版在线观看 | 依人成人综合网 | 在线看v片| 国产精品免费观看久久 | 国产精品私人影院 | 丁香视频在线观看 | 99性视频 | 中文字幕乱码视频 | 五月激情丁香 | 亚洲成av人影院 | 久久久综合电影 | 成人午夜电影网站 | 久久精品—区二区三区 | 少妇bbb好爽 | 探花视频在线版播放免费观看 | 成人午夜电影在线 | 久久久久久免费网 | 在线亚洲天堂网 | 成人一区二区在线 | 天天躁日日躁狠狠躁av中文 | 激情视频免费在线观看 | 国内精品视频一区二区三区八戒 | 亚洲精品国 | 亚洲桃花综合 | 国产裸体永久免费视频网站 | 操操操干干干 | 热久久国产精品 | 国产91全国探花系列在线播放 | www免费看| 美女网站一区 | 日韩欧美视频一区二区三区 | 国产一卡在线 | 91成人免费看片 | 国产视频网站在线观看 | 亚洲精色| 特级黄色片免费看 | 亚洲日本精品视频 | 欧美另类xxxxx | 中文字幕观看在线 | 丁香六月中文字幕 | 丁香久久综合 | 成人av一区二区兰花在线播放 | 久久精品99国产 | 日韩av电影中文字幕在线观看 | www.天天色| 91九色国产 | 亚洲国内精品在线 | 欧美精品久久久久 | 99精品黄色片免费大全 | 一本—道久久a久久精品蜜桃 | 中文字幕你懂的 | 日韩伦理片一区二区三区 | 992tv在线成人免费观看 | 三级av在线免费观看 | 日韩精品免费一区 | 在线观看一区视频 | 97国产小视频 | 日韩欧美精品在线 | aaa亚洲精品一二三区 | 91大神一区二区三区 | 在线观看国产亚洲 | 成人国产一区 | 国产在线成人 | 狠狠狠色狠狠色综合 | 日韩一区二区三区免费电影 | 最近中文字幕第一页 | 精品国产亚洲一区二区麻豆 | 色国产精品 | 国产成人久久精品77777综合 | 超碰在线网| 黄色毛片视频免费观看中文 | 少妇自拍av | 欧美日韩高清一区二区三区 | 91亚洲欧美激情 | avhd高清在线谜片 | 奇米网在线观看 | 中文字幕在线免费观看 | 狠色狠色综合久久 | 日韩免费看视频 | 亚洲精品视频大全 | 日韩黄视频 | 欧美一级电影 | 日日色综合 | 免费日韩一区 | 免费人做人爱www的视 | 欧美性脚交 | 国产 中文 日韩 欧美 | 天堂在线视频免费观看 | 欧美一级黄大片 | 久久艹人人 | 国产精品久久久久永久免费 | 久久97久久 | 极品久久久久 | 国产精品久久久久久69 | 国产h在线播放 | 99久久婷婷国产综合亚洲 | 97色se | 狠狠色狠狠色合久久伊人 | 日日爽日日操 | 久久免费毛片视频 | 亚洲激情小视频 | 一二三区高清 | 国产精品久久久久久久婷婷 | 欧美日韩精品国产 | 国内精品久久久久影院优 | 亚洲精品色 | 中文字幕一区二区三区精华液 | 国产精品第 | 99精品国产一区二区三区不卡 | 国产在线a不卡 | 91看片麻豆 | 在线99热 | 久久久亚洲电影 | 久久国产精品99国产精 | 国产视频黄 | 日韩在线 一区二区 | 色婷婷狠狠五月综合天色拍 | 国产精品99久久久久久人免费 | 亚洲精品视频第一页 | 成人免费xxxxxx视频 | www.久草.com| 精品一区二区视频 | 狠狠操电影网 | 国产精品美女999 | 免费在线电影网址大全 | 久久99精品国产麻豆宅宅 | 色丁香婷婷 | 国产在线永久 | 日韩av成人在线 | 久久国产精品久久精品 | www.黄色小说.com | 中文字幕在线视频国产 | 五月婷网 | 一区二区三区中文字幕在线观看 | 久草在线 | 国产伦精品一区二区三区四区视频 | 色综合天天综合 | 中文字幕在线第一页 | 国产日韩欧美在线观看视频 | 最近中文字幕免费 | 99视屏| 91av片| 国产亚洲欧美一区 | 久久午夜免费视频 | 一区二区三区在线免费观看 | 91秒拍国产福利一区 | 手机成人在线 | 91桃色在线观看视频 | 国产午夜视频在线观看 | 色多多在线观看 | japanese黑人亚洲人4k | 丁香激情综合国产 | 天天干天天草天天爽 | 国内免费的中文字幕 | 亚洲一区二区三区毛片 | 黄色亚洲大片免费在线观看 | 色综合久久久 | 久久国产精品免费观看 | 日本中文字幕电影在线免费观看 | 国产精品视频观看 | 香蕉网在线播放 | 久久三级毛片 | 三上悠亚一区二区在线观看 | 91av在线国产| 五月天婷亚洲天综合网鲁鲁鲁 | 国产精品成人久久久久久久 | 天天拍夜夜拍 | 婷婷丁香五| 五月婷在线播放 | 国产精品网在线观看 | 91视频这里只有精品 | 999色视频 | 国产色拍| 97国产超碰| 激情在线网址 | 日韩欧美大片免费观看 | 中文不卡视频 | 网站在线观看日韩 | 日韩欧美视频在线 | 99在线热播精品免费99热 | 在线导航福利 | 国产免费黄视频在线观看 | 国产xvideos免费视频播放 | 九九热中文字幕 | 国产黑丝一区二区 | 色姑娘综合 | 夜添久久精品亚洲国产精品 | 国产 精品 资源 | av一区二区三区在线观看 | 亚洲成人午夜在线 | 国产最顶级的黄色片在线免费观看 | 日韩资源在线观看 | 国产真实在线 | 精品国产乱码 | 亚洲精品永久免费视频 | 欧美日韩另类在线 | 色多视频在线观看 | 人人干人人草 | 国产成人三级在线 | 亚洲精品综合一二三区在线观看 | 丁香花在线观看视频在线 | 丁香激情五月婷婷 | 激情婷婷丁香 | 色伊人网| 夜夜躁日日躁狠狠久久av | 91av国产视频| 激情导航| 96亚洲精品久久久蜜桃 | 黄色在线观看免费网站 | 欧美a级成人淫片免费看 | 九九99靖品 | www激情网| 久久久人人爽 | 久久久久久久影院 | 在线看国产日韩 | 久久另类小说 | 久久久久久欧美二区电影网 | 午夜精品一二三区 | 91最新在线 | 激情伊人五月天久久综合 | 9999毛片 | 日本中文字幕网 | 精品在线小视频 | 麻豆影视在线免费观看 | 国产成人一区二区三区在线观看 | 日韩一级黄色大片 | 日韩中文免费视频 | 午夜免费福利片 | 中文字幕网址 | 久久婷婷国产色一区二区三区 | 精品国产精品久久 | 亚洲毛片视频 | 久久免费精品视频 | 91久久久久久久 | 国产午夜精品一区 | 国产一级视频免费看 | 成人在线视频论坛 | 日韩免费在线观看视频 | 91久久精品一区二区三区 | 久久精品人人做人人综合老师 | 91激情小视频 | 亚一亚二国产专区 | 国产色视频一区 | 国产成人三级在线播放 | 日本精品久久久久中文字幕 | 国产视频久 | 中文字幕网站视频在线 | 国产精品一区二区果冻传媒 | 久久天天躁狠狠躁亚洲综合公司 | 99精品一级欧美片免费播放 | 国产精品入口麻豆www | 中文字幕国产一区 | 欧美一区二区在线刺激视频 | 日韩特级片| 午夜美女网站 | 在线观看av免费观看 | 蜜桃av综合网 | 久久tv| 青春草视频在线播放 | 胖bbbb搡bbbb擦bbbb | 免费a视频在线 | 国产免费又爽又刺激在线观看 | 81精品国产乱码久久久久久 | 四虎在线视频免费观看 | 久草资源在线观看 | 久久不卡电影 | 久久成人免费 | 亚洲一级电影视频 | 欧美日韩国产一区二区在线观看 | 国产精品18久久久久久久久 | 国产一级二级av | 中文在线免费视频 | 99久久这里有精品 | 天天天天天干 | 天天色天天射天天操 | 人人爽人人插 | 天天色天天射天天干 | 97超碰福利久久精品 | av看片网址| 天堂在线一区二区三区 | 国产一级黄大片 | 免费看污污视频的网站 | 日韩欧美电影在线 | 丁香婷婷成人 | 欧美日韩一区二区在线观看 | 亚洲欧美日韩国产精品一区午夜 | 日韩av一区二区在线 | 超碰在线9 | 久久五月婷婷丁香 | av超碰免费在线 | 日本久久视频 | 亚洲精选在线观看 | 欧美色图30p | 欧美午夜性生活 | 日本久久99 | 欧美亚洲免费在线一区 | 天天色天天操综合网 | 亚洲成人精品影院 | 九九在线高清精品视频 | 日韩极品在线 | 色综合天天在线 | 国产精品毛片一区视频播 | 激情综合亚洲精品 | 欧美色图30p | 中文亚洲欧美日韩 | 精品在线小视频 | 97人人澡人人爽人人模亚洲 | 看黄色.com | 97在线视频免费播放 | av免费网站 | 三上悠亚在线免费 | 久久精品中文字幕免费mv | 亚洲精品一区二区三区新线路 | 最近日本中文字幕 | 日韩成年视频 | 国产精品美女视频网站 | 四虎www| 丰满少妇对白在线偷拍 | www.天天射 | 在线播放日韩av | www.黄色片.com | 三级视频日韩 | 国产真实在线 | 麻豆国产精品一区二区三区 | 亚洲人成精品久久久久 | 亚洲精品国产欧美在线观看 | ww亚洲ww亚在线观看 | 精品国产一区二区三区免费 | 狠狠干五月天 | 久草在线视频首页 | 深爱激情五月婷婷 | 日韩电影一区二区三区在线观看 | 久久精品视频在线免费观看 | 国产资源免费在线观看 | av成人免费在线观看 | 亚洲成人一二三 | 亚洲免费观看视频 | 国产一及片 | 欧美a性 | 香蕉影院在线观看 | www.在线看片.com | 99热手机在线 | 伊人色播| 亚洲欧美国产精品久久久久 | 久久人操 | 国产精品99久久久精品免费观看 | 黄色av电影免费观看 | 日韩高清观看 | 久久久久 | 波多野结衣电影一区二区 | 最近中文字幕完整高清 | 综合网av| 久久成人国产精品免费软件 | 国产精品精品国产色婷婷 | 涩av在线 | 欧美男女爱爱视频 | 日韩网站在线观看 | 91九色国产蝌蚪 | 中文字幕精品一区二区精品 | 久久久久国产一区二区三区四区 | 成人久久视频 | 丁香五月亚洲综合在线 | 99综合影院在线 | 日本少妇视频 | 国产精品theporn | 一级黄色免费 | 国产一区二区观看 | 丁香婷婷激情啪啪 | 丁香九月激情综合 | 最近中文字幕mv免费高清在线 | 日韩在线电影观看 | 国产婷婷精品av在线 | 欧美日韩中文国产一区发布 | 欧洲性视频 | 国产精品精品视频 | 激情文学丁香 | 中文字幕中文字幕在线中文字幕三区 | 久久久久亚洲精品成人网小说 | 国产精品一区二区三区四区在线观看 | 黄色网中文字幕 | 欧美一级小视频 | 中文字幕在线观看资源 | 外国av网 | 521色香蕉网站在线观看 | 国产在线视频导航 | 免费福利在线视频 | 国产精品成人a免费观看 | 婷婷综合激情 | 精品一区二区综合 | 韩国av免费在线 | 973理论片235影院9 | 91在线91| 日韩在线视 | 久久久免费| 日本黄色免费网站 | 亚洲va在线va天堂 | 国产美女精彩久久 | 日韩视频一区二区三区在线播放免费观看 | 久久精品com| 久久色中文字幕 | 综合五月 | 亚州av免费 | 国产五码一区 | 久青草视频在线观看 | 精品免费久久久久 | 免费精品在线观看 | 免费一级片久久 | 久久精品欧美一区二区三区麻豆 | 色中色资源站 |