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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

HashMap源代码深入剖析

發(fā)布時(shí)間:2024/1/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HashMap源代码深入剖析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 概述

首先從一個(gè)例子來開始HashMap的學(xué)習(xí)

public class Test {public static void main(String[] args) {Map<String, Integer> map = new HashMap<String, Integer>();map.put("語文", 1);map.put("數(shù)學(xué)", 2);map.put("英語", 3);map.put("歷史", 4);map.put("政治", 5);map.put("地理", 6);map.put("生物", 7);map.put("化學(xué)", 8);for (Map.Entry<String, Integer> entry : map.entrySet()) {System.out.println(entry.getKey() + ": " + entry.getValue());}} }

?程序的運(yùn)行結(jié)果:

政治: 5 生物: 7 歷史: 4 數(shù)學(xué): 2 化學(xué): 8 語文: 1 英語: 3 地理: 6

發(fā)生了什么呢?下面是一個(gè)大致的結(jié)構(gòu),希望我們對HashMap的結(jié)構(gòu)有一個(gè)感性的認(rèn)識:

補(bǔ)充:

hash值對16取模的結(jié)果:

831312%16=0

828410%16=10

682778%16=10

從圖中可以看出:?

(01)HashMap繼承于AbstractMap類,實(shí)現(xiàn)了Map接口。Map是"key-value鍵值對"接口,AbstractMap實(shí)現(xiàn)了"鍵值對"的通用函數(shù)接口。
(02)HashMap是通過"拉鏈法"實(shí)現(xiàn)的哈希表。它包括幾個(gè)重要的成員變量:table, size, threshold, loadFactor, modCount。
table是一個(gè)Node[]數(shù)組類型,而Node(7中叫Entry)實(shí)際上就是一個(gè)單向鏈表。哈希表的"key-value鍵值對"都是存儲在Node數(shù)組中的。
size是HashMap的大小,它是HashMap保存的鍵值對的數(shù)量。
threshold是HashMap的閾值,用于判斷是否需要調(diào)整HashMap的容量。threshold的值="容量*加載因子",當(dāng)HashMap中存儲數(shù)據(jù)的數(shù)量達(dá)到threshold時(shí),就需要將HashMap的容量加倍。
loadFactor就是加載因子。
modCount是用來實(shí)現(xiàn)fail-fast機(jī)制的。

在官方文檔中是這樣描述HashMap的:

Hash table based implementation of the Map interface. This implementation provides all of the optional map operations, and permits null values and the null key. (The HashMap class is roughly equivalent to Hashtable, except that it is unsynchronized and permits nulls.) This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time.

幾個(gè)關(guān)鍵的信息:基于Map接口實(shí)現(xiàn)、允許null鍵/值、非同步、不保證有序、也不保證序不隨時(shí)間變化。

2. 影響HashMap實(shí)例性能的兩個(gè)參數(shù)

在HashMap中有兩個(gè)很重要的參數(shù)會(huì)影響HashMap的性能,初始容量(initial capacity)和負(fù)載因子(Load factor)

The capacity is the number of buckets in the hash table, and the initial capacity is simply the capacity at the time the hash table is created. The load factor is a measure of how full the hash table is allowed to get before its capacity is automatically increased. When the number of entries in the hash table exceeds the product of the load factor and the current capacity, the hash table is rehashed (that is, internal data structures are rebuilt) so that the hash table has approximately twice the number of buckets.

hashMap 的實(shí)例有兩個(gè)參數(shù)影響其性能:"初始容量" 和 "加載因子"。容量是哈希表中桶的數(shù)量,初始容量只是哈希表在創(chuàng)建時(shí)的容量。加載因子是哈希表在其容量自動(dòng)增加之前可以達(dá)到多滿的一種尺度。當(dāng)哈希表中的條目數(shù)超出了加載因子與當(dāng)前容量的乘積時(shí),則要對該哈希表進(jìn)行rehash操作(即重建內(nèi)部數(shù)據(jù)結(jié)構(gòu)),從而哈希表將具有大約兩倍的桶數(shù)。

通常,默認(rèn)加載因子是0.75, 這是在時(shí)間和空間成本上尋求一種折衷。加載因子過高雖然減少了空間開銷,但同時(shí)也增加了查詢成本(在大多數(shù) HashMap 類的操作中,包括get 和put操作,都反映了這一點(diǎn))。在設(shè)置初始容量時(shí)應(yīng)該考慮到映射中所需的條目數(shù)及其加載因子,以便最大限度地減少rehash操作次數(shù)。如果初始容量大于最大條目數(shù)除以加載因子,則不會(huì)發(fā)生 rehash 操作。

3. put函數(shù)的實(shí)現(xiàn)

put函數(shù)大致的思路為:
(1)對key的hashCode()做hash,然后再計(jì)算index;
(2)如果沒碰撞直接放到bucket里;
(3)如果碰撞了,以鏈表的形式存在buckets后;
(4)如果碰撞導(dǎo)致鏈表過長(大于等于TREEIFY_THRESHOLD),就把鏈表轉(zhuǎn)換成紅黑樹;
(5)如果節(jié)點(diǎn)已經(jīng)存在就替換old value(保證key的唯一性)
(6)如果bucket滿了(超過load factor*current capacity),就要resize。

具體代碼的實(shí)現(xiàn)如下:

