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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

String的内存模型,为什么String被设计成不可变的

發(fā)布時(shí)間:2024/9/5 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 String的内存模型,为什么String被设计成不可变的 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

String是Java中最常用的類(lèi),是不可變的(Immutable), 那么String是如何實(shí)現(xiàn)Immutable呢,String為什么要設(shè)計(jì)成不可變呢?

前言

關(guān)于String,收集一波基礎(chǔ),來(lái)源標(biāo)明最后,不確定是否權(quán)威, 希望有問(wèn)題可以得到糾正。

0. String的內(nèi)存模型

  • Java8以及以后的字符串新建時(shí),直接在堆中生成對(duì)象,而字符創(chuàng)常量池位于Metaspace。必要的時(shí)候,會(huì)把堆中的指針存入Metaspace, 而不是復(fù)制。
  • Metaspace位于虛擬機(jī)以外的直接內(nèi)存,因此大小和外部直接內(nèi)存有關(guān),但也可以通過(guò)指定參數(shù)設(shè)置-XX:MetaspaceSize=8m -XX:MaxMetaspaceSize=8m

0.1 一些真實(shí)測(cè)試,以及某些推測(cè)

很難直接從百度出的中文資料中得到確切的答案,因?yàn)榇蠖嘁杂瀭饔?#xff0c;未經(jīng)驗(yàn)證。這里且做測(cè)試,先記住,因?yàn)楹懿磺樵缚泄俜轿臋n。

前期準(zhǔn)備

首先,要有字符串常量池的概念。然后知道String是怎么和常量池打交道的。這里的武器就是intern(),看一下javadoc:

/*** Returns a canonical representation for the string object.* <p>* A pool of strings, initially empty, is maintained privately by the* class {@code String}.* <p>* When the intern method is invoked, if the pool already contains a* string equal to this {@code String} object as determined by* the {@link #equals(Object)} method, then the string from the pool is* returned. Otherwise, this {@code String} object is added to the* pool and a reference to this {@code String} object is returned.* <p>* It follows that for any two strings {@code s} and {@code t},* {@code s.intern() == t.intern()} is {@code true}* if and only if {@code s.equals(t)} is {@code true}.* <p>* All literal strings and string-valued constant expressions are* interned. String literals are defined in section 3.10.5 of the* <cite>The Java&trade; Language Specification</cite>.** @return a string that has the same contents as this string, but is* guaranteed to be from a pool of unique strings.*/public native String intern();

即常量池存在,返回常量池中的那個(gè)對(duì)象,常量池不存在,則放入常量池,并返回本身。由此推斷兩個(gè)公式:

str.intern() == str //證明返回this本身,證明常量池不存在。 str.intern() != str //證明返回常量池中已存在的對(duì)象,不等于新建的對(duì)象。

這兩個(gè)公式有什么用?

面試題雖然被很多牛人說(shuō)low(請(qǐng)別再拿“String s = new String("xyz");創(chuàng)建了多少個(gè)String實(shí)例”來(lái)面試了吧),但確實(shí)經(jīng)常出現(xiàn)new String以及幾個(gè)對(duì)象之類(lèi)的問(wèn)題。而這個(gè)問(wèn)題主要是考察String的內(nèi)存模型,連帶可以引出對(duì)Java中對(duì)象的內(nèi)存模型的理解。

通過(guò)判斷上述兩個(gè)公式,我們可以知道對(duì)象究竟是新建的,還是來(lái)自常量池,如此就可以坦然面對(duì)誰(shuí)等于誰(shuí)的問(wèn)題。

約定

  • 為了準(zhǔn)確表達(dá),這里為偽地址表示指針位置,比如0xab表示"ab"這個(gè)對(duì)象的地址
  • 測(cè)試基于jdk1.8.0_131.jdk
  • 操作系統(tǒng): MacOS 10.12.6
  • 內(nèi)存: 16G
  • CPU: 2.2 GHz Intel Core i7

Java Visual VM

JDK提供一個(gè)可視化內(nèi)存查看工具jvisualvm。Mac由于安裝Java后已經(jīng)設(shè)置了環(huán)境變量,所以打開(kāi)命令行,直接輸入jvisualvm, 即可打開(kāi)。Windows下應(yīng)該是在bin目錄下找到對(duì)應(yīng)的exe文件,雙擊打開(kāi)。

OQL語(yǔ)言

在Java VisualVM中可以使用OQL來(lái)查找對(duì)象。具體可以查看Oracle博客。百度出來(lái)的結(jié)果都是摘抄的[深入理解Java虛擬機(jī)]這本書(shū)附錄里的內(nèi)容。但我表示用來(lái)使用行不通。一些用法不一樣。簡(jiǎn)單的歸納一些用的語(yǔ)法。

查詢一個(gè)內(nèi)容為RyanMiao的字符串:

select {instance:s} from java.lang.String s where s.toString() == "RyanMiao"

查詢前綴為Ryan的字符串:

select {instance:s} from java.lang.String s where s.toString().substring(0,4) =="Ryan"

遍歷

filter(sort(map(heap.objects("java.lang.String"),function(heapString){if( ! counts[heapString.toString()]){counts[heapString.toString()] = 1;} else {counts[heapString.toString()] = counts[heapString.toString()] + 1;}return { string:heapString.toString(), count:counts[heapString.toString()]};}), 'lhs.count < rhs.count'),function(countObject) {if( countObject.string ){alreadyReturned[countObject.string] = true;return true;} else {return false;}});

沒(méi)找到匹配前綴的做法,這里使用最笨的遍歷

filter( heap.objects("java.lang.String"), function(str){if(str != "Ryan" && str !="Miao" && str != "RyanMiao"){return false;}return true; } );

0.1.1 通過(guò)=創(chuàng)建字符串

通過(guò)=號(hào)創(chuàng)建對(duì)象,運(yùn)行時(shí)只有一個(gè)對(duì)象存在。