public V put(K key, V value) {// 對key的hashCode()做hashreturn putVal(hash(key), key, value, false, true); }final V putVal(int hash, K key, V value, boolean onlyIfAbsent,boolean evict) {Node<K,V>[] tab; Node<K,V> p; int n, i;// tab為空則創(chuàng)建if ((tab = table) == null || (n = tab.length) == 0)n = (tab = resize()).length;// 計(jì)算index,并對null做處理if ((p = tab[i = (n - 1) & hash]) == null)tab[i] = newNode(hash, key, value, null);else {Node<K,V> e; K k;// 節(jié)點(diǎn)存在if (p.hash == hash &&((k = p.key) == key || (key != null && key.equals(k))))e = p;// 該鏈為樹else if (p instanceof TreeNode)e = ((TreeNode<K,V>)p).putTreeVal(this, tab, hash, key, value);// 該鏈為鏈表else {for (int binCount = 0; ; ++binCount) {if ((e = p.next) == null) {p.next = newNode(hash, key, value, null);if (binCount >= TREEIFY_THRESHOLD - 1) // -1 for 1st treeifyBin(tab, hash);break;}if (e.hash == hash &&((k = e.key) == key || (key != null && key.equals(k))))break;p = e;}}// 寫入if (e != null) { // existing mapping for keyV oldValue = e.value;if (!onlyIfAbsent || oldValue == null)e.value = value;afterNodeAccess(e);return oldValue;}}++modCount;// 超過load factor*current capacity,resizeif (++size > threshold)resize();afterNodeInsertion(evict);return null; }

4. get函數(shù)的實(shí)現(xiàn)

在理解了put之后,get就很簡單了。大致思路如下:
(1)bucket里的第一個(gè)節(jié)點(diǎn),直接命中;
(2)如果有沖突,則通過key.equals(k)去查找對應(yīng)的entry
若為樹,則在樹中通過key.equals(k)查找,O(logn);
若為鏈表,則在鏈表中通過key.equals(k)查找,O(n)。

具體代碼的實(shí)現(xiàn)如下:

public V get(Object key) {Node<K,V> e;return (e = getNode(hash(key), key)) == null ? null : e.value; }final Node<K,V> getNode(int hash, Object key) {Node<K,V>[] tab; Node<K,V> first, e; int n; K k;if ((tab = table) != null && (n = tab.length) > 0 &&(first = tab[(n - 1) & hash]) != null) {// 直接命中if (first.hash == hash && // always check first node((k = first.key) == key || (key != null && key.equals(k))))return first;// 未命中if ((e = first.next) != null) {// 在樹中g(shù)etif (first instanceof TreeNode)return ((TreeNode<K,V>)first).getTreeNode(hash, key);// 在鏈表中g(shù)etdo {if (e.hash == hash &&((k = e.key) == key || (key != null && key.equals(k))))return e;} while ((e = e.next) != null);}}return null; }

5. hash函數(shù)的實(shí)現(xiàn)

在get和put的過程中,計(jì)算下標(biāo)時(shí),先對hashCode進(jìn)行hash操作,然后再通過hash值進(jìn)一步計(jì)算下標(biāo),

在對hashCode()計(jì)算hash時(shí)具體實(shí)現(xiàn)是這樣的:

?

static final int hash(Object key) {int h;return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); }

?

如下圖所示:

可以看到這個(gè)函數(shù)大概的作用就是:高16bit不變,低16bit和高16bit做了一個(gè)異或。其中代碼注釋是這樣寫的:

?

Computes key.hashCode() and spreads (XORs) higher bits of hash to lower. Because the table uses power-of-two masking, sets of hashes that vary only in bits above the current mask will always collide. (Among known examples are sets of Float keys holding consecutive whole numbers in small tables.) So we apply a transform that spreads the impact of higher bits downward. There is a tradeoff between speed, utility, and quality of bit-spreading. Because many common sets of hashes are already reasonably distributed (so don't benefit from spreading), and because we use trees to handle large sets of collisions in bins, we just XOR some shifted bits in the cheapest possible way to reduce systematic lossage, as well as to incorporate impact of the highest bits that would otherwise never be used in index calculations because of table bounds.

?

在設(shè)計(jì)hash函數(shù)時(shí),因?yàn)槟壳暗膖able長度n為2的冪,而計(jì)算下標(biāo)的時(shí)候,是這樣實(shí)現(xiàn)的(使用&位操作,而非%求余):

(n - 1) & hash

設(shè)計(jì)者認(rèn)為這方法很容易發(fā)生碰撞。為什么這么說呢?不妨思考一下,在n - 1為15(1111)時(shí),其實(shí)散列真正生效的只是低4bit的有效位,當(dāng)然容易碰撞了。

因此,設(shè)計(jì)者想了一個(gè)顧全大局的方法(綜合考慮了速度、作用、質(zhì)量),就是把高16bit和低16bit異或了一下。設(shè)計(jì)者還解釋到因?yàn)楝F(xiàn)在大多數(shù)的hashCode的分布已經(jīng)很不錯(cuò)了,就算是發(fā)生了碰撞也用O(logn)的tree去做了。僅僅異或一下,既減少了系統(tǒng)的開銷,也不會(huì)造成因?yàn)楦呶粵]有參與下標(biāo)的計(jì)算(table長度比較小時(shí)),從而引起的碰撞。

之前已經(jīng)提過,在獲取HashMap的元素時(shí),基本分兩步:

  • 首先根據(jù)hashCode()做hash,然后確定bucket的index;
  • 如果bucket的節(jié)點(diǎn)的key不是我們需要的,則通過keys.equals()在鏈中找。
  • 在Java 8之前的實(shí)現(xiàn)中是用鏈表解決沖突的,在產(chǎn)生碰撞的情況下,進(jìn)行g(shù)et時(shí),兩步的時(shí)間復(fù)雜度是O(1)+O(n)。因此,當(dāng)碰撞很厲害的時(shí)候n很大,O(n)的速度顯然是影響速度的。

    因此在Java 8中,利用紅黑樹替換鏈表,這樣復(fù)雜度就變成了O(1)+O(logn)了,這樣在n很大的時(shí)候,能夠比較理想的解決這個(gè)問題,在Java 8:HashMap的性能提升一文中有性能測試的結(jié)果。

    6. resize的實(shí)現(xiàn)

    當(dāng)put時(shí),如果發(fā)現(xiàn)目前的bucket占用程度已經(jīng)超過了Load Factor所希望的比例,那么就會(huì)發(fā)生resize。在resize的過程,簡單的說就是把bucket擴(kuò)充為2倍,之后重新計(jì)算index,把節(jié)點(diǎn)再放到新的bucket中。resize的注釋是這樣描述的:

    Initializes or doubles table size. If null, allocates in accord with initial capacity target held in field threshold. Otherwise,
    because we are using power-of-two expansion, the elements from each bin must either stay
    at same index, or move with a power of two offset in the new table.

    大致意思就是說,當(dāng)超過限制的時(shí)候會(huì)resize,然而又因?yàn)槲覀兪褂玫氖?次冪的擴(kuò)展(指長度擴(kuò)為原來2倍),所以,元素的位置要么是在原位置,要么是在原位置再移動(dòng)2次冪的位置。

    怎么理解呢?例如我們從16擴(kuò)展為32時(shí),具體的變化如下所示:

    因此元素在重新計(jì)算hash之后,因?yàn)閚變?yōu)?倍,那么n-1的mask范圍在高位多1bit(紅色),因此新的index就會(huì)發(fā)生這樣的變化:

    因此,我們在擴(kuò)充HashMap的時(shí)候,不需要重新計(jì)算hash,只需要看看原來的hash值新增的那個(gè)bit是1還是0就好了,是0的話索引沒變,是1的話索引變成“原索引+oldCap”。可以看看下圖為16擴(kuò)充為32的resize示意圖:

    這個(gè)設(shè)計(jì)確實(shí)非常的巧妙,既省去了重新計(jì)算hash值的時(shí)間,而且同時(shí),由于新增的1bit是0還是1可以認(rèn)為是隨機(jī)的,因此resize的過程,均勻的把之前的沖突的節(jié)點(diǎn)分散到新的bucket了。

    下面是代碼的具體實(shí)現(xiàn):

    final Node<K,V>[] resize() {Node<K,V>[] oldTab = table;int oldCap = (oldTab == null) ? 0 : oldTab.length;int oldThr = threshold;int newCap, newThr = 0;if (oldCap > 0) {// 超過最大值就不再擴(kuò)充了,就只好隨你碰撞去吧if (oldCap >= MAXIMUM_CAPACITY) {threshold = Integer.MAX_VALUE;return oldTab;}// 沒超過最大值,就擴(kuò)充為原來的2倍else if ((newCap = oldCap << 1) < MAXIMUM_CAPACITY &&oldCap >= DEFAULT_INITIAL_CAPACITY)newThr = oldThr << 1; // double threshold }else if (oldThr > 0) // initial capacity was placed in thresholdnewCap = oldThr;else { // zero initial threshold signifies using defaultsnewCap = DEFAULT_INITIAL_CAPACITY;newThr = (int)(DEFAULT_LOAD_FACTOR * DEFAULT_INITIAL_CAPACITY);}// 計(jì)算新的resize上限if (newThr == 0) {float ft = (float)newCap * loadFactor;newThr = (newCap < MAXIMUM_CAPACITY && ft < (float)MAXIMUM_CAPACITY ?(int)ft : Integer.MAX_VALUE);}threshold = newThr;@SuppressWarnings({"rawtypes","unchecked"})Node<K,V>[] newTab = (Node<K,V>[])new Node[newCap];table = newTab;if (oldTab != null) {// 把每個(gè)bucket都移動(dòng)到新的buckets中for (int j = 0; j < oldCap; ++j) {Node<K,V> e;if ((e = oldTab[j]) != null) {oldTab[j] = null;if (e.next == null)newTab[e.hash & (newCap - 1)] = e;else if (e instanceof TreeNode)((TreeNode<K,V>)e).split(this, newTab, j, oldCap);else { // preserve orderNode<K,V> loHead = null, loTail = null;Node<K,V> hiHead = null, hiTail = null;Node<K,V> next;do {next = e.next;// 原索引if ((e.hash & oldCap) == 0) {if (loTail == null)loHead = e;elseloTail.next = e;loTail = e;}// 原索引+oldCapelse {if (hiTail == null)hiHead = e;elsehiTail.next = e;hiTail = e;}} while ((e = next) != null);// 原索引放到bucket里if (loTail != null) {loTail.next = null;newTab[j] = loHead;}// 原索引+oldCap放到bucket里if (hiTail != null) {hiTail.next = null;newTab[j + oldCap] = hiHead;}}}}}return newTab; }

    7. 總結(jié)

    1. 什么時(shí)候會(huì)使用HashMap?他有什么特點(diǎn)?
    是基于Map接口的實(shí)現(xiàn),存儲鍵值對時(shí),它可以接收null的鍵值,是非同步的,HashMap存儲著Entry(hash, key, value, next)對象。

    2. 你知道HashMap的工作原理嗎?
    通過hash的方法,通過put和get存儲和獲取對象。存儲對象時(shí),我們將K/V傳給put方法時(shí),它調(diào)用hashCode計(jì)算hash從而得到bucket位置,進(jìn)一步存儲,HashMap會(huì)根據(jù)當(dāng)前 bucket的占用情況自動(dòng)調(diào)整容量(超過Load Facotr則resize為原來的2倍)。獲取對象時(shí),我們將K傳給get,它調(diào)用hashCode計(jì)算hash從而得到bucket位置,并進(jìn)一步調(diào) 用equals()方法確定鍵值對。如果發(fā)生碰撞的時(shí)候,Hashmap通過鏈表將產(chǎn)生碰撞沖突的元素組織起來,在Java 8中,如果一個(gè)bucket中碰撞沖突的元素超過某個(gè)限制(默認(rèn)是8),則使用紅黑樹來替換鏈表,從而提高速度。

    3. 你知道get和put的原理嗎?equals()和hashCode()的都有什么作用?
    通過對key的hashCode()進(jìn)行hashing,并計(jì)算下標(biāo)( n-1 & hash),從而獲得buckets的位置。如果產(chǎn)生碰撞,則利用key.equals()方法去鏈表或樹中去查找對應(yīng)的節(jié)點(diǎn)

    4. 你知道hash的實(shí)現(xiàn)嗎?為什么要這樣實(shí)現(xiàn)?
    在Java 1.8的實(shí)現(xiàn)中,是通過hashCode()的高16位異或低16位實(shí)現(xiàn)的:(h = k.hashCode()) ^ (h >>> 16),主要是從速度、功效、質(zhì)量來考慮的,這么做可以在bucket的n比較小的時(shí)候,也能保證考慮到高低bit都參與到hash的計(jì)算中,同時(shí)不會(huì)有太大的開銷。

    5. 如果HashMap的大小超過了負(fù)載因子(load factor)定義的容量,怎么辦?
    如果超過了負(fù)載因子(默認(rèn)0.75),則會(huì)重新resize一個(gè)原來長度兩倍的HashMap,并且重新調(diào)用hash方法。

    關(guān)于Java集合的小抄中是這樣描述的:

    以Entry[]數(shù)組實(shí)現(xiàn)的哈希桶數(shù)組,用Key的哈希值取模桶數(shù)組的大小可得到數(shù)組下標(biāo)。插入元素時(shí),如果兩條Key落在同一個(gè)桶(比如哈希值1和17取模16后都屬于第一個(gè)哈希桶),Entry用一個(gè)next屬性實(shí)現(xiàn)多個(gè)Entry以單向鏈表存放,后入桶的Entry將next指向桶當(dāng)前的Entry。查找哈希值為17的key時(shí),先定位到第一個(gè)哈希桶,然后以鏈表遍歷桶里所有元素,逐個(gè)比較其key值。當(dāng)Entry數(shù)量達(dá)到桶數(shù)量的75%時(shí)(很多文章說使用的桶數(shù)量達(dá)到了75%,但看代碼不是),會(huì)成倍擴(kuò)容桶數(shù)組,并重新分配所有原來的Entry,所以這里也最好有個(gè)預(yù)估值。取模用位運(yùn)算(hash & (arrayLength-1))會(huì)比較快,所以數(shù)組的大小永遠(yuǎn)是2的N次方, 你隨便給一個(gè)初始值比如17會(huì)轉(zhuǎn)為32。默認(rèn)第一次放入元素時(shí)的初始值是16。iterator()時(shí)順著哈希桶數(shù)組來遍歷,看起來是個(gè)亂序。在JDK8里,新增默認(rèn)為8的閥值,當(dāng)一個(gè)桶里的Entry超過閥值,就不以單向鏈表而以紅黑樹來存放以加快Key的查找速度。

    參考:

    http://yikun.github.io/2015/04/01/Java-HashMap%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE%9E%E7%8E%B0/

    總結(jié)

    以上是生活随笔為你收集整理的HashMap源代码深入剖析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    国产小视频免费观看 | 日韩欧美在线高清 | 激情黄色一级片 | 久久呀 | 99精品在线免费 | 日韩免费在线视频 | 免费亚洲精品 | 国产美女网站视频 | 亚洲欧洲精品一区 | 久久精品综合视频 | 国产电影黄色av | 久久久亚洲麻豆日韩精品一区三区 | 干 操 插 | 色姑娘综合网 | 日韩网站中文字幕 | 主播av在线 | 色噜噜日韩精品一区二区三区视频 | 日韩成人中文字幕 | 97超碰在线资源 | 天天草天天操 | 亚洲国产三级在线 | 亚洲国产三级在线观看 | 精品视频不卡 | 91av播放 | 久久夜色网 | 久久久久高清 | 欧美人交a欧美精品 | 欧美精品在线观看一区 | 欧美成人性战久久 | japanese黑人亚洲人4k | 亚洲三级视频 | 亚洲日本在线一区 | 午夜精品福利一区二区三区蜜桃 | 麻豆久久久久久久 | 久久精品亚洲综合专区 | 色综合中文字幕 | 亚洲国产成人久久 | 91探花在线| 国产成人精品在线 | 国产精品高潮呻吟久久av无 | 国内丰满少妇猛烈精品播放 | 国产亚洲人成网站在线观看 | 91亚洲狠狠婷婷综合久久久 | 亚洲综合在线五月天 | 欧美一级片免费在线观看 | 成人久久18免费网站麻豆 | 国产人在线成免费视频 | 国产精品久久久久亚洲影视 | 久久久国产精品免费 | 国产精品免费不 | 欧美激情视频一二区 | 黄av资源 | 在线免费亚洲 | 欧美日韩不卡在线视频 | 青春草视频在线播放 | 婷婷香蕉| 亚洲国产最新 | 国产精品女人久久久久久 | 成人wwwxxx视频 | 欧美色久| 五月天婷婷在线视频 | 91私密视频| 91视频亚洲 | 在线色视频小说 | 亚洲夜夜网 | 国产视频一区二区三区在线 | 久久视频这里只有精品 | 日韩欧美高清 | 色综合久久久久综合99 | 久久精品免费观看 | 婷婷久月 | 综合中文字幕 | 国产又黄又硬又爽 | 天天色综合1 | 国产日韩中文在线 | 99久久国产免费看 | 欧美极度另类 | 一本一道波多野毛片中文在线 | 在线观看香蕉视频 | 日韩欧美视频在线播放 | 久久久亚洲成人 | 久久久久久久久久毛片 | 国产成人一区二 | 中文字幕在线播放av | 天天干夜夜爱 | 精品1区二区 | 在线婷婷 | 啪啪肉肉污av国网站 | 欧美精品xxx | 色中色综合 | 久草视频在线看 | 日韩欧美观看 | 久草在线资源观看 | 免费在线电影网址大全 | 日韩中文字幕网站 | 亚洲精品高清一区二区三区四区 | 中文字幕人成乱码在线观看 | www.夜色321.com| 免费黄色网址网站 | 九九爱免费视频 | 337p西西人体大胆瓣开下部 | 欧美日韩国产精品爽爽 | 激情欧美日韩一区二区 | 99久久久成人国产精品 | 爱干视频| 国际精品久久久久 | 在线观看视频你懂的 | av观看在线观看 | 最近能播放的中文字幕 | 国产精品入口久久 | 欧美视频www | 免费在线播放黄色 | 欧美成年黄网站色视频 | a在线观看国产 | 国产精品美女在线 | www.在线看片.com | 国产99久久久精品 | 亚洲成年人在线播放 | 日韩在线观看一区二区 | 国产精品手机播放 | 久久久综合色 | 久久99亚洲精品久久 | 久久国产精品精品国产色婷婷 | 在线小视频 | 精品国产精品一区二区夜夜嗨 | 99视频精品在线 | 黄色免费大全 | 中文字幕在线观看视频一区 | 欧美成人性战久久 | 久99热| 一区二区电影在线观看 | 日韩1页| 日韩av不卡在线观看 | 国产成人久久精品一区二区三区 | 久久伊人婷婷 | 久草资源在线观看 | 日韩视频免费 | 国产成人精品久 | 天天天天天天天天操 | 91久久爱热色涩涩 | 久久高清av | 91av视屏| 久久免费精品国产 | 日韩理论片 | 天天天天综合 | 欧美精品二 | 亚洲乱码中文字幕综合 | 日日操日日插 | 精品影院一区二区久久久 | 精品中文字幕在线观看 | 成人免费毛片aaaaaa片 | 人人cao| 亚洲激情校园春色 | 国产免码va在线观看免费 | 91传媒免费在线观看 | 日韩欧美高清免费 | 91亚洲欧美激情 | 91人人揉日日捏人人看 | 337p西西人体大胆瓣开下部 | 美国av大片 | 91污污视频在线观看 | 日产中文字幕 | 欧美视频二区 | 日韩av一区二区在线 | 国产黄色片久久 | 伊人午夜 | 2019久久精品 | 夜夜视频| 在线黄色免费 | 91.麻豆视频 | 在线视频日韩欧美 | 丁香高清视频在线看看 | 精品国产色 | 亚洲国产久 | 中文字幕av最新 | 色综合久久久久综合体 | 日韩在线视频在线观看 | 免费黄色av. | 久久午夜精品 | 国产一级二级在线 | 97超碰在线免费 | 国产免费视频一区二区裸体 | 91久久久久久久一区二区 | 一区二区视频在线免费观看 | 国产不卡在线视频 | 在线观看午夜 | 亚洲色五月 | 成人av在线播放网站 | 可以免费观看的av片 | 久久免费福利视频 | 福利一区视频 | 成人一级片免费看 | 91视频 - x99av | 一区二区三区国产精品 | 国产91精品一区二区绿帽 | 国产精品成人自产拍在线观看 | 99精品视频播放 | 成年美女黄网站色大片免费看 | 久久艹国产 | 天天添夜夜操 | 亚洲精品国产欧美在线观看 | 免费的黄色的网站 | 亚洲视频免费视频 | 欧美激情视频一区二区三区免费 | 五月天狠狠操 | 欧美日韩一区久久 | 精品国产一区二区在线 | 天天色天天上天天操 | 日日精品| 最新婷婷色| 久久精品毛片基地 | 亚洲精品国偷拍自产在线观看 | 国产精品av在线免费观看 | 国产免费观看av | 午夜10000| 国产一区视频在线 | 五月婷婷中文字幕 | 97视频在线观看网址 | 亚洲免费视频在线观看 | 欧美巨大| 国产一级精品在线观看 | 国产区第一页 | 激情久久影院 | 国产成人亚洲在线观看 | 在线日韩三级 | 九九久久免费视频 | 国产成人一区二区三区电影 | 日本久久精品视频 | 欧美韩国日本在线 | 日韩在线 一区二区 | 狠狠色丁香久久婷婷综 | 日韩v欧美v日本v亚洲v国产v | 精品国产午夜 | 91色蜜桃| 亚洲欧美成人综合 | 人人涩 | 国产一级久久久 | 国产精品初高中精品久久 | 九九热免费观看 | 欧美在线视频一区二区三区 | 国产精品一区二区精品视频免费看 | 日韩av成人 | 天堂av在线网 | 男女男视频 | 久久久久久久久久久免费视频 | 00av视频 | 狠狠色丁香婷婷 | 日韩视频区 | 大型av综合网站 | 看片一区二区三区 | 免费亚洲成人 | 一区二区三区福利 | 久久精品99 | 五月天国产精品 | 国产在线精品播放 | 不卡av电影在线观看 | 色婷婷播放 | 亚洲国产午夜视频 | 永久免费观看视频 | 国产99区 | 狠狠干在线 | 午夜精品久久久久久99热明星 | 三级黄色大片在线观看 | 欧美精品做受xxx性少妇 | 免费在线观看不卡av | 91av成人| 日日干精品| 激情av网址 | 亚洲va男人天堂 | 久久97久久97精品免视看 | 五月婷婷亚洲 | 中文字幕91视频 | 香蕉久久久久 | 成人黄色片在线播放 | 亚洲精品国产精品乱码在线观看 | 久久久久中文 | 国产96av | 超碰免费97 | 91麻豆精品国产91久久久久久 | 在线 国产一区 | 夜夜夜夜操 | 婷婷丁香狠狠爱 | 精品国产一区二区三区在线观看 | 成人小视频免费在线观看 | 欧美日韩免费在线视频 | 伊人中文字幕在线 | 日韩字幕在线观看 | 丁五月婷婷 | 久一在线| 天天摸天天弄 | 免费网站观看www在线观看 | 成人av免费在线播放 | 天天操综合 | 欧美一区二区精品在线 | 久久99久久精品国产 | 成人黄大片视频在线观看 | 久久欧美在线电影 | av看片在线观看 | 黄色三级免费看 | 成 人 黄 色 视频 免费观看 | 日韩丝袜在线观看 | 日韩电影久久 | 黄色中文字幕在线 | 色网av | 在线免费黄色av | 免费国产黄线在线观看视频 | 国产在线观看污片 | 精品久久久久久国产91 | 韩国精品一区二区三区六区色诱 | 麻豆影视在线观看 | 欧美影片| 九九精品视频在线观看 | 亚洲视频网站在线观看 | 在线看日韩 | 在线观看电影av | www日韩在线观看 | 男女啪啪网站 | 天天综合久久 | 97精品国产一二三产区 | 欧美精品二 | 91亚色免费视频 | 日日夜夜精品免费 | 亚洲欧美日韩精品一区二区 | 福利视频精品 | 中文字幕在线国产精品 | 欧美在线你懂的 | 久久亚洲婷婷 | 在线成人中文字幕 | 日韩免费不卡av | 成人免费视频观看 | 国产精品99久久免费黑人 | 久久精品一二区 | av三级av | 久一在线 | 久久午夜免费观看 | 色综合久久久久综合99 | 久草综合在线 | 日日夜夜精品视频天天综合网 | 久久在线看 | 91成品视频 | 黄色网址av| av中文在线影视 | 91试看| 久久综合精品国产一区二区三区 | 久久手机免费视频 | 成年人三级网站 | 日韩一区二区免费播放 | 久久久免费 | 欧美日韩不卡在线 | 精品在线观看一区二区 | 精品国产免费久久 | 久久久久 | 四虎在线视频 | 人人天天夜夜 | 亚洲理论在线 | www天天干com | 色偷偷av男人天堂 | 国产精品门事件 | 97人人射 | 欧美久久成人 | 中文在线免费视频 | 亚洲最快最全在线视频 | 91成年人在线观看 | 免费电影一区二区三区 | 欧美激情视频一区二区三区 | 日韩欧美黄色网址 | 黄色小网站在线观看 | 麻豆成人精品视频 | 久久久影院一区二区三区 | 久久久黄视频 | 日本久久高清视频 | 午夜av一区二区三区 | 黄色网址av | 日韩69视频 | 在线黄av | 精品久久久久免费极品大片 | 五月天六月婷婷 | 日日干精品 | 福利视频精品 | 在线 成人| 最新中文字幕在线资源 | 日韩av一区二区三区 | 久久久91精品国产一区二区精品 | 日本最新高清不卡中文字幕 | 91精品国产麻豆国产自产影视 | www.久久免费视频 | 天天射天天干天天爽 | 天天干天天射天天爽 | 欧美网址在线观看 | 久久精品视频在线观看 | 韩国av免费观看 | 亚洲免费av观看 | 国产激情免费 | 天天摸天天弄 | 久久久 精品| 黄色三级免费 | 久久久久一区二区三区四区 | 操操操操网 | 欧美日韩破处 | 国产精品久久久久久久久久不蜜月 | 亚欧洲精品视频在线观看 | 国产精品不卡视频 | 91精品国产乱码在线观看 | 中文av字幕在线观看 | 亚洲电影毛片 | 日韩精品资源 | 国产精品18久久久久久首页狼 | 国产精品成人一区二区 | 五月天精品视频 | 92精品国产成人观看免费 | 欧美一级电影片 | 日韩精品在线视频 | 欧美少妇xxxxxx | 欧美日韩在线精品一区二区 | 欧美日bb| 国产高清绿奴videos | 亚洲一区二区精品视频 | 成人黄色电影在线 | 一区二区三区av在线 | 国产91精品在线播放 | 91网址在线 | 国产精品一区二区三区四区在线观看 | 国产色啪 | 国产成人一级电影 | 国产精品永久在线观看 | 国产精品欧美久久久久天天影视 | 成人午夜黄色影院 | 天天综合久久 | 婷婷伊人综合亚洲综合网 | 九九在线精品视频 | avlulu久久精品 | 91传媒视频在线观看 | 精品福利在线视频 | 在线国产中文字幕 | 日韩国产高清在线 | 久久久91精品国产一区二区精品 | wwwww.国产 | 91亚洲激情 | 成人久久毛片 | 一区在线观看 | 最新国产在线视频 | av先锋影音少妇 | 久久久免费播放 | 国产视频一区在线播放 | 中文免费在线观看 | 九色琪琪久久综合网天天 | 日韩欧美高清视频在线观看 | 在线 视频 亚洲 | 欧产日产国产69 | 色欧美88888久久久久久影院 | 久久久久影视 | 成人一级影视 | 免费在线一区二区三区 | 久久视频国产精品免费视频在线 | av福利网址导航 | 成人一级片免费看 | 精品久久久久_ | 黄色大片免费网站 | 973理论片235影院9 | 国产精品18毛片一区二区 | 2023亚洲精品国偷拍自产在线 | 欧美精品九九99久久 | 国产五月色婷婷六月丁香视频 | 亚洲欧美国产视频 | 亚洲毛片在线观看. | 成人av电影在线 | 九九视频精品在线 | 中文字幕av最新更新 | 亚洲视屏在线播放 | 国产五十路毛片 | 婷婷综合视频 | 精品人人人 | 在线观看av中文字幕 | 香蕉视频在线视频 | 911久久香蕉国产线看观看 | 在线精品视频免费播放 | www.少妇 | 久久在线观看视频 | 狠狠成人| 精壮的侍卫呻吟h | 青草视频在线免费 | 久久久黄色| 亚洲三级在线播放 | 中文字幕在线观看的网站 | 97电影院在线观看 | 亚洲欧洲一区二区在线观看 | 免费看黄在线观看 | 欧美国产日韩在线视频 | 日韩电影一区二区三区 | 精品国产不卡 | 国产玖玖视频 | 四虎在线免费观看 | 免费av网站观看 | 黄色中文字幕 | 欧美久久久久 | 午夜视频一区二区三区 | 国产精品99久久久久久大便 | 国产a免费 | 99色| 免费午夜视频在线观看 | 丁香花在线视频观看免费 | 99热精品久久 | 亚洲国产资源 | 中文字幕在线播放视频 | 久久中文字幕导航 | 精品国产亚洲一区二区麻豆 | 99久久精品免费看国产四区 | 久产久精国产品 | 日韩午夜在线观看 | 亚洲综合小说电影qvod | 久久人人爽人人片av | 日日夜夜精品免费 | 国产综合在线视频 | 国产视频在线观看免费 | 91精品国产91久久久久久三级 | 亚洲综合最新在线 | 亚洲精品欧洲精品 | 久久色视频 | 亚洲精品免费在线观看视频 | 日韩精品免费在线视频 | 99r在线| 天天色天天操综合 | 国产大尺度视频 | 欧美在线视频a | 日韩免费一区二区三区 | 久久视| 天天想夜夜操 | www.eeuss影院av撸 | 久久97久久97精品免视看 | 免费激情在线电影 | 亚洲丝袜一区 | 开心激情婷婷 | 亚洲欧美激情精品一区二区 | 天天操天天操天天干 | 丁香在线观看完整电影视频 | 干干干操操操 | 日韩精品中文字幕在线播放 | 午夜精品久久久久久久久久 | 国产男女无遮挡猛进猛出在线观看 | 91最新网址 | 免费视频久久久 | 就色干综合 | 国产日韩欧美综合在线 | 中文字幕日韩国产 | 国产精品二区在线观看 | 91精品国产91p65 | 午夜精品久久久久久久99 | 91麻豆精品国产91久久久更新时间 | 婷婷五天天在线视频 | 久久精品一区二 | 国产视频亚洲视频 | 成年人看片网站 | 色婷婷国产精品一区在线观看 | 中文字幕 在线看 | 欧美成人69av | 精品在线观看一区二区三区 | 久久久国产影院 | www.com在线观看 | 欧美a√大片 | 精品v亚洲v欧美v高清v | 亚洲 欧美 综合 在线 精品 | 国产精品麻豆三级一区视频 | 国产亚洲永久域名 | 国产综合小视频 | 国产精品一区二区久久久 | 成人va视频 | 亚洲电影第一页av | 亚洲欧美国产精品va在线观看 | 精品96久久久久久中文字幕无 | 国产精品久久久久久久久免费看 | 麻豆果冻剧传媒在线播放 | 91麻豆产精品久久久久久 | 午夜精品久久一牛影视 | 在线 影视 一区 | 亚洲日韩中文字幕 | 91福利视频免费 | 国产精品久久久久久久久久东京 | 久久精品久久久久电影 | 天天插天天操天天干 | 日躁夜躁狠狠躁2001 | 中文欧美字幕免费 | 午夜12点| 成人午夜网| 国产午夜在线观看视频 | 狠狠狠色丁香婷婷综合久久88 | 特级毛片网 | 久久久久免费精品国产 | 免费久久99精品国产 | 国产精品一区二区在线观看免费 | 亚州av网站大全 | 韩日电影在线观看 | 99r精品视频在线观看 | 欧美精品乱码久久久久 | 99精品国产高清在线观看 | 国产伦理久久 | 99精品国产兔费观看久久99 | 国产97在线看 | 在线天堂视频 | 欧美日韩一区二区三区免费视频 | 日本在线观看视频一区 | 色成人亚洲 | 亚洲影院一区 | 久久久久久亚洲精品 | 美女精品在线 | 欧美精品一区二区免费 | 91成人免费电影 | 日本论理电影 | 国产一级电影免费观看 | 中文字幕在线观看国产 | 亚洲欧美日本国产 | 一级黄色片网站 | 在线播放精品一区二区三区 | 五月婷婷久久丁香 | 人人搞人人爽 | 午夜精品一区二区国产 | 午夜婷婷综合 | 久久久久国产精品免费免费搜索 | 九九亚洲精品 | 日日夜夜免费精品 | 天天操天天操天天操 | 激情婷婷av | 91麻豆网站 | 久草视频中文 | 一区二区三区 中文字幕 | 日韩精品中文字幕在线不卡尤物 | 99久久精品国产欧美主题曲 | av电影在线免费 | 国产精品手机看片 | 狠狠干综合网 | 97精品国产97久久久久久春色 | 日韩av成人免费看 | 亚洲在线精品 | 国产精品嫩草55av | 婷婷色在线资源 | 亚洲精品麻豆视频 | av一本久道久久波多野结衣 | 久久夜靖品 | 私人av| 天天做天天爱夜夜爽 | 五月天色婷婷丁香 | 亚洲乱码中文字幕综合 | 日韩动态视频 | 超碰97人人射妻 | 日韩久久久久久久久 | 最近最新最好看中文视频 | 亚洲自拍偷拍色图 | 久久久久久免费 | 91在线视频观看免费 | 国产免费又爽又刺激在线观看 | 色亚洲激情 | 成人在线一区二区 | 欧美一区二区三区四区夜夜大片 | 九九九九热精品免费视频点播观看 | av大片网站| 狠狠色丁香婷婷综合 | av高清网站在线观看 | 伊人五月在线 | 欧美精品久久久久久久久老牛影院 | 激情婷婷欧美 | 亚洲午夜精品一区二区三区电影院 | 成人黄色小说视频 | 国产精品成人国产乱一区 | 99精品免费在线观看 | 日本婷婷色 | 麻豆网站免费观看 | 国产精品资源在线观看 | 国产精品久久99综合免费观看尤物 | 国产 日韩 在线 亚洲 字幕 中文 | 久久久久看片 | 九九九九九九精品任你躁 | 免费av试看 | 亚洲精品免费在线观看视频 | 国产亚洲精品久久久网站好莱 | 人人爱爱人人 | 人人舔人人插 | 91成人在线免费观看 | 免费十分钟 | av三级av | 国产精品99久久久久久人免费 | 欧美日韩二区在线 | 中文av免费 | 欧美aa一级片 | 亚洲免费精品一区二区 | 韩日视频在线 | 国产精品久久婷婷六月丁香 | 午夜av电影院| 中文字幕久久网 | 久久综合九色综合97婷婷女人 | 国产午夜精品一区二区三区嫩草 | 日韩中文字幕在线 | 国产亚洲精品日韩在线tv黄 | 日韩av电影手机在线观看 | 色婷婷www | 丁香午夜婷婷 | 欧美日韩亚洲在线 | 国产伦精品一区二区三区… | 久久99国产精品视频 | 亚洲精品视频在线观看视频 | 丁香激情综合 | 国产精品 999 | 免费看特级毛片 | 久久成人亚洲欧美电影 | www.久久久 | 99精品一区| 亚洲精品激情 | 在线黄网站 | 日韩激情在线视频 | 在线免费看片 | avove黑丝 | 婷婷六月久久 | 夜夜操天天干, | 亚洲精品国内 | 最新精品视频在线 | 美国三级黄色大片 | 91在线播放国产 | 亚洲精品字幕在线观看 | 日韩视频 一区 | 午夜av电影院 | 成人h动漫精品一区二 | 在线观看中文字幕dvd播放 | 久久久久久久久久久久久久免费看 | 日韩黄色免费电影 | 日日干干 | 日韩中文字幕免费电影 | 成年人精品 | 手机成人在线电影 | 国产高清视频免费在线观看 | 97视频免费在线观看 | av线上免费观看 | 亚洲黄a | 91久久奴性调教 | 蜜桃视频色 | 国产不卡毛片 | 蜜桃麻豆www久久囤产精品 | 免费看黄在线观看 | 国产尤物视频在线 | 麻豆小视频在线观看 | 一级片免费观看 | www.伊人网 | 久久久久久久电影 | 亚洲,播放 | 911国产| jizz欧美性9 国产一区高清在线观看 | 日韩精品播放 | 91刺激视频| 五月婷婷在线综合 | 精品一区欧美 | 亚洲在线免费视频 | 国产91亚洲精品 | 黄色亚洲大片免费在线观看 | 国产精品都在这里 | av网址最新| 99热9| 日韩视频免费播放 | 激情欧美xxxx | 国产 视频 久久 | 亚洲一区二区视频在线播放 | 亚洲一区二区三区miaa149 | 久久综合久久鬼 | 免费在线观看av的网站 | 99视频国产精品免费观看 | 色视频在线观看免费 | 81国产精品久久久久久久久久 | 久久狠狠一本精品综合网 | av中文字幕亚洲 | 国产91全国探花系列在线播放 | 欧美日韩一区久久 | 成年人免费在线观看网站 | 成人在线免费观看网站 | 亚洲午夜精品一区二区三区电影院 | 国产精品久久久久999 | 深夜男人影院 | 狠狠激情中文字幕 | 欧美成人播放 | 91精品网站 | 99久久99热这里只有精品 | 看黄色.com | 东方av在 | 在线国产黄色 | 特级大胆西西4444www | 亚洲另类交 | 欧美激情综合五月色丁香小说 | 国产精品第二页 | 99久高清在线观看视频99精品热在线观看视频 | 极品久久久| 久久精品中文字幕少妇 | 久久艹艹| 波多野结衣在线视频免费观看 | 久久久亚洲精华液 | 成人app在线播放 | 999久久a精品合区久久久 | 日韩在线观看视频免费 | 黄色成品视频 | 成人黄色电影在线 | 国产精品视频全国免费观看 | 日韩性xxxx | 欧美三人交 | 久久久首页 | 中文字幕二区在线观看 | 欧美伦理一区二区 | 伊人色**天天综合婷婷 | 日韩在线观看精品 | 在线观看亚洲精品 | 国际精品久久久 | 一区 二区电影免费在线观看 | www久久久久| 国产精品专区h在线观看 | 久久久久久久久久久黄色 | 在线中文字幕视频 | 黄色免费观看视频 | 久久草av| 亚洲视频免费在线观看 | 激情中文在线 | 丁香网婷婷| 久久伊99综合婷婷久久伊 | 国产视频资源在线观看 | 黄色毛片在线看 | 在线观看完整版 | 毛片二区| 色婷婷视频在线观看 | 天天操天天操天天操天天操天天操 | 色婷婷综合久久久中文字幕 | 国产在线精品播放 | 欧美日韩久久一区 | 国产91学生粉嫩喷水 | 国产精品美女久久久免费 | 亚洲高清av | 亚洲黑丝少妇 | 日日夜精品 | 蜜臀久久99静品久久久久久 | 久久免费视频观看 | 97人人添人澡人人爽超碰动图 | 五月在线视频 | 亚洲丁香久久久 | 九九久久免费 | 一级黄色在线视频 | 涩涩爱夜夜爱 | 九七视频在线 | 一级全黄毛片 | 欧美五月婷婷 | 成人午夜片av在线看 | 国产男女无遮挡猛进猛出在线观看 | www亚洲视频 | 成年人在线免费看片 | 国产特级毛片 | 91免费高清在线观看 | 国产在线观看午夜 | 欧美91片 | 成人蜜桃网 | 综合久久久久久久 | 国产97视频在线 | 日本视频不卡 | 在线观看免费黄视频 | 国产亚洲精品女人久久久久久 | 伊人黄 | 91在线免费播放 | 精品一区二区综合 | 97超碰.com| 免费h精品视频在线播放 | 97超碰人人干| 色www.| 伊人天天狠天天添日日拍 | 91福利视频免费观看 | 91精品影视 | 五月婷婷在线播放 | 99热亚洲精品 | 国产高清一| 久久综合久久综合这里只有精品 | a在线播放 | 五月婷婷丁香六月 | 日日操夜 | 五月婷婷久久综合 | 日产乱码一二三区别在线 | 国产综合香蕉五月婷在线 | 最近中文字幕免费av | 亚洲高清av | 最近中文字幕免费av | 在线精品观看国产 | 免费看久久 | 欧美久久久一区二区三区 | 精品影院一区二区久久久 | 9i看片成人免费看片 | 日韩精品免费一区二区 | 免费美女久久99 | 在线国产视频一区 | 亚洲成人中文在线 | 国产精品久久久久久久久久久久午夜片 | 一区二区三区在线观看免费 | 国产一区二区综合 | 五月婷婷六月丁香 | 亚洲国产一二三 | 日韩精品免费在线观看 | 99av国产精品欲麻豆 | 久久国内精品99久久6app | 亚洲精品黄色片 | 久久99精品久久久久久三级 | 国产网站在线免费观看 | 尤物九九久久国产精品的分类 | 亚洲精品66 | 国产欧美日韩一区 | 国产精品手机在线观看 | 在线免费观看黄网站 | 日韩在线网址 | 伊色综合久久之综合久久 | 亚洲一级性 | 久久久久亚洲精品成人网小说 | 久久激情久久 | 黄色动态图xx | 波多野结衣日韩 | 日韩视频中文字幕在线观看 | 精品一区二区影视 | 啪啪免费观看网站 | 国产在线视频导航 | 在线成人短视频 | 欧美日韩观看 | 在线观看一区二区精品 | 在线影视 一区 二区 三区 | 精品在线视频一区 | 免费的黄色的网站 | 国产艹b视频 | 美女黄久久 | 国产v在线| 91九色在线| 国产一区免费在线 | 天天干天天射天天爽 | 亚洲人精品午夜 | 中国一级片在线观看 | 国产黄色av | 亚洲午夜久久久久久久久久久 | 69国产在线观看 | 欧美一级特黄高清视频 | 人人草人 | 日韩av福利在线 | av资源网在线播放 | 在线免费观看一区二区三区 | 国产成人精品久久久 | 国产欧美在线一区二区三区 | adn—256中文在线观看 | 久久a级片 | 亚洲女同ⅹxx女同tv | 久久久久综合视频 | 久久av在线播放 | 国产精品福利一区 | 婷婷色在线 | 免费91麻豆精品国产自产在线观看 | 日韩精品中文字幕一区二区 | 亚洲性xxxx| 国产精品第10页 | 国产女人免费看a级丨片 | 久草在线视频网站 | 操天天操 | 缴情综合网五月天 | 黄网站app在线观看免费视频 | 一级性视频 | 日韩精品一区电影 | 日日干网址 | 日韩中字在线 | 91在线成人 | 免费激情在线电影 | 波多野结衣视频一区二区 | 国产精品99蜜臀久久不卡二区 | 亚洲一二三在线 | 色九色 | 国产精品一区在线播放 | 激情开心色 | 国产午夜精品av一区二区 | 亚洲最新毛片 | 久久99久久99 | 亚洲激情六月 | 蜜臀久久99精品久久久久久网站 | 91视频在线观看大全 | 欧美天天干 | 日韩99热 | 国产123av| 亚洲精品在线一区二区三区 | 九九热精 | av蜜桃在线 | 午夜黄色 | 美女网站色免费 | 91视频久久久久 | 国产专区免费 | 成人精品视频久久久久 | www.久久91| 特级西西www44高清大胆图片 | 日韩一级电影在线 | 国产特级毛片aaaaaa毛片 | 国产一区免费视频 | 久艹在线观看视频 | 成人性生活大片 | 手机在线黄色网址 | 91av视频观看 | 黄色av一区 | 91在线网址| 999视频网站 | 婷婷久久久久 | 国产v欧美 | 欧美91精品久久久久国产性生爱 | 欧美中文字幕第一页 |