/*** @author Ryan Miao* 等號(hào)賦值,注意字面量的存在*/ @Test public void testNewStr() throws InterruptedException {//str.intern(): 若常量池存在,返回常量池中的對(duì)象;若常量池不存在,放入常量池,并返回this。//=號(hào)賦值,若常量池存在,直接返回常量池中的對(duì)象0xs1,如果常量池不存在,則放入常量池,常量池中的對(duì)象也是0xs1String s1 = "RyanMiao";//0xs1Assert.assertTrue(s1.intern() == s1);//0xs1 == 0xs1 > trueThread.sleep(1000*60*60); }

通過(guò)Java自帶的工具Java VisualVM來(lái)查詢內(nèi)存中的String實(shí)例,可以看出s1只有一個(gè)對(duì)象。操作方法如下。

為了動(dòng)態(tài)查看內(nèi)存,選擇休眠1h,run testNewStr(),然后打開(kāi)jvisualvm, 可以看到幾個(gè)vm列表,找到我們的vm,右鍵heamp dump.

然后,選擇右側(cè)的OQL,在查詢內(nèi)容編輯框里輸入:

select {instance:s} from java.lang.String s where s.toString() == "RyanMiao"

可以發(fā)現(xiàn),只有一個(gè)對(duì)象。

0.1.2 通過(guò)new創(chuàng)建字符串

通過(guò)new創(chuàng)建對(duì)象時(shí),參數(shù)RyanMiao作為字面量會(huì)生成一個(gè)對(duì)象,并存入字符創(chuàng)常量池。而后,new的時(shí)候又將創(chuàng)建另一個(gè)String對(duì)象,所以,最好不要采用這種方式使用String, 不然就是雙倍消耗內(nèi)存。

/*** @author Ryan Miao** 暴露的字面量(literal)也會(huì)生成對(duì)象,放入Metaspace*/ @Test public void testNew(){//new賦值,直接堆中創(chuàng)建0xs2, 常量池中All literal strings and string-valued constant expressions are interned,// "RyanMiao"本身就是一個(gè)字符串,并放入常量池,故intern()返回0xabString s2 = new String("RyanMiao");Assert.assertFalse(s2.intern() == s2);//0xRyanMiao == 0xs2 > false }

0.1.3 通過(guò)拼接創(chuàng)造字符串

當(dāng)字符創(chuàng)常量池不存在此對(duì)象的的時(shí)候,返回本身。

/*** @author Ryan Miao* 上栗中,由于字面量(literal)會(huì)生成對(duì)象,并放入常量池,因此可以直接從常量池中取出(前提是此行代碼運(yùn)行之前沒(méi)有其他代碼運(yùn)行,常量池是干凈的)** 本次,測(cè)試非暴露字面量的str*/ @Test public void testConcat(){//沒(méi)有任何字面量為"RyanMiao"暴露給編譯器,所以常量池沒(méi)有創(chuàng)建"RyanMiao",所以,intern返回thisString s3 = new StringBuilder("Ryan").append("Miao").toString();Assert.assertTrue(s3.intern() == s3); }

在Java Visual VM中,查詢以"Ryan"開(kāi)頭的變量:

select {instance:s} from java.lang.String s where s.toString().substring(0,4) =="Ryan"

但,根據(jù)以上幾個(gè)例子,可以明顯看出來(lái),字符串字面量(literal)都是對(duì)象,于是上栗中應(yīng)該有三個(gè)對(duì)象:Ryan,Miao,RyanMiao。驗(yàn)證如下:

此時(shí)的內(nèi)存模型:

0.1.4 針對(duì)常量池中已存在的字符串

/*** @author Ryan Miao* 上栗中,只要不暴露我們最終的字符串,常量池基本不會(huì)存在,則每次新建(new)的時(shí)候,都會(huì)放入常量池,intern并返回本身。即常量池的對(duì)象即新建的對(duì)象本身。** 本次,測(cè)試某些常量池已存在的字符串*/ @Test public void testExist(){//為毛常量池存在java這個(gè)單詞//s4 == 0xs4, intern發(fā)現(xiàn)常量池存在,返回0xexistjavaString s4 = new StringBuilder("ja").append("va").toString();Assert.assertFalse(s4.intern() == s4); //0xexistjava == 0xs4 > false//int也一開(kāi)始就存在于常量池中了, intern返回0xexistintString s5 = new StringBuilder().append("in").append("t").toString();Assert.assertFalse(s5.intern()==s5); // 0xexistint == 0xs5 > false//由于字面量"abc"加載時(shí),已放入常量池,故s6 intern返回0xexistabc, 而s6是新建的0xs6String a = "abc";String s6 = new StringBuilder().append("ab").append("c").toString();Assert.assertFalse(s6.intern() == s6); //0xexistabc == 0xs6 > false}

驗(yàn)證如下:

使用命令行工具javap -c TestString可以反編譯class,看到指令執(zhí)行的過(guò)程。

% javap -c TestString Warning: Binary file TestString contains com.test.java.string.TestString Compiled from "TestString.java" public class com.test.java.string.TestString {public com.test.java.string.TestString();Code:0: aload_01: invokespecial #1 // Method java/lang/Object."<init>":()V4: returnpublic void testNewStr() throws java.lang.InterruptedException;Code:0: ldc #2 // String RyanMiao2: astore_13: aload_14: invokevirtual #3 // Method java/lang/String.intern:()Ljava/lang/String;7: aload_18: if_acmpne 1511: iconst_112: goto 1615: iconst_016: invokestatic #4 // Method org/junit/Assert.assertTrue:(Z)V19: returnpublic void testNew() throws java.lang.InterruptedException;Code:0: new #5 // class java/lang/String3: dup4: ldc #2 // String RyanMiao6: invokespecial #6 // Method java/lang/String."<init>":(Ljava/lang/String;)V9: astore_110: aload_111: invokevirtual #3 // Method java/lang/String.intern:()Ljava/lang/String;14: aload_115: if_acmpne 2218: iconst_119: goto 2322: iconst_023: invokestatic #7 // Method org/junit/Assert.assertFalse:(Z)V26: returnpublic void testConcat() throws java.lang.InterruptedException;Code:0: new #8 // class java/lang/StringBuilder3: dup4: ldc #9 // String Ryan6: invokespecial #10 // Method java/lang/StringBuilder."<init>":(Ljava/lang/String;)V9: ldc #11 // String Miao11: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;14: invokevirtual #13 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;17: astore_118: aload_119: invokevirtual #3 // Method java/lang/String.intern:()Ljava/lang/String;22: aload_123: if_acmpne 3026: iconst_127: goto 3130: iconst_031: invokestatic #4 // Method org/junit/Assert.assertTrue:(Z)V34: returnpublic void testExist() throws java.lang.InterruptedException;Code:0: new #8 // class java/lang/StringBuilder3: dup4: ldc #14 // String ja6: invokespecial #10 // Method java/lang/StringBuilder."<init>":(Ljava/lang/String;)V9: ldc #15 // String va11: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;14: invokevirtual #13 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;17: astore_118: aload_119: invokevirtual #3 // Method java/lang/String.intern:()Ljava/lang/String;22: aload_123: if_acmpne 3026: iconst_127: goto 3130: iconst_031: invokestatic #7 // Method org/junit/Assert.assertFalse:(Z)V34: new #8 // class java/lang/StringBuilder37: dup38: invokespecial #16 // Method java/lang/StringBuilder."<init>":()V41: ldc #17 // String in43: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;46: ldc #18 // String t48: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;51: invokevirtual #13 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;54: astore_255: aload_256: invokevirtual #3 // Method java/lang/String.intern:()Ljava/lang/String;59: aload_260: if_acmpne 6763: iconst_164: goto 6867: iconst_068: invokestatic #7 // Method org/junit/Assert.assertFalse:(Z)V71: ldc #19 // String abc73: astore_374: new #8 // class java/lang/StringBuilder77: dup78: invokespecial #16 // Method java/lang/StringBuilder."<init>":()V81: ldc #20 // String ab83: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;86: ldc #21 // String c88: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;91: invokevirtual #13 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;94: astore 496: aload 498: invokevirtual #3 // Method java/lang/String.intern:()Ljava/lang/String;101: aload 4103: if_acmpne 110106: iconst_1107: goto 111110: iconst_0111: invokestatic #7 // Method org/junit/Assert.assertFalse:(Z)V114: ldc2_w #22 // long 3600000l117: invokestatic #24 // Method java/lang/Thread.sleep:(J)V120: return }

Java在compile的時(shí)候優(yōu)化了執(zhí)行邏輯

我以為使用了StringBuilder可以減少性能損耗啊,然而,編譯后的文件直接說(shuō)no,直接給替換成拼接了:

1. String是如何實(shí)現(xiàn)Immutable的?

Immutable是指String的對(duì)象實(shí)例生成后就不可以改變。相反,加入一個(gè)user類(lèi),你可以修改name,那么就不叫做Immutable。所以,String的內(nèi)部屬性必須是不可修改的。

1.1 私有成員變量

String的內(nèi)部很簡(jiǎn)單,有兩個(gè)私有成員變量:

/** The value is used for character storage. */ private final char value[];/** Cache the hash code for the string */ private int hash; // Default to 0

而后并沒(méi)有對(duì)外提供可以修改這兩個(gè)屬性的方法,沒(méi)有set,沒(méi)有build。

1.2 Public的方法都是復(fù)制一份數(shù)據(jù)

String有很多public方法,要想維護(hù)這么多方法下的不可變需要付出代價(jià)。每次都將創(chuàng)建新的String對(duì)象。比如,這里講一個(gè)很有迷惑性的concat方法:

public String concat(String str) {int otherLen = str.length();if (otherLen == 0) {return this;}int len = value.length;char buf[] = Arrays.copyOf(value, len + otherLen);str.getChars(buf, len);return new String(buf, true); }

從方法名上看,是拼接字符串。這樣下意識(shí)以為是原對(duì)象修改了內(nèi)容,所以對(duì)于str2 = str.concat("abc"),會(huì)認(rèn)為是str2==str。然后熟記String不可變定律的你肯定會(huì)反對(duì)。確實(shí)不是原對(duì)象,確實(shí)new了新String。同樣的道理,在其他String的public方法里,都將new一個(gè)新的String。因此就保證了原對(duì)象的不可變。說(shuō)到這里,下面的結(jié)果是什么?

String str2 = str.concat(""); Assert.assertFalse(str2 == str);

按照String不可變的特性來(lái)理解,這里str2應(yīng)該是生成的新對(duì)象,那么肯定不等于str.所以是對(duì)的,是false。面試考這種題目也是醉了,為了考驗(yàn)大家對(duì)String API的熟悉程度嗎?看源碼才知道,當(dāng)拼接的內(nèi)容為空的時(shí)候直接返回原對(duì)象。因此,str2==str是true。

1.3 String是final的

由于String被聲明式final的,則我們不可以繼承String,因此就不能通過(guò)繼承來(lái)復(fù)寫(xiě)一些關(guān)于hashcode和value的方法。

2. String為什么要設(shè)計(jì)成Immutable?

一下內(nèi)容來(lái)自http://www.kogonuso.com/2015/03/why-string-is-immutable-or-final-class.html#sthash.VgLU1mDY.dpuf. 發(fā)現(xiàn)百度的中文版本基本也是此文的翻譯版。

緩存的需要

String是不可變的。因?yàn)镾tring會(huì)被String pool緩存。因?yàn)榫彺鍿tring字面量要在多個(gè)線程之間共享,一個(gè)客戶端的行為會(huì)影響其他所有的客戶端,所以會(huì)產(chǎn)生風(fēng)險(xiǎn)。如果其中一個(gè)客戶端修改了內(nèi)容"Test"為“TEST”, 其他客戶端也會(huì)得到這個(gè)結(jié)果,但顯然并想要這個(gè)結(jié)果。因?yàn)榫彺孀址畬?duì)性能來(lái)說(shuō)至關(guān)重要,因此為了移除這種風(fēng)險(xiǎn),String被設(shè)計(jì)成Immutable。

HashMap的需要

HashMap在Java里太重要了,而它的key通常是String類(lèi)型的。如果String是mutable,那么修改屬性后,其hashcode也將改變。這樣導(dǎo)致在HashMap中找不到原來(lái)的value。

多線程中需要

string的subString方法如下:

public String substring(int beginIndex) {if (beginIndex < 0) {throw new StringIndexOutOfBoundsException(beginIndex);}int subLen = value.length - beginIndex;if (subLen < 0) {throw new StringIndexOutOfBoundsException(subLen);}return (beginIndex == 0) ? this : new String(value, beginIndex, subLen); }

如果String是可變的,即修改String的內(nèi)容后,地址不變。那么當(dāng)多個(gè)線程同時(shí)修改的時(shí)候,value的length是不確定的,造成不安全因素,無(wú)法得到正確的截取結(jié)果。而為了保證順序正確,需要加synchronzied,但這會(huì)得到難以想象的性能問(wèn)題。

保證hashcode

這和上條中HashMap的需要一樣,不可變的好處就是hashcode不會(huì)變,可以緩存而不用計(jì)算。

classloader中需要

The absolutely most important reason that String is immutable is that it is used by the class loading mechanism, and thus have profound and fundamental security aspects. Had String been mutable, a request to load "java.io.Writer" could have been changed to load "mil.vogoon.DiskErasingWriter"

String會(huì)在加載class的時(shí)候需要,如果String可變,那么可能會(huì)修改加載中的類(lèi)。

總之,安全性和String字符串常量池緩存是String被設(shè)計(jì)成不可變的主要原因。

參考

  • https://stackoverflow.com/questions/3052442/what-is-the-difference-between-text-and-new-stringtext/3052456
  • http://www.kogonuso.com/2015/03/why-string-is-immutable-or-final-class.html#sthash.VgLU1mDY.dpuf
  • http://rednaxelafx.iteye.com/blog/774673
  • http://www.jianshu.com/p/4ee6aec39c89?from=groupmessage
  • http://www.cnblogs.com/yulei126/p/6777323.html
  • https://blogs.oracle.com/sundararajan/querying-java-heap-with-oql

轉(zhuǎn)載于:https://www.cnblogs.com/woshimrf/p/why-string-is-immutable.html

總結(jié)

以上是生活随笔為你收集整理的String的内存模型,为什么String被设计成不可变的的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

在线精品亚洲一区二区 | 久久综合婷婷 | 亚洲欧美日韩一二三区 | 日韩91在线| 亚洲国产视频在线 | 91亚洲欧美| 蜜臀精品久久久久久蜜臀 | 欧美中文字幕久久 | 天天爽夜夜爽人人爽一区二区 | 在线观看av网| 99亚洲精品视频 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美不卡视频在线 | a爱爱视频 | 国产精品手机看片 | 涩涩成人在线 | 福利视频导航网址 | 少妇做爰k8经典 | 美女av在线免费 | 国产午夜精品在线 | 天天色天天射综合网 | 人人爽人人看 | 最近最新中文字幕视频 | 天天爱天天射天天干天天 | 中文字幕一区二区三区在线播放 | 久久大视频 | 亚洲三级网站 | 国产a精品| 亚洲一区二区视频在线 | 曰韩精品 | 黄色国产高清 | 久久免费黄色 | 亚洲精品午夜一区人人爽 | 国产美女在线免费观看 | 婷婷亚洲五月色综合 | 国产h片在线观看 | 嫩嫩影院理论片 | 日批网站免费观看 | 四虎影视av | 日韩专区一区二区 | 日韩欧美一区二区在线观看 | 婷婷综合久久 | 精品国产区在线 | 九九久久久 | 久久伦理网 | 中文字幕欧美日韩va免费视频 | va视频在线| 欧美日韩在线观看一区二区三区 | 精品在线二区 | www.天天操.com| 中文字幕a在线 | 成人免费在线视频观看 | 精品国产伦一区二区三区免费 | 国产不卡网站 | 国产精品久久免费看 | 国产精品久久久久永久免费看 | 狠狠色丁香婷婷 | 亚洲国产成人久久 | 又黄又刺激又爽的视频 | 伊人在线视频 | 视频成人永久免费视频 | www久久久| 狠狠撸电影 | 久久另类视频 | 96国产精品视频 | 最近能播放的中文字幕 | 日日夜夜天天操 | 久久a v电影| 国产一级视频 | 99热这里只有精品8 久久综合毛片 | 国产福利电影网址 | 欧美久久久影院 | 久草在线最新视频 | 91精品视频播放 | 亚洲国产中文在线观看 | 色999五月色 | 深夜男人影院 | 国产成人精品一区二区三区福利 | 久久久久在线 | 97色噜噜| 在线视频手机国产 | 天天插天天射 | 中文字幕在线播放一区 | 久草在线综合网 | 久久色网站 | 欧美日韩久久一区 | 日韩精品2区 | 高清不卡毛片 | 久久精品中文字幕少妇 | 在线国产99 | 手机在线永久免费观看av片 | www.五月天婷婷.com | 在线观看成年人 | 天堂久色 | 又黄又爽又色无遮挡免费 | 亚洲精品www久久久 www国产精品com | 国产视频中文字幕在线观看 | 国产一区91| 中文字幕视频三区 | 日日夜夜天天 | av在线一 | www日| av黄色在线播放 | 国产精品美女久久久久久久网站 | 欧美a√在线 | 97视频成人 | 国产一区影院 | 日本99久久 | 天天操天天操 | 日本xxxx.com | 波多野结衣理论片 | 97超碰人人澡人人 | 亚洲视频电影在线 | 日韩精品久久久久久久电影竹菊 | 91福利视频免费观看 | 97色狠狠 | 色综合久久综合网 | 国内久久看 | 狠狠色丁香婷婷综合最新地址 | 在线精品在线 | 亚洲视频精选 | 99免费在线观看视频 | 成人免费看电影 | 一区二区三区久久精品 | 国产视频91在线 | 国产精品无av码在线观看 | 日韩精品字幕 | 国产视频九色蝌蚪 | 美女视频黄是免费的 | 欧美一区二区三区在线播放 | 成人a大片 | 精品在线99 | 日韩av快播电影网 | 日韩中文在线视频 | 在线观看免费日韩 | 亚洲无毛专区 | 天堂网一区二区三区 | 69av视频在线观看 | 欧美一二三区在线观看 | 久久久亚洲电影 | 99精品国产亚洲 | 性色在线视频 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | www.五月天婷婷.com | 亚洲精品黄色 | 欧美日韩视频免费看 | 国产精品美女毛片真酒店 | 色综合五月天 | 91视频在线国产 | 色一级片 | 中文字幕中文字幕在线中文字幕三区 | 在线观看日韩专区 | 色婷婷综合五月 | 久久有精品 | 欧美视频在线二区 | 国产99久久久国产精品 | 麻豆一精品传二传媒短视频 | 久久精品免费 | 狠狠色噜噜狠狠狠狠 | 91免费高清在线观看 | 国产黄色片在线免费观看 | 中文字幕在线精品 | 色噜噜色噜噜 | 在线免费观看羞羞视频 | 久久精品久久99 | 操操综合 | 亚洲精品在线观看免费 | 日韩一区二区三区在线看 | 成人黄色一级视频 | 日韩在线视频一区 | 亚洲婷婷综合色高清在线 | 天天做天天爱天天爽综合网 | 91看片网址 | 亚洲人成在线观看 | 国产精品一区二区免费视频 | 精品久久久久亚洲 | 区一区二在线 | aa一级片 | 日韩精品视频在线免费观看 | 国产精品美女久久久久久久久久久 | 人人干人人做 | 国产第页| 黄色网址av| 国产超碰在线观看 | 国产精品美女久久久免费 | 日韩中文在线电影 | 久久视了 | 国产一区网 | 深夜免费网站 | 超级碰碰碰碰 | 国产手机视频精品 | www.超碰97.com | 99在线观看免费视频精品观看 | 91丨九色丨国产在线观看 | 米奇四色影视 | 国产免费成人av | 91视频在线观看下载 | 精品一区二区在线看 | 超碰97人人射妻 | 伊人影院99 | 黄色a大片 | 在线激情小视频 | 婷婷四房综合激情五月 | 国产片免费在线观看视频 | 国内外成人免费在线视频 | 久久久久久久国产精品 | 国产1区2区3区精品美女 | 国产在线色 | 亚洲永久精品视频 | 一区二区 精品 | 久久精品国产亚洲精品2020 | 久久综合电影 | 81国产精品久久久久久久久久 | 一区二精品 | 久久黄色片 | 国产精品一区二区62 | 国产精品永久免费视频 | 久久久91精品国产一区二区三区 | 久久免费片 | 亚洲精品久久激情国产片 | 久久精品欧美日韩精品 | www.色午夜,com | 国产高清av | 国产成人三级三级三级97 | 黄色av网站在线观看 | 97在线超碰 | 免费av网址大全 | 久久久www成人免费毛片 | 久久优 | 国产精品久久久久久久久免费 | 在线中文字幕播放 | 国产精品久久伊人 | 日产乱码一二三区别在线 | 欧美做受69 | 青青视频一区 | 成人免费亚洲 | 91av视屏 | 日韩在线视频一区 | 国内久久久 | 国产最新在线视频 | 婷婷在线免费观看 | 欧美黄色高清 | 久久久国产影院 | av成人免费在线 | 成人国产精品久久久 | 中文字幕有码在线 | 久久精品9| 激情久久久 | 亚洲国产中文在线观看 | 久久综合精品一区 | 五月宗合网 | 在线亚洲高清视频 | 91 在线视频播放 | 精品在线播放 | 日韩精品一区二区三区三炮视频 | 国产国语在线 | 国产成人精品久久 | 九月婷婷综合网 | 亚洲va欧美va人人爽 | 久热色超碰 | 免费a级毛片在线看 | 亚洲国产成人精品在线观看 | 国产手机精品视频 | 97人人看| 亚洲夜夜爽 | 99国产成+人+综合+亚洲 欧美 | 黄色毛片网站在线观看 | 激情视频综合网 | 天天五月天色 | 欧美国产精品一区二区 | 日韩视频在线观看免费 | 99精品福利视频 | 欧美亚洲一区二区在线 | 欧美精品一区二区免费 | 欧美久久久久久久久 | 国产一区二区不卡视频 | a√天堂资源 | www色,com| 成人在线视频你懂的 | 91精品视频一区 | 日韩精品2区 | 免费a一级| 午夜在线免费观看 | 色婷婷精品大在线视频 | 日韩av三区| 国产视频久久久 | 国产成人在线免费观看 | 波多野结衣电影一区二区三区 | 揉bbb玩bbb少妇bbb | 国产成人精品一区二区三区福利 | 精品国产免费久久 | 一个色综合网站 | 中文字字幕在线 | 中文字幕在线视频国产 | 又色又爽又激情的59视频 | 久久在线一区 | 亚洲天堂网在线播放 | 欧美福利网站 | 99在线高清视频在线播放 | 狠狠狠狠狠狠 | 99色精品视频 | 九九九在线 | 国产精品电影一区 | 国产在线视频一区二区三区 | 9色在线视频| 在线观看黄色小视频 | 人人爽人人爽人人爽人人爽 | 亚洲三级黄 | 国产 一区二区三区 在线 | 激情久久久久久久久久久久久久久久 | 激情喷水 | 色丁香久久 | 91香蕉视频在线 | 中文字幕在线免费观看视频 | 狠狠躁夜夜a产精品视频 | 国内精品久久久久久 | 欧美精品乱码久久久久久 | 亚洲最大av在线播放 | 中文字幕 在线看 | 久久影视网 | 婷婷国产在线 | 尤物97国产精品久久精品国产 | 九九日九九操 | 超碰人人干人人 | 国产精品原创在线 | 韩日精品中文字幕 | 在线观看视频黄 | 国产精品久久久久久久久久 | 久久99精品国产 | 国产精品美女久久久久aⅴ 干干夜夜 | 国产精品一区二区三区观看 | 久久久91精品国产一区二区精品 | 91av在线国产 | 久久精品视频99 | 久久久精品久久 | 97电影手机版 | 视频在线国产 | 国产在线观看不卡 | 色多多在线观看 | 在线天堂视频 | 香蕉影院在线观看 | 欧美一级片免费 | av不卡网站 | 97免费视频在线播放 | 久草电影免费在线观看 | 黄色软件在线看 | 日本韩国中文字幕 | 久久黄色网页 | 男女激情网址 | 国产精品3 | 高清一区二区三区 | 国产美女久久 | 97在线观看免费观看高清 | 免费福利在线播放 | 国产高清久久久久 | 国产精品永久在线 | 国产日韩高清在线 | 999久久久精品视频 日韩高清www | 免费久草视频 | 国产专区在线看 | 在线播放日韩av | 久久亚洲综合国产精品99麻豆的功能介绍 | 中文字幕有码在线 | 精品一区二区综合 | 日韩电影在线观看一区 | 国产精品久久久久久久免费观看 | av成人在线网站 | 日韩免费av网址 | 欧美久草视频 | 亚洲人成精品久久久久 | 久久国产麻豆 | 一区 二区 精品 | 99 精品 在线 | 国产亚洲精品久久久网站好莱 | 欧美成人xxx | 久久久久久久久久久久国产精品 | 国产小视频在线免费观看视频 | 456成人精品影院 | 免费看黄在线观看 | 91九色视频在线观看 | 激情视频一区二区三区 | 少妇bbb | 国产精品都在这里 | 国产特级毛片 | 日韩极品视频在线观看 | 人人人爽 | 免费在线观看av网址 | 91精品福利在线 | 91久久影院 | 日本久久免费视频 | 亚洲污视频 | 久草在线中文视频 | 欧美日韩免费观看一区=区三区 | 99欧美| 日韩在线网址 | 国产日产精品久久久久快鸭 | 六月天色婷婷 | 天天爽综合网 | 国产成人av免费在线观看 | 91大神一区二区三区 | 日本在线观看黄色 | 婷婷色综合色 | 九九热在线精品视频 | 亚洲国产福利视频 | 久草在线视频新 | 久久只精品99品免费久23小说 | 特级黄色电影 | 国产精品免费一区二区三区 | 91香蕉国产在线观看软件 | 精品在线不卡 | 亚州精品天堂中文字幕 | 狠狠操精品 | 精品久久久久久久 | 国产欧美三级 | 中文字幕91 | 国产亚洲婷婷免费 | av在线观 | 91视频在线播放视频 | 精品在线一区二区三区 | 国产香蕉久久 | 五月婷在线 | 丁香资源影视免费观看 | 婷婷五综合 | 99精品国产成人一区二区 | 天天操天天操天天操天天操 | 天天干天天射天天操 | 国产成人一区二区啪在线观看 | 丰满少妇高潮在线观看 | 91完整版观看 | 免费观看一区二区 | 在线国产能看的 | 91丨精品丨蝌蚪丨白丝jk | 亚洲精品午夜久久久久久久久久久 | 精品一区欧美 | 97福利在线| 91av网址 | 日本黄色a级大片 | 日日摸日日碰 | 久久国产精品99久久久久久丝袜 | 亚洲精品国产成人av在线 | 麻花天美星空视频 | 日韩精品久久久 | 色婷在线 | 中文字幕精品在线 | 在线一级片 | 欧美在线日韩在线 | 一区二区三区手机在线观看 | 欧美激情视频在线观看免费 | 午夜精品久久一牛影视 | 麻豆视频在线观看 | 三级动态视频在线观看 | 国产小视频福利在线 | 婷五月激情 | 亚洲精品国产精品乱码不99热 | 成 人 黄 色 视频免费播放 | a级片久久 | 国产黄色免费电影 | 91手机视频在线 | 在线观看激情av | 日本女人在线观看 | 久草在线免费资源 | 91九色在线观看 | 在线免费av网站 | 亚洲精品免费在线观看视频 | 亚洲国产精品小视频 | 午夜精品一区二区三区在线观看 | 国产精品系列在线观看 | 国产不卡毛片 | 日日爽天天操 | 一本色道久久综合亚洲二区三区 | .国产精品成人自产拍在线观看6 | 日韩天天干 | 国产一区电影在线观看 | 91色亚洲| 精品国产自 | 国产精品美女久久久久久 | japanesexxxhd奶水 国产一区二区在线免费观看 | 成人午夜毛片 | 97热久久免费频精品99 | 久久99深爱久久99精品 | 中文字幕免费一区 | 国产日韩欧美网站 | 精品国产一二三四区 | 在线av资源 | 日韩欧美在线免费观看 | 精品国产精品一区二区夜夜嗨 | 91精品国产91久久久久 | 免费看一级黄色大全 | 亚洲成av人片在线观看香蕉 | 日韩欧美大片免费观看 | 九色视频自拍 | 91免费在线视频 | 国内久久精品视频 | 日本三级大片 | 香蕉手机在线 | 亚洲视频1| 四虎永久网站 | 国产精品久久久影视 | 中文在线亚洲 | 丁香九月激情综合 | 日韩精品免费在线 | 最新av电影网址 | 中文字幕有码在线播放 | 黄色大片免费网站 | 国产亚洲精品久久久网站好莱 | 波多野结衣在线观看一区二区三区 | 日韩在线理论 | 亚洲 中文 在线 精品 | 成人影片在线播放 | 日韩高清精品免费观看 | 国产精品久久久久久久午夜 | 中文字幕在线观看完整 | 色综合欧洲 | 丁香五香天综合情 | 在线视频免费观看 | 日韩免费小视频 | 日日干精品| 国产一二区视频 | 五月天综合激情 | 国产69精品久久久久久 | 日日干天天爽 | 激情久久久久久久久久久久久久久久 | 波多野结衣综合网 | 国产高清成人av | 四虎在线免费观看 | 久久久资源 | 日韩国产精品毛片 | 成人av影视观看 | 天天操天天操天天操天天操天天操 | 国产人成看黄久久久久久久久 | 欧美久久久久久久久久久久久 | 国产伦精品一区二区三区免费 | 国产一区二区三区免费观看视频 | 97超碰人人澡| 精品视频成人 | 在线观看涩涩 | 天天摸天天舔 | 91香蕉国产 | 精品久久久久久国产91 | 午夜精品av在线 | 久久精品国产成人 | av丝袜制服 | 国产精品久久网站 | 国产视频九色蝌蚪 | 日韩电影一区二区在线观看 | 久久国产成人午夜av影院潦草 | 五月婷婷毛片 | 2023av| 成人黄在线观看 | 欧美日韩中文在线观看 | 色天天中文 | 天天摸天天操天天爽 | 久久国产精品影视 | 黄色大全免费网站 | 国产99中文字幕 | 国产黄色成人av | 高清在线一区 | 免费视频久久久 | 免费激情网 | 黄色一级影院 | 国产精品久久久久影院日本 | 日韩久久视频 | 欧美不卡视频在线 | 99精品偷拍视频一区二区三区 | 欧美一级黄色视屏 | 一级a性色生活片久久毛片波多野 | 五月天激情综合 | 在线看黄色av | 国产在线观看xxx | 成人av片在线观看 | 久久草网 | 中文字幕综合在线 | 国产成人精品免高潮在线观看 | 欧美吞精 | 久久这里只有精品视频99 | a久久久久 | 日韩欧美视频在线播放 | 亚洲黄色在线观看 | 97超碰国产在线 | 成片免费观看视频 | av资源在线观看 | 欧美精品乱码久久久久久按摩 | 精品国产片 | 天天天天天天天操 | 丁香视频五月 | 91福利小视频| 国产成人综合在线观看 | 天天操天天干天天插 | 欧美va天堂va视频va在线 | 中文字幕中文字幕在线中文字幕三区 | 欧美韩日在线 | .国产精品成人自产拍在线观看6 | 丰满少妇麻豆av | 久久99电影 | 99精品国产99久久久久久福利 | 国产精品一区二区av日韩在线 | 日韩精品视频免费在线观看 | 午夜电影久久久 | 国产精品成久久久久三级 | 黄色网大全 | 国产精品激情在线观看 | 久久久国产精品一区二区中文 | 黄色在线网站噜噜噜 | 九九热免费视频在线观看 | 欧美极品一区二区三区 | 欧美少妇xxxxxx | 久影院 | 97超碰超碰久久福利超碰 | 精品一区二区三区久久久 | 99热在| 99国产在线观看 | 天天操夜夜叫 | 99精品视频一区 | 日本中文字幕免费观看 | 午夜丁香视频在线观看 | 日韩美女av在线 | 免费的黄色av | 亚洲视频一级 | 成人久久久久久久久 | www视频免费在线观看 | 欧美日本不卡高清 | 欧美色黄 | 蜜桃av人人夜夜澡人人爽 | 一级黄色片在线 | 国产精品久久久久久久午夜片 | 亚洲精品国产精品国自产 | 碰超在线 | 国产黄色大全 | 色视频网站免费观看 | 在线a亚洲视频播放在线观看 | 国产精品密入口果冻 | 色综合久久网 | 99久久99久久 | 欧美日韩高清一区二区 | 亚洲欧洲精品一区二区精品久久久 | 91精品国产91 | 久久成人麻豆午夜电影 | 天天看天天干天天操 | 欧美成人xxxxx| 国产精品综合在线 | 日韩av一卡二卡三卡 | 精品视频9999 | 丝袜+亚洲+另类+欧美+变态 | 婷婷色狠狠 | 亚洲国产一区在线观看 | 中文字幕视频一区二区 | 黄色在线看网站 | 欧美中文字幕久久 | 中文字幕视频播放 | 欧美日韩免费看 | 欧美日韩免费视频 | 成年人国产视频 | 日韩精品久久久久久久电影竹菊 | 亚洲免费专区 | 97视频免费观看 | 婷婷丁香狠狠爱 | 久久99久久精品 | 免费看片网址 | 久久视精品 | 国产在线精品一区 | 色综合色综合久久综合频道88 | 日韩精品一区二区在线观看视频 | 狠狠色狠狠色综合日日92 | 成人av免费在线看 | 日韩中文字幕在线不卡 | 99久久精品国产免费看不卡 | 毛片永久免费 | 国产黄大片在线观看 | 亚洲国产精品久久久 | 国产91在线免费视频 | 日日干夜夜骑 | 97超碰成人在线 | 国产区网址 | 99色在线观看视频 | 亚洲一级影院 | 国产手机在线观看 | 99热这里只有精品在线观看 | 91精品秘密在线观看 | 久草免费手机视频 | 亚洲少妇激情 | 免费日韩一区 | 成人免费视频网站 | 国产特级毛片aaaaaa毛片 | 视频成人永久免费视频 | 中文字幕日韩国产 | 国产二区视频在线 | 成人黄色在线观看视频 | 黄色资源网站 | www亚洲国产 | 韩国av一区二区三区在线观看 | 一级全黄毛片 | 天天天综合 | 欧美另类交人妖 | 久久免费视频6 | 精品一区 在线 | japanesexxxhd奶水| 日本久久影视 | 天天舔天天射天天操 | 99在线观看精品 | 免费在线日韩 | www.玖玖玖 | 久久久久久不卡 | 久久国产亚洲精品 | 一区二区三区电影在线播 | 欧美一级日韩免费不卡 | 在线国产视频观看 | 91夜夜夜 | 久草视频手机在线 | 夜夜高潮夜夜爽国产伦精品 | 亚洲精品中文字幕在线观看 | 久久av高清 | av大全免费在线观看 | 91在线精品一区二区 | 国产精品久久久久久久久久久不卡 | 六月婷操 | 国产精品久久久久久久久久久不卡 | 久久免费精品 | 久久久免费毛片 | 波多野结衣在线观看视频 | 国产黄色片免费 | 国产一线二线三线性视频 | 在线观看av片 | 夜夜骑天天操 | 免费在线观看成人小视频 | 久久久久久片 | 国产亚洲欧洲 | 亚洲欧美激情插 | 亚洲人在线视频 | 国产精品对白一区二区三区 | 国产精品免费久久久 | 国产精品一区二区三区久久久 | 免费成人在线观看视频 | 97国产在线播放 | 国内精品久久久久影院一蜜桃 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 成人免费视频网站 | 国产亚洲精品免费 | 超碰免费成人 | www.天天操 | 久久久影院官网 | 美女又爽又黄 | 毛片美女网站 | 国产精品白浆视频 | 午夜精品久久久久久久久久久 | 久久国产免 | 五月婷婷六月丁香激情 | 精品久久国产精品 | 天天爽夜夜爽人人爽曰av | 黄色99视频 | 成年人免费观看在线视频 | 99热精品久久 | 成人永久视频 | 成人国产精品久久久久久亚洲 | 久久久久成人精品亚洲国产 | 美女黄视频免费看 | 亚洲天堂视频在线 | 欧美日韩国产三级 | 97精品国产一二三产区 | 午夜电影久久久 | 免费毛片一区二区三区久久久 | 999久久久久久 | 久久国产亚洲精品 | 日韩1页| 麻花豆传媒mv在线观看网站 | 久久精品一二三区白丝高潮 | 国产精品久久久久久久久费观看 | 天天天色 | 成人av电影在线 | 日本三级国产 | 欧美日韩免费一区二区 | 久久精品五月 | 一级a性色生活片久久毛片波多野 | 久久婷婷视频 | 久久av伊人 | 久久99爱视频 | 国产精品福利av | 爱干视频 | 国产精品区在线观看 | 久久有精品 | 8x成人在线 | 国产免费又爽又刺激在线观看 | 久久久久久久99 | 久久久久国产一区二区三区四区 | 国产精品都在这里 | 中文字幕之中文字幕 | 免费91在线 | 欧美日韩免费看 | 爱爱一区 | 成人亚洲精品国产www | 国产精品久久久久毛片大屁完整版 | 日韩欧美一区二区三区免费观看 | 绯色av一区 | 婷婷综合网 | 久久久亚洲麻豆日韩精品一区三区 | 欧美日韩中文字幕在线视频 | 亚洲国产中文字幕在线观看 | 国产精品美女久久 | 久草视频免费在线观看 | av电影中文字幕在线观看 | 夜夜骑首页 | 精品国产免费一区二区三区五区 | 日韩高清不卡一区二区三区 | 黄色一级大片免费看 | 久久久久成人免费 | 国产999精品视频 | 在线免费观看黄色大片 | 99免费在线播放99久久免费 | 国产精品69av| 亚洲区视频在线 | 成年人在线观看免费视频 | 91福利视频在线 | 天天操夜夜操天天射 | 玖玖在线观看视频 | 不卡视频在线看 | 色噜噜日韩精品欧美一区二区 | 免费高清在线观看成人 | 伊人资源站 | 国产福利av在线 | 黄网av在线| 免费日韩一区二区三区 | 欧美日韩不卡在线 | 国精产品999国精产 久久久久 | 日韩欧美精品在线观看 | 国内精品久久久久国产 | 在线视频 精品 | 欧美色就是色 | 国产精品国产毛片 | av中文字幕第一页 | 日韩av电影免费观看 | 人人爽人人看 | 五月天免费网站 | 国产中文字幕在线 | 中文字幕在线有码 | 99久久久国产精品 | 国产精品专区一 | 国产精品1区| 亚洲视频观看 | 亚洲专区欧美 | 日韩精品aaa| 国产视频亚洲视频 | 综合网天天色 | 丁香婷婷在线观看 | 久久综合久久综合九色 | 视频一区视频二区在线观看 | 成人小视频在线免费观看 | 不卡视频在线 | 色姑娘综合 | 久草在线久草在线2 | 麻豆视频免费播放 | 精品国产99 | 91成人亚洲| 日韩 在线a | av在线影片 | 91刺激视频 | 欧美日韩国产精品一区二区三区 | av高清影院 | 精品国产乱码久久久久 | 51久久成人国产精品麻豆 | 天天射成人| 久久午夜鲁丝片 | 中文字幕黄色 | 欧美91在线 | 波多野结衣一区三区 | 国产在线精品区 | 国产无吗一区二区三区在线欢 | 在线中文字幕播放 | 欧美一二区在线 | 91精品区 | 少妇bbbb| 91精品视频一区二区三区 | 婷婷婷国产在线视频 | a视频在线观看免费 | 国产视频精品免费播放 | 久久五月天婷婷 | 91热视频在线观看 | 亚洲精品456在线播放乱码 | 久久九精品 | 91精品高清| 中文字幕av免费观看 | 在线播放亚洲 | 午夜免费在线观看 | 国产一级小视频 | 视频在线国产 | 96在线| 亚洲国产影院av久久久久 | 日本在线成人 | 亚洲国产精品久久久久 | 久久精品视频在线免费观看 | 天天躁日日躁狠狠躁 | 国产日产精品一区二区三区四区 | 2019中文字幕第一页 | 九九热精品国产 | 婷婷色中文 | 久久久国产精品电影 | 中文字幕在线看 | 久爱综合 | 99免费看片 | 国产老妇av | 久久久综合香蕉尹人综合网 | 免费在线中文字幕 | 91亚洲狠狠婷婷综合久久久 | www.99在线观看 | 天天碰天天操视频 | 97成人啪啪网 | 久久这里只有精品23 | 国产日韩欧美精品在线观看 | 国产精品手机播放 | 91黄色影视 | 成人天堂网 | 久久视了 | 三级黄色在线 | 99热精品国产一区二区在线观看 | 日日摸日日添日日躁av | 在线观看亚洲国产精品 | 婷婷色资源 | 97成人在线观看 | 国产香蕉av | 91探花系列在线播放 | 美女网站在线免费观看 | 国产精品女同一区二区三区久久夜 | 亚洲国产成人在线 | 国产91大片| 亚洲视频在线看 | 日韩激情小视频 | 亚洲色图22p | 麻豆视频国产精品 | 国产资源免费 | 一级片免费观看 | 日韩狠狠操 | 国产色就色| 999精品 | 五月天中文字幕 | 456成人精品影院 | 成人欧美日韩国产 | 成人av资源网站 | 最新成人av | 日韩国产欧美在线播放 | 就要干b| 国产精品毛片一区二区三区 | 亚洲男男gaygayxxxgv | 天天操天天添天天吹 | 成年人免费电影在线观看 | 国产亚洲一级高清 | 九九热免费视频在线观看 | 国产高清在线免费观看 | 四虎永久精品在线 | 亚洲精品视频在线免费 | 欧美一区,二区 | 欧美乱码精品一区 | 中文字幕国产一区 | 久久国产亚洲 | 干亚洲少妇 | 成人a视频片观看免费 | 最近中文字幕国语免费高清6 | 色婷婷成人网 | 午夜精品久久久 | 91视频麻豆| 97精品国自产拍在线观看 | 亚洲色图色 | 欧美专区日韩专区 | 在线导航av | 色婷婷丁香 | 国产一区二区电影在线观看 | 四虎影视成人精品国库在线观看 | 色综久久 | 欧美日韩国产网站 | 狠狠搞,com| 久久的色| 久久久久久97三级 | 黄色国产高清 | 国产一区二区在线观看免费 | 超碰在线最新 | 亚洲波多野结衣 | 91社区国产高清 | 996久久国产精品线观看 | 久久成人免费视频 | 国产91精品在线播放 | 香蕉在线播放 | 99视频在线观看免费 | 美女精品 | 韩国av一区二区三区 | 麻豆91在线观看 | 在线视频日韩 | 久久久一本精品99久久精品66 | 中文不卡视频在线 | 久久精品国产99国产 | 日韩精品免费一区二区三区 | 91最新视频在线观看 | 免费观看的黄色 | 玖草在线观看 | 久久婷婷五月综合色丁香 | 四虎影视成人精品国库在线观看 | 天天爱天天色 | 国产精品福利在线播放 | 91丨九色丨蝌蚪丨老版 | 午夜色婷婷| 国产亚洲精品久久久久久移动网络 | 久久久999免费视频 日韩网站在线 |