3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java集合篇:ConcurrentHashMap详解(JDK1.8)

發布時間:2024/9/30 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java集合篇:ConcurrentHashMap详解(JDK1.8) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(本文使用的源碼都是基于JDK1.8的)

(基于JDK1.6的版本可以參考這篇文章:https://blog.csdn.net/a745233700/article/details/83120464)

ConcurrentHashMap是conccurrent家族中的一個類,由于它可以高效地支持并發操作,以及被廣泛使用,經典的開源框架Spring的底層數據結構就是使用ConcurrentHashMap實現的。與同是線程安全的老大哥HashTable相比,它已經更勝一籌,因此它的鎖更加細化,而不是像HashTable一樣為幾乎每個方法都添加了synchronized鎖,這樣的鎖無疑會影響到性能。

本文的分析的源碼是JDK8的版本,與JDK6的版本有很大的差異。實現線程安全的思想也已經完全變了,它摒棄了Segment(鎖段)的概念,而是啟用了一種全新的方式實現,利用CAS算法。它沿用了與它同時期的HashMap版本的思想,底層依然由“數組”+鏈表+紅黑樹的方式思想,但是為了做到并發,又增加了很多輔助的類,例如TreeBin,Traverser等對象內部類。


?

一、重要的屬性:

首先來看幾個重要的屬性,與HashMap相同的就不再介紹了,這里重點解釋一下sizeCtl這個屬性。可以說它是ConcurrentHashMap中出鏡率很高的一個屬性,因為它是一個控制標識符,在不同的地方有不同用途,而且它的取值不同,也代表不同的含義。

  • 負數代表正在進行初始化或擴容操作
  • -1代表正在初始化
  • -N 表示有N-1個線程正在進行擴容操作
  • 正數或0代表hash表還沒有被初始化,這個數值表示初始化或下一次進行擴容的大小,這一點類似于擴容閾值的概念。還后面可以看到,它的值始終是當前ConcurrentHashMap容量的0.75倍,這與loadfactor是對應的。
/*** 盛裝Node元素的數組 它的大小是2的整數次冪* Size is always a power of two. Accessed directly by iterators.*/transient volatile Node<K,V>[] table;/*** Table initialization and resizing control. When negative, the* table is being initialized or resized: -1 for initialization,* else -(1 + the number of active resizing threads). Otherwise,* when table is null, holds the initial table size to use upon* creation, or 0 for default. After initialization, holds the* next element count value upon which to resize the table.hash表初始化或擴容時的一個控制位標識量。負數代表正在進行初始化或擴容操作-1代表正在初始化-N 表示有N-1個線程正在進行擴容操作正數或0代表hash表還沒有被初始化,這個數值表示初始化或下一次進行擴容的大小*/private transient volatile int sizeCtl; // 以下兩個是用來控制擴容的時候 單線程進入的變量/*** The number of bits used for generation stamp in sizeCtl.* Must be at least 6 for 32bit arrays.*/private static int RESIZE_STAMP_BITS = 16;/*** The bit shift for recording size stamp in sizeCtl.*/private static final int RESIZE_STAMP_SHIFT = 32 - RESIZE_STAMP_BITS;/** Encodings for Node hash fields. See above for explanation.*/static final int MOVED = -1; // hash值是-1,表示這是一個forwardNode節點static final int TREEBIN = -2; // hash值是-2 表示這時一個TreeBin節點

?

二、重要的內部類:

2.1、Node:

Node是最核心的內部類,它包裝了key-value鍵值對,所有插入ConcurrentHashMap的數據都包裝在這里面。它與HashMap中的定義很相似,但是但是有一些差別它對value和next屬性設置了volatile同步鎖,它不允許調用setValue方法直接改變Node的value域,它增加了find方法輔助map.get()方法。

static class Node<K,V> implements Map.Entry<K,V> {final int hash;final K key;volatile V val;//帶有同步鎖的valuevolatile Node<K,V> next;//帶有同步鎖的next指針Node(int hash, K key, V val, Node<K,V> next) {this.hash = hash;this.key = key;this.val = val;this.next = next;}public final K getKey() { return key; }public final V getValue() { return val; }public final int hashCode() { return key.hashCode() ^ val.hashCode(); }public final String toString(){ return key + "=" + val; }//不允許直接改變value的值public final V setValue(V value) {throw new UnsupportedOperationException();}public final boolean equals(Object o) {Object k, v, u; Map.Entry<?,?> e;return ((o instanceof Map.Entry) &&(k = (e = (Map.Entry<?,?>)o).getKey()) != null &&(v = e.getValue()) != null &&(k == key || k.equals(key)) &&(v == (u = val) || v.equals(u)));}/*** Virtualized support for map.get(); overridden in subclasses.*/Node<K,V> find(int h, Object k) {Node<K,V> e = this;if (k != null) {do {K ek;if (e.hash == h &&((ek = e.key) == k || (ek != null && k.equals(ek))))return e;} while ((e = e.next) != null);}return null;}}這個Node內部類與HashMap中定義的Node類很相似,但是有一些差別它對value和next屬性設置了volatile同步鎖它不允許調用setValue方法直接改變Node的value域它增加了find方法輔助map.get()方法

2.2、TreeNode:

樹節點類,另外一個核心的數據結構。當鏈表長度過長的時候,會轉換為TreeNode。但是與HashMap不相同的是,它并不是直接轉換為紅黑樹,而是把這些結點包裝成TreeNode放在TreeBin對象中,由TreeBin完成對紅黑樹的包裝。而且TreeNode在ConcurrentHashMap集成自Node類,而并非HashMap中的集成自LinkedHashMap.Entry<K,V>類,也就是說TreeNode帶有next指針,這樣做的目的是方便基于TreeBin的訪問。


2.3、TreeBin:

這個類并不負責包裝用戶的key、value信息,而是包裝的很多TreeNode節點。它代替了TreeNode的根節點,也就是說在實際的ConcurrentHashMap“數組”中,存放的是TreeBin對象,而不是TreeNode對象,這是與HashMap的區別。另外這個類還帶有了讀寫鎖。

這里僅貼出它的構造方法。可以看到在構造TreeBin節點時,僅僅指定了它的hash值為TREEBIN常量,這也就是個標識為。同時也看到我們熟悉的紅黑樹構造方法。

/*** Creates bin with initial set of nodes headed by b.*/TreeBin(TreeNode<K,V> b) {super(TREEBIN, null, null, null);this.first = b;TreeNode<K,V> r = null;for (TreeNode<K,V> x = b, next; x != null; x = next) {next = (TreeNode<K,V>)x.next;x.left = x.right = null;if (r == null) {x.parent = null;x.red = false;r = x;}else {K k = x.key;int h = x.hash;Class<?> kc = null;for (TreeNode<K,V> p = r;;) {int dir, ph;K pk = p.key;if ((ph = p.hash) > h)dir = -1;else if (ph < h)dir = 1;else if ((kc == null &&(kc = comparableClassFor(k)) == null) ||(dir = compareComparables(kc, k, pk)) == 0)dir = tieBreakOrder(k, pk);TreeNode<K,V> xp = p;if ((p = (dir <= 0) ? p.left : p.right) == null) {x.parent = xp;if (dir <= 0)xp.left = x;elsexp.right = x;r = balanceInsertion(r, x);break;}}}}this.root = r;assert checkInvariants(root);}

2.4、ForwardingNode:

一個用于連接兩個table的節點類。它包含一個nextTable指針,用于指向下一張表。而且這個節點的key value next指針全部為null,它的hash值為-1. 這里面定義的find的方法是從nextTable里進行查詢節點,而不是以自身為頭節點進行查找。

/*** A node inserted at head of bins during transfer operations.*/static final class ForwardingNode<K,V> extends Node<K,V> {final Node<K,V>[] nextTable;ForwardingNode(Node<K,V>[] tab) {super(MOVED, null, null, null);this.nextTable = tab;}Node<K,V> find(int h, Object k) {// loop to avoid arbitrarily deep recursion on forwarding nodesouter: for (Node<K,V>[] tab = nextTable;;) {Node<K,V> e; int n;if (k == null || tab == null || (n = tab.length) == 0 ||(e = tabAt(tab, (n - 1) & h)) == null)return null;for (;;) {int eh; K ek;if ((eh = e.hash) == h &&((ek = e.key) == k || (ek != null && k.equals(ek))))return e;if (eh < 0) {if (e instanceof ForwardingNode) {tab = ((ForwardingNode<K,V>)e).nextTable;continue outer;}elsereturn e.find(h, k);}if ((e = e.next) == null)return null;}}}}

?

三、Unsafe與CAS:

在ConcurrentHashMap中,隨處可以看到U, 大量使用了U.compareAndSwapXXX的方法,這個方法是利用一個CAS算法實現無鎖化的修改值的操作,他可以大大降低鎖代理的性能消耗。這個算法的基本思想就是不斷地去比較當前內存中的變量值與你指定的一個變量值是否相等,如果相等,則接受你指定的修改的值,否則拒絕你的操作。因為當前線程中的值已經不是最新的值,你的修改很可能會覆蓋掉其他線程修改的結果。這一點與樂觀鎖,SVN的思想是比較類似的。

3.1、unsafe靜態塊:

unsafe代碼塊控制了一些屬性的修改工作,比如最常用的SIZECTL 。? 在這一版本的concurrentHashMap中,大量應用來的CAS方法進行變量、屬性的修改工作。? 利用CAS進行無鎖操作,可以大大提高性能。

private static final sun.misc.Unsafe U;private static final long SIZECTL;private static final long TRANSFERINDEX;private static final long BASECOUNT;private static final long CELLSBUSY;private static final long CELLVALUE;private static final long ABASE;private static final int ASHIFT;static {try {U = sun.misc.Unsafe.getUnsafe();Class<?> k = ConcurrentHashMap.class;SIZECTL = U.objectFieldOffset(k.getDeclaredField("sizeCtl"));TRANSFERINDEX = U.objectFieldOffset(k.getDeclaredField("transferIndex"));BASECOUNT = U.objectFieldOffset(k.getDeclaredField("baseCount"));CELLSBUSY = U.objectFieldOffset(k.getDeclaredField("cellsBusy"));Class<?> ck = CounterCell.class;CELLVALUE = U.objectFieldOffset(ck.getDeclaredField("value"));Class<?> ak = Node[].class;ABASE = U.arrayBaseOffset(ak);int scale = U.arrayIndexScale(ak);if ((scale & (scale - 1)) != 0)throw new Error("data type scale not a power of two");ASHIFT = 31 - Integer.numberOfLeadingZeros(scale);} catch (Exception e) {throw new Error(e);}}

3.2、三個核心方法:

ConcurrentHashMap定義了三個原子操作,用于對指定位置的節點進行操作。正是這些原子操作保證了ConcurrentHashMap的線程安全。

@SuppressWarnings("unchecked")//獲得在i位置上的Node節點static final <K,V> Node<K,V> tabAt(Node<K,V>[] tab, int i) {return (Node<K,V>)U.getObjectVolatile(tab, ((long)i << ASHIFT) + ABASE);}//利用CAS算法設置i位置上的Node節點。之所以能實現并發是因為他指定了原來這個節點的值是多少//在CAS算法中,會比較內存中的值與你指定的這個值是否相等,如果相等才接受你的修改,否則拒絕你的修改//因此當前線程中的值并不是最新的值,這種修改可能會覆蓋掉其他線程的修改結果 有點類似于SVNstatic final <K,V> boolean casTabAt(Node<K,V>[] tab, int i,Node<K,V> c, Node<K,V> v) {return U.compareAndSwapObject(tab, ((long)i << ASHIFT) + ABASE, c, v);}//利用volatile方法設置節點位置的值static final <K,V> void setTabAt(Node<K,V>[] tab, int i, Node<K,V> v) {U.putObjectVolatile(tab, ((long)i << ASHIFT) + ABASE, v);}

?

四、初始化方法initTable:

對于ConcurrentHashMap來說,調用它的構造方法僅僅是設置了一些參數而已。而整個table的初始化是在向ConcurrentHashMap中插入元素的時候發生的。如調用put、computeIfAbsent、compute、merge等方法的時候,調用時機是檢查table==null。

初始化方法主要應用了關鍵屬性sizeCtl 如果這個值〈0,表示其他線程正在進行初始化,就放棄這個操作。在這也可以看出ConcurrentHashMap的初始化只能由一個線程完成。如果獲得了初始化權限,就用CAS方法將sizeCtl置為-1,防止其他線程進入。初始化數組后,將sizeCtl的值改為0.75*n
?

/*** Initializes table, using the size recorded in sizeCtl.*/private final Node<K,V>[] initTable() {Node<K,V>[] tab; int sc;while ((tab = table) == null || tab.length == 0) {//sizeCtl<0表示有其他線程正在進行初始化操作,把線程掛起。對于table的初始化工作,只能有一個線程在進行。if ((sc = sizeCtl) < 0)Thread.yield(); // lost initialization race; just spinelse if (U.compareAndSwapInt(this, SIZECTL, sc, -1)) {//利用CAS方法把sizectl的值置為-1 表示本線程正在進行初始化try {if ((tab = table) == null || tab.length == 0) {int n = (sc > 0) ? sc : DEFAULT_CAPACITY;@SuppressWarnings("unchecked")Node<K,V>[] nt = (Node<K,V>[])new Node<?,?>[n];table = tab = nt;sc = n - (n >>> 2);//相當于0.75*n 設置一個擴容的閾值}} finally {sizeCtl = sc;}break;}}return tab;}

?

五、擴容方法transfer:

當ConcurrentHashMap容量不足的時候,需要對table進行擴容。這個方法的基本思想跟HashMap是很像的,但是由于它是支持并發擴容的,所以要復雜的多。原因是它支持多線程進行擴容操作,而并沒有加鎖。我想這樣做的目的不僅僅是為了滿足concurrent的要求,而是希望利用并發處理去減少擴容帶來的時間影響。因為在擴容的時候,總是會涉及到從一個“數組”到另一個“數組”拷貝的操作,如果這個操作能夠并發進行,那真真是極好的了。

整個擴容操作分為兩個部分:

  • 第一部分是構建一個nextTable,它的容量是原來的兩倍,這個操作是單線程完成的。這個單線程的保證是通過RESIZE_STAMP_SHIFT這個常量經過一次運算來保證的,這個地方在后面會有提到;
  • 第二個部分就是將原來table中的元素復制到nextTable中,這里允許多線程進行操作

先來看一下單線程是如何完成的:

它的大體思想就是遍歷、復制的過程。首先根據運算得到需要遍歷的次數i,然后利用tabAt方法獲得i位置的元素:

  • 如果這個位置為空,就在原table中的i位置放入forwardNode節點,這個也是觸發并發擴容的關鍵點;
  • 如果這個位置是Node節點(fh>=0),如果它是一個鏈表的頭節點,就構造一個反序鏈表,把他們分別放在nextTable的i和i+n的位置上;
  • 如果這個位置是TreeBin節點(fh<0),也做一個反序處理,并且判斷是否需要untreefi,把處理的結果分別放在nextTable的i和i+n的位置上;
  • 遍歷過所有的節點以后就完成了復制工作,這時讓nextTable作為新的table,并且更新sizeCtl為新容量的0.75倍 ,完成擴容。

再看一下多線程是如何完成的:
在代碼的69行有一個判斷,如果遍歷到的節點是forward節點,就向后繼續遍歷,再加上給節點上鎖的機制,就完成了多線程的控制。多線程遍歷節點,處理了一個節點,就把對應點的值set為forward,另一個線程看到forward,就向后遍歷。這樣交叉就完成了復制工作。而且還很好的解決了線程安全的問題。 這個方法的設計實在是讓我膜拜。

/*** 一個過渡的table表 只有在擴容的時候才會使用*/private transient volatile Node<K,V>[] nextTable;/*** Moves and/or copies the nodes in each bin to new table. See* above for explanation.*/private final void transfer(Node<K,V>[] tab, Node<K,V>[] nextTab) {int n = tab.length, stride;if ((stride = (NCPU > 1) ? (n >>> 3) / NCPU : n) < MIN_TRANSFER_STRIDE)stride = MIN_TRANSFER_STRIDE; // subdivide rangeif (nextTab == null) { // initiatingtry {@SuppressWarnings("unchecked")Node<K,V>[] nt = (Node<K,V>[])new Node<?,?>[n << 1];//構造一個nextTable對象 它的容量是原來的兩倍nextTab = nt;} catch (Throwable ex) { // try to cope with OOMEsizeCtl = Integer.MAX_VALUE;return;}nextTable = nextTab;transferIndex = n;}int nextn = nextTab.length;ForwardingNode<K,V> fwd = new ForwardingNode<K,V>(nextTab);//構造一個連節點指針 用于標志位boolean advance = true;//并發擴容的關鍵屬性 如果等于true 說明這個節點已經處理過boolean finishing = false; // to ensure sweep before committing nextTabfor (int i = 0, bound = 0;;) {Node<K,V> f; int fh;//這個while循環體的作用就是在控制i-- 通過i--可以依次遍歷原hash表中的節點while (advance) {int nextIndex, nextBound;if (--i >= bound || finishing)advance = false;else if ((nextIndex = transferIndex) <= 0) {i = -1;advance = false;}else if (U.compareAndSwapInt(this, TRANSFERINDEX, nextIndex,nextBound = (nextIndex > stride ?nextIndex - stride : 0))) {bound = nextBound;i = nextIndex - 1;advance = false;}}if (i < 0 || i >= n || i + n >= nextn) {int sc;if (finishing) {//如果所有的節點都已經完成復制工作 就把nextTable賦值給table 清空臨時對象nextTablenextTable = null;table = nextTab;sizeCtl = (n << 1) - (n >>> 1);//擴容閾值設置為原來容量的1.5倍 依然相當于現在容量的0.75倍return;}//利用CAS方法更新這個擴容閾值,在這里面sizectl值減一,說明新加入一個線程參與到擴容操作if (U.compareAndSwapInt(this, SIZECTL, sc = sizeCtl, sc - 1)) {if ((sc - 2) != resizeStamp(n) << RESIZE_STAMP_SHIFT)return;finishing = advance = true;i = n; // recheck before commit}}//如果遍歷到的節點為空 則放入ForwardingNode指針else if ((f = tabAt(tab, i)) == null)advance = casTabAt(tab, i, null, fwd);//如果遍歷到ForwardingNode節點 說明這個點已經被處理過了 直接跳過 這里是控制并發擴容的核心else if ((fh = f.hash) == MOVED)advance = true; // already processedelse {//節點上鎖synchronized (f) {if (tabAt(tab, i) == f) {Node<K,V> ln, hn;//如果fh>=0 證明這是一個Node節點if (fh >= 0) {int runBit = fh & n;//以下的部分在完成的工作是構造兩個鏈表 一個是原鏈表 另一個是原鏈表的反序排列Node<K,V> lastRun = f;for (Node<K,V> p = f.next; p != null; p = p.next) {int b = p.hash & n;if (b != runBit) {runBit = b;lastRun = p;}}if (runBit == 0) {ln = lastRun;hn = null;}else {hn = lastRun;ln = null;}for (Node<K,V> p = f; p != lastRun; p = p.next) {int ph = p.hash; K pk = p.key; V pv = p.val;if ((ph & n) == 0)ln = new Node<K,V>(ph, pk, pv, ln);elsehn = new Node<K,V>(ph, pk, pv, hn);}//在nextTable的i位置上插入一個鏈表setTabAt(nextTab, i, ln);//在nextTable的i+n的位置上插入另一個鏈表setTabAt(nextTab, i + n, hn);//在table的i位置上插入forwardNode節點 表示已經處理過該節點setTabAt(tab, i, fwd);//設置advance為true 返回到上面的while循環中 就可以執行i--操作advance = true;}//對TreeBin對象進行處理 與上面的過程類似else if (f instanceof TreeBin) {TreeBin<K,V> t = (TreeBin<K,V>)f;TreeNode<K,V> lo = null, loTail = null;TreeNode<K,V> hi = null, hiTail = null;int lc = 0, hc = 0;//構造正序和反序兩個鏈表for (Node<K,V> e = t.first; e != null; e = e.next) {int h = e.hash;TreeNode<K,V> p = new TreeNode<K,V>(h, e.key, e.val, null, null);if ((h & n) == 0) {if ((p.prev = loTail) == null)lo = p;elseloTail.next = p;loTail = p;++lc;}else {if ((p.prev = hiTail) == null)hi = p;elsehiTail.next = p;hiTail = p;++hc;}}//如果擴容后已經不再需要tree的結構 反向轉換為鏈表結構ln = (lc <= UNTREEIFY_THRESHOLD) ? untreeify(lo) :(hc != 0) ? new TreeBin<K,V>(lo) : t;hn = (hc <= UNTREEIFY_THRESHOLD) ? untreeify(hi) :(lc != 0) ? new TreeBin<K,V>(hi) : t;//在nextTable的i位置上插入一個鏈表 setTabAt(nextTab, i, ln);//在nextTable的i+n的位置上插入另一個鏈表setTabAt(nextTab, i + n, hn);//在table的i位置上插入forwardNode節點 表示已經處理過該節點setTabAt(tab, i, fwd);//設置advance為true 返回到上面的while循環中 就可以執行i--操作advance = true;}}}}}}

?

六、put()方法:(尾插法)

前面的所有的介紹其實都為這個方法做鋪墊。ConcurrentHashMap最常用的就是put和get兩個方法。現在來介紹put方法,這個put方法依然沿用HashMap的put方法的思想,根據hash值計算這個新插入的點在table中的位置i,如果i位置是空的,直接放進去,否則進行判斷,如果i位置是樹節點,按照樹的方式插入新的節點,否則把i插入到鏈表的末尾。ConcurrentHashMap中依然沿用這個思想,有一個最重要的不同點就是ConcurrentHashMap不允許key或value為null值。另外由于涉及到多線程,put方法就要復雜一點。在多線程中可能有以下兩個情況。

  • 如果一個或多個線程正在對ConcurrentHashMap進行擴容操作,當前線程也要進入擴容的操作中。這個擴容的操作之所以能被檢測到,是因為transfer方法中在空結點上插入forward節點,如果檢測到需要插入的位置被forward節點占有,就幫助進行擴容;
  • 如果檢測到要插入的節點是非空且不是forward節點,就對這個節點加鎖,這樣就保證了線程安全。盡管這個有一些影響效率,但是還是會比hashTable的synchronized要好得多。
  • 整體流程就是首先定義不允許key或value為null的情況放入,對于每一個放入的值,首先利用spread方法對key的hashcode進行一次hash計算,由此來確定這個值在table中的位置。

    • 如果這個位置是空的,那么直接放入,而且不需要加鎖操作。
    • 如果這個位置存在結點,說明發生了hash碰撞,首先判斷這個節點的類型。如果是鏈表節點(fh>0),則得到的結點就是hash值相同的節點組成的鏈表的頭節點。需要依次向后遍歷確定這個新加入的值所在位置。如果遇到hash值與key值都與新加入節點是一致的情況,則只需要更新value值即可。否則依次向后遍歷,直到鏈表尾插入這個結點。??如果加入這個節點以后鏈表長度大于8,就把這個鏈表轉換成紅黑樹。如果這個節點的類型已經是樹節點的話,直接調用樹節點的插入方法進行插入新的值。
    public V put(K key, V value) {return putVal(key, value, false);}/** Implementation for put and putIfAbsent */final V putVal(K key, V value, boolean onlyIfAbsent) {//不允許 key或value為nullif (key == null || value == null) throw new NullPointerException();//計算hash值int hash = spread(key.hashCode());int binCount = 0;//死循環 何時插入成功 何時跳出for (Node<K,V>[] tab = table;;) {Node<K,V> f; int n, i, fh;//如果table為空的話,初始化tableif (tab == null || (n = tab.length) == 0)tab = initTable();//根據hash值計算出在table里面的位置 else if ((f = tabAt(tab, i = (n - 1) & hash)) == null) {//如果這個位置沒有值 ,直接放進去,不需要加鎖if (casTabAt(tab, i, null,new Node<K,V>(hash, key, value, null)))break; // no lock when adding to empty bin}//當遇到表連接點時,需要進行整合表的操作else if ((fh = f.hash) == MOVED)tab = helpTransfer(tab, f);else {V oldVal = null;//結點上鎖 這里的結點可以理解為hash值相同組成的鏈表的頭結點synchronized (f) {if (tabAt(tab, i) == f) {//fh〉0 說明這個節點是一個鏈表的節點 不是樹的節點if (fh >= 0) {binCount = 1;//在這里遍歷鏈表所有的結點for (Node<K,V> e = f;; ++binCount) {K ek;//如果hash值和key值相同 則修改對應結點的value值if (e.hash == hash &&((ek = e.key) == key ||(ek != null && key.equals(ek)))) {oldVal = e.val;if (!onlyIfAbsent)e.val = value;break;}Node<K,V> pred = e;//如果遍歷到了最后一個結點,那么就證明新的節點需要插入 就把它插入在鏈表尾部if ((e = e.next) == null) {pred.next = new Node<K,V>(hash, key,value, null);break;}}}//如果這個節點是樹節點,就按照樹的方式插入值else if (f instanceof TreeBin) {Node<K,V> p;binCount = 2;if ((p = ((TreeBin<K,V>)f).putTreeVal(hash, key,value)) != null) {oldVal = p.val;if (!onlyIfAbsent)p.val = value;}}}}if (binCount != 0) {//如果鏈表長度已經達到臨界值8 就需要把鏈表轉換為樹結構if (binCount >= TREEIFY_THRESHOLD)treeifyBin(tab, i);if (oldVal != null)return oldVal;break;}}}//將當前ConcurrentHashMap的元素數量+1addCount(1L, binCount);return null;}

    6.1、helpTransfer()方法:

    這是一個協助擴容的方法。這個方法被調用的時候,當前ConcurrentHashMap一定已經有了nextTable對象,首先拿到這個nextTable對象,調用transfer方法。回看上面的transfer方法可以看到,當本線程進入擴容方法的時候會直接進入復制階段。

    /*** Helps transfer if a resize is in progress.*/final Node<K,V>[] helpTransfer(Node<K,V>[] tab, Node<K,V> f) {Node<K,V>[] nextTab; int sc;if (tab != null && (f instanceof ForwardingNode) &&(nextTab = ((ForwardingNode<K,V>)f).nextTable) != null) {int rs = resizeStamp(tab.length);//計算一個操作校驗碼while (nextTab == nextTable && table == tab &&(sc = sizeCtl) < 0) {if ((sc >>> RESIZE_STAMP_SHIFT) != rs || sc == rs + 1 ||sc == rs + MAX_RESIZERS || transferIndex <= 0)break;if (U.compareAndSwapInt(this, SIZECTL, sc, sc + 1)) {transfer(tab, nextTab);break;}}return nextTab;}return table;}

    6.2、treeifyBin()方法:

    這個方法用于將過長的鏈表轉換為TreeBin對象。但是他并不是直接轉換,而是進行一次容量判斷,如果容量沒有達到轉換的要求,直接進行擴容操作并返回;如果滿足條件才鏈表的結構抓換為TreeBin ,這與HashMap不同的是,它并沒有把TreeNode直接放入紅黑樹,而是利用了TreeBin這個小容器來封裝所有的TreeNode。

    private final void treeifyBin(Node<K,V>[] tab, int index) {Node<K,V> b; int n, sc;if (tab != null) {if ((n = tab.length) < MIN_TREEIFY_CAPACITY)//如果table.length<64 就擴大一倍 返回tryPresize(n << 1);else if ((b = tabAt(tab, index)) != null && b.hash >= 0) {synchronized (b) {if (tabAt(tab, index) == b) {TreeNode<K,V> hd = null, tl = null;//構造了一個TreeBin對象 把所有Node節點包裝成TreeNode放進去for (Node<K,V> e = b; e != null; e = e.next) {TreeNode<K,V> p =new TreeNode<K,V>(e.hash, e.key, e.val,null, null);//這里只是利用了TreeNode封裝 而沒有利用TreeNode的next域和parent域if ((p.prev = tl) == null)hd = p;elsetl.next = p;tl = p;}//在原來index的位置 用TreeBin替換掉原來的Node對象setTabAt(tab, index, new TreeBin<K,V>(hd));}}}}}

    ?

    七、get()方法:

    get方法比較簡單,給定一個key來確定value的時候,必須滿足兩個條件? key相同? hash值相同,對于節點可能在鏈表或樹上的情況,需要分別去查找。

    public V get(Object key) {Node<K,V>[] tab; Node<K,V> e, p; int n, eh; K ek;//計算hash值int h = spread(key.hashCode());//根據hash值確定節點位置if ((tab = table) != null && (n = tab.length) > 0 &&(e = tabAt(tab, (n - 1) & h)) != null) {//如果搜索到的節點key與傳入的key相同且不為null,直接返回這個節點 if ((eh = e.hash) == h) {if ((ek = e.key) == key || (ek != null && key.equals(ek)))return e.val;}//如果eh<0 說明這個節點在樹上 直接尋找else if (eh < 0)return (p = e.find(h, key)) != null ? p.val : null;//否則遍歷鏈表 找到對應的值并返回while ((e = e.next) != null) {if (e.hash == h &&((ek = e.key) == key || (ek != null && key.equals(ek))))return e.val;}}return null;}

    ?

    八、Size相關的方法:

    對于ConcurrentHashMap來說,這個table里到底裝了多少東西其實是個不確定的數量,因為不可能在調用size()方法的時候像GC的“stop the world”一樣讓其他線程都停下來讓你去統計,因此只能說這個數量是個估計值。對于這個估計值,ConcurrentHashMap也是大費周章才計算出來的。

    8.1、輔助定義:

    為了統計元素個數,ConcurrentHashMap定義了一些變量和一個內部類。

    /*** A padded cell for distributing counts. Adapted from LongAdder* and Striped64. See their internal docs for explanation.*/@sun.misc.Contended static final class CounterCell {volatile long value;CounterCell(long x) { value = x; }}/******************************************/ /*** 實際上保存的是hashmap中的元素個數 利用CAS鎖進行更新但它并不用返回當前hashmap的元素個數 */private transient volatile long baseCount;/*** Spinlock (locked via CAS) used when resizing and/or creating CounterCells.*/private transient volatile int cellsBusy;/*** Table of counter cells. When non-null, size is a power of 2.*/private transient volatile CounterCell[] counterCells;

    8.2 mappingCount與Size方法:

    mappingCount與size方法的類似? 從Java工程師給出的注釋來看,應該使用mappingCount代替size方法 兩個方法都沒有直接返回basecount 而是統計一次這個值,而這個值其實也是一個大概的數值,因此可能在統計的時候有其他線程正在執行插入或刪除操作。

    public int size() {long n = sumCount();return ((n < 0L) ? 0 :(n > (long)Integer.MAX_VALUE) ? Integer.MAX_VALUE :(int)n);}/*** Returns the number of mappings. This method should be used* instead of {@link #size} because a ConcurrentHashMap may* contain more mappings than can be represented as an int. The* value returned is an estimate; the actual count may differ if* there are concurrent insertions or removals.** @return the number of mappings* @since 1.8*/public long mappingCount() {long n = sumCount();return (n < 0L) ? 0L : n; // ignore transient negative values}final long sumCount() {CounterCell[] as = counterCells; CounterCell a;long sum = baseCount;if (as != null) {for (int i = 0; i < as.length; ++i) {if ((a = as[i]) != null)sum += a.value;//所有counter的值求和}}return sum;}

    8.3 addCount方法:

    在put方法結尾處調用了addCount方法,把當前ConcurrentHashMap的元素個數+1這個方法一共做了兩件事,更新baseCount的值,檢測是否進行擴容。

    private final void addCount(long x, int check) {CounterCell[] as; long b, s;//利用CAS方法更新baseCount的值 if ((as = counterCells) != null ||!U.compareAndSwapLong(this, BASECOUNT, b = baseCount, s = b + x)) {CounterCell a; long v; int m;boolean uncontended = true;if (as == null || (m = as.length - 1) < 0 ||(a = as[ThreadLocalRandom.getProbe() & m]) == null ||!(uncontended =U.compareAndSwapLong(a, CELLVALUE, v = a.value, v + x))) {fullAddCount(x, uncontended);return;}if (check <= 1)return;s = sumCount();}//如果check值大于等于0 則需要檢驗是否需要進行擴容操作if (check >= 0) {Node<K,V>[] tab, nt; int n, sc;while (s >= (long)(sc = sizeCtl) && (tab = table) != null &&(n = tab.length) < MAXIMUM_CAPACITY) {int rs = resizeStamp(n);//if (sc < 0) {if ((sc >>> RESIZE_STAMP_SHIFT) != rs || sc == rs + 1 ||sc == rs + MAX_RESIZERS || (nt = nextTable) == null ||transferIndex <= 0)break;//如果已經有其他線程在執行擴容操作if (U.compareAndSwapInt(this, SIZECTL, sc, sc + 1))transfer(tab, nt);}//當前線程是唯一的或是第一個發起擴容的線程 此時nextTable=nullelse if (U.compareAndSwapInt(this, SIZECTL, sc,(rs << RESIZE_STAMP_SHIFT) + 2))transfer(tab, null);s = sumCount();}}}

    ?

    ?

    ?


    版權聲明:
    作者:小小旭GISer?
    原文地址:https://blog.csdn.net/u010723709/article/details/48007881

    ?

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的Java集合篇:ConcurrentHashMap详解(JDK1.8)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    日产精品高潮呻吟av久久 | 少妇被粗大的猛进出69影院 | 久久久久久亚洲精品a片成人 | 少女韩国电视剧在线观看完整 | 久久久精品成人免费观看 | 永久免费观看国产裸体美女 | 熟妇女人妻丰满少妇中文字幕 | 国产人妻人伦精品 | 无码人妻少妇伦在线电影 | 亚洲男女内射在线播放 | 日产精品高潮呻吟av久久 | 夜先锋av资源网站 | 全黄性性激高免费视频 | 亚洲成a人片在线观看无码 | 亚洲国产精华液网站w | 国产熟妇高潮叫床视频播放 | 亚洲精品一区二区三区大桥未久 | 色一情一乱一伦一视频免费看 | 欧洲美熟女乱又伦 | 十八禁真人啪啪免费网站 | 丁香花在线影院观看在线播放 | 亚洲国产精品无码久久久久高潮 | 亚洲 a v无 码免 费 成 人 a v | 免费无码的av片在线观看 | 一本久道久久综合婷婷五月 | 无遮挡啪啪摇乳动态图 | 曰本女人与公拘交酡免费视频 | 亚洲欧美精品aaaaaa片 | 久久这里只有精品视频9 | 欧美成人免费全部网站 | 亚洲国产精品一区二区第一页 | 久热国产vs视频在线观看 | 亚洲精品中文字幕久久久久 | 蜜臀av在线播放 久久综合激激的五月天 | 55夜色66夜色国产精品视频 | 中文字幕久久久久人妻 | 无码人妻av免费一区二区三区 | 偷窥村妇洗澡毛毛多 | 在线视频网站www色 | 男人和女人高潮免费网站 | 国产极品美女高潮无套在线观看 | 午夜精品一区二区三区在线观看 | 国产成人精品必看 | 无码人妻久久一区二区三区不卡 | 东京无码熟妇人妻av在线网址 | 亚洲国产精品久久久久久 | 牲欲强的熟妇农村老妇女视频 | 国产成人精品久久亚洲高清不卡 | 国产女主播喷水视频在线观看 | 99久久人妻精品免费一区 | www国产亚洲精品久久网站 | 性做久久久久久久免费看 | 无码av中文字幕免费放 | 久久精品中文字幕一区 | 中文字幕日韩精品一区二区三区 | 久久亚洲中文字幕无码 | 色综合视频一区二区三区 | 亚洲熟妇色xxxxx亚洲 | 国产精品久久久久久亚洲影视内衣 | 亚洲一区二区三区在线观看网站 | 亚洲码国产精品高潮在线 | 久久精品人人做人人综合试看 | 欧美日本精品一区二区三区 | 亚洲第一无码av无码专区 | 亚洲精品综合五月久久小说 | 狠狠综合久久久久综合网 | 野外少妇愉情中文字幕 | 免费国产成人高清在线观看网站 | 亚洲爆乳无码专区 | 天堂亚洲2017在线观看 | 久久天天躁夜夜躁狠狠 | 在线观看免费人成视频 | 精品国产麻豆免费人成网站 | 无码人妻出轨黑人中文字幕 | ass日本丰满熟妇pics | 粉嫩少妇内射浓精videos | 久久国产精品萌白酱免费 | 亚洲成av人片在线观看无码不卡 | 桃花色综合影院 | 亚洲s码欧洲m码国产av | 国产成人无码专区 | 免费无码肉片在线观看 | 九月婷婷人人澡人人添人人爽 | 女人被爽到呻吟gif动态图视看 | 麻豆精品国产精华精华液好用吗 | 色综合久久中文娱乐网 | av无码久久久久不卡免费网站 | 欧美丰满熟妇xxxx | 亚洲日韩av一区二区三区四区 | 亚洲s码欧洲m码国产av | 樱花草在线社区www | 男女爱爱好爽视频免费看 | 久久久久久久久888 | 国产suv精品一区二区五 | 国产成人无码一二三区视频 | 水蜜桃av无码 | 精品人妻人人做人人爽夜夜爽 | 日本欧美一区二区三区乱码 | 日韩欧美中文字幕公布 | 中文字幕人妻无码一夲道 | 人人爽人人爽人人片av亚洲 | 国产精品多人p群无码 | 国产精品第一国产精品 | 久久久久久国产精品无码下载 | 中文字幕无码乱人伦 | 老熟妇乱子伦牲交视频 | 丰满岳乱妇在线观看中字无码 | 国产在线一区二区三区四区五区 | 午夜福利试看120秒体验区 | 对白脏话肉麻粗话av | 久久久精品成人免费观看 | 特黄特色大片免费播放器图片 | 天天av天天av天天透 | 国产亚洲欧美日韩亚洲中文色 | 免费无码的av片在线观看 | 精品欧美一区二区三区久久久 | 一本一道久久综合久久 | 亚洲乱码日产精品bd | 大肉大捧一进一出视频出来呀 | 亚洲国产av美女网站 | 久久精品国产99久久6动漫 | 高清国产亚洲精品自在久久 | 国产精品亚洲专区无码不卡 | 国精品人妻无码一区二区三区蜜柚 | 国产性生交xxxxx无码 | 亚洲另类伦春色综合小说 | 成人试看120秒体验区 | 少妇的肉体aa片免费 | 4hu四虎永久在线观看 | 无码人妻丰满熟妇区五十路百度 | 国产美女精品一区二区三区 | 无套内谢的新婚少妇国语播放 | 成人免费无码大片a毛片 | 狠狠综合久久久久综合网 | 中文字幕日产无线码一区 | 激情国产av做激情国产爱 | 精品无码av一区二区三区 | 亚洲精品成人av在线 | 台湾无码一区二区 | 老头边吃奶边弄进去呻吟 | 国产精品-区区久久久狼 | 成熟人妻av无码专区 | 亚洲精品成人福利网站 | 蜜桃臀无码内射一区二区三区 | 亚洲精品国产精品乱码不卡 | 乌克兰少妇xxxx做受 | 亚洲欧美日韩国产精品一区二区 | 日韩欧美中文字幕公布 | 网友自拍区视频精品 | 亚洲国产成人a精品不卡在线 | 国产成人无码区免费内射一片色欲 | 无套内射视频囯产 | 国产凸凹视频一区二区 | 99re在线播放 | 成人精品天堂一区二区三区 | 美女极度色诱视频国产 | 国产又粗又硬又大爽黄老大爷视 | 亚洲天堂2017无码中文 | 东京无码熟妇人妻av在线网址 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产农村妇女高潮大叫 | 国产精品免费大片 | 99久久婷婷国产综合精品青草免费 | 欧美日韩人成综合在线播放 | 99久久久无码国产aaa精品 | 国产成人亚洲综合无码 | 欧美日韩在线亚洲综合国产人 | 扒开双腿吃奶呻吟做受视频 | 久久久久成人精品免费播放动漫 | 一本大道伊人av久久综合 | 久久精品女人天堂av免费观看 | 久精品国产欧美亚洲色aⅴ大片 | 精品乱子伦一区二区三区 | 成人影院yy111111在线观看 | 又粗又大又硬毛片免费看 | 亚洲 日韩 欧美 成人 在线观看 | 十八禁真人啪啪免费网站 | 久久午夜无码鲁丝片秋霞 | 色一情一乱一伦一区二区三欧美 | 国产精品亚洲专区无码不卡 | 国产午夜福利亚洲第一 | 日日摸日日碰夜夜爽av | 国产精品18久久久久久麻辣 | 成人无码视频免费播放 | 97色伦图片97综合影院 | 无码人妻黑人中文字幕 | 欧美日韩在线亚洲综合国产人 | 精品无码国产一区二区三区av | 欧美日韩视频无码一区二区三 | 亚洲国产av精品一区二区蜜芽 | 青春草在线视频免费观看 | 日韩人妻无码一区二区三区久久99 | 在线观看免费人成视频 | 久久久中文字幕日本无吗 | 老熟妇乱子伦牲交视频 | 国产亚洲欧美日韩亚洲中文色 | 亚洲国产av美女网站 | 男女猛烈xx00免费视频试看 | 国产麻豆精品一区二区三区v视界 | 高清不卡一区二区三区 | 午夜精品久久久久久久久 | 日韩精品成人一区二区三区 | 国产手机在线αⅴ片无码观看 | 一本久道久久综合狠狠爱 | 国产另类ts人妖一区二区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产无遮挡吃胸膜奶免费看 | 老头边吃奶边弄进去呻吟 | 精品人人妻人人澡人人爽人人 | 影音先锋中文字幕无码 | 精品一二三区久久aaa片 | 精品久久久久香蕉网 | 一区二区传媒有限公司 | 丝袜人妻一区二区三区 | 久久久久成人精品免费播放动漫 | 国产又爽又黄又刺激的视频 | 欧美真人作爱免费视频 | 日本一卡二卡不卡视频查询 | 国产内射老熟女aaaa | 国产香蕉尹人视频在线 | 欧美xxxxx精品 | 国产亚洲欧美日韩亚洲中文色 | 精品成在人线av无码免费看 | 久久久久久久久蜜桃 | 久久精品人人做人人综合 | 欧洲vodafone精品性 | 久久亚洲精品成人无码 | 67194成是人免费无码 | 久久97精品久久久久久久不卡 | 亚欧洲精品在线视频免费观看 | 久久人人97超碰a片精品 | 天堂亚洲2017在线观看 | 色婷婷综合激情综在线播放 | 欧美人与禽猛交狂配 | 久久精品国产亚洲精品 | 亚洲男女内射在线播放 | 双乳奶水饱满少妇呻吟 | 国产va免费精品观看 | 激情内射日本一区二区三区 | 亚洲色偷偷男人的天堂 | 成人aaa片一区国产精品 | 亚洲无人区午夜福利码高清完整版 | 欧美精品无码一区二区三区 | 人人超人人超碰超国产 | 亚洲天堂2017无码中文 | 疯狂三人交性欧美 | 人人妻人人澡人人爽欧美一区 | 日本免费一区二区三区最新 | 在线 国产 欧美 亚洲 天堂 | 99国产精品白浆在线观看免费 | 欧美高清在线精品一区 | 国内揄拍国内精品人妻 | 伦伦影院午夜理论片 | 中文字幕av无码一区二区三区电影 | 玩弄中年熟妇正在播放 | 大肉大捧一进一出视频出来呀 | 无码人妻黑人中文字幕 | 精品久久久无码中文字幕 | 亚洲 欧美 激情 小说 另类 | 亚洲国产精品无码久久久久高潮 | 国产精品va在线播放 | 四虎国产精品免费久久 | 国产香蕉97碰碰久久人人 | 日日天日日夜日日摸 | 亚洲欧美综合区丁香五月小说 | 国产精品igao视频网 | 两性色午夜视频免费播放 | 久久无码专区国产精品s | 日本大乳高潮视频在线观看 | 久久精品国产日本波多野结衣 | 在线亚洲高清揄拍自拍一品区 | 亚洲国产精品久久人人爱 | 国产亚洲精品久久久久久大师 | 麻豆成人精品国产免费 | 中文无码精品a∨在线观看不卡 | 日日摸日日碰夜夜爽av | 日本一区二区更新不卡 | 中文无码精品a∨在线观看不卡 | 午夜精品久久久内射近拍高清 | 撕开奶罩揉吮奶头视频 | 国产suv精品一区二区五 | 精品国精品国产自在久国产87 | 久久99精品久久久久久 | 中文字幕日产无线码一区 | 精品欧洲av无码一区二区三区 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 久久久精品456亚洲影院 | 一本一道久久综合久久 | 日产精品高潮呻吟av久久 | 精品人妻人人做人人爽夜夜爽 | 日本va欧美va欧美va精品 | 亚洲 日韩 欧美 成人 在线观看 | 99久久久无码国产精品免费 | 一区二区三区高清视频一 | 亚洲日韩av一区二区三区中文 | 东京热男人av天堂 | 国产办公室秘书无码精品99 | 精品久久久中文字幕人妻 | 一个人看的www免费视频在线观看 | 国产亚洲精品久久久久久大师 | 四虎永久在线精品免费网址 | 麻豆md0077饥渴少妇 | 黑人粗大猛烈进出高潮视频 | 国产后入清纯学生妹 | 人妻少妇精品无码专区动漫 | 伊人久久大香线蕉av一区二区 | 亚欧洲精品在线视频免费观看 | 日韩人妻无码中文字幕视频 | 无码乱肉视频免费大全合集 | 女人被男人躁得好爽免费视频 | 亚洲娇小与黑人巨大交 | 国产婷婷色一区二区三区在线 | 国产精品高潮呻吟av久久4虎 | 一本色道久久综合亚洲精品不卡 | 久久99精品国产麻豆蜜芽 | 在线观看免费人成视频 | 亚洲色欲久久久综合网东京热 | 日韩在线不卡免费视频一区 | 麻豆人妻少妇精品无码专区 | 亚洲人亚洲人成电影网站色 | 亚洲日韩av一区二区三区四区 | 精品久久久久久人妻无码中文字幕 | 高清不卡一区二区三区 | 国产性生交xxxxx无码 | 午夜嘿嘿嘿影院 | 在线а√天堂中文官网 | 亚洲乱码日产精品bd | 国产三级精品三级男人的天堂 | 欧洲精品码一区二区三区免费看 | 亚洲爆乳精品无码一区二区三区 | 久久99精品久久久久婷婷 | aⅴ在线视频男人的天堂 | 一本久久伊人热热精品中文字幕 | √天堂中文官网8在线 | 亚洲码国产精品高潮在线 | 午夜成人1000部免费视频 | 强伦人妻一区二区三区视频18 | 欧美肥老太牲交大战 | 中文字幕无码av波多野吉衣 | 永久免费观看国产裸体美女 | 久久国语露脸国产精品电影 | 国产精品久久国产精品99 | 女人被爽到呻吟gif动态图视看 | 亚洲成av人片天堂网无码】 | 国产午夜亚洲精品不卡下载 | 国产在线精品一区二区三区直播 | 久久综合久久自在自线精品自 | 天下第一社区视频www日本 | 女人被爽到呻吟gif动态图视看 | 婷婷五月综合缴情在线视频 | 国产午夜手机精彩视频 | 天堂无码人妻精品一区二区三区 | 十八禁视频网站在线观看 | 日韩人妻少妇一区二区三区 | 国产av久久久久精东av | 欧美日韩视频无码一区二区三 | 青青青爽视频在线观看 | 久久天天躁狠狠躁夜夜免费观看 | 好男人社区资源 | 人人爽人人爽人人片av亚洲 | 国产亚洲视频中文字幕97精品 | 亚洲一区二区三区播放 | 图片区 小说区 区 亚洲五月 | 国产免费观看黄av片 | 国产乱人伦偷精品视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美激情综合亚洲一二区 | 国产明星裸体无码xxxx视频 | 免费人成在线观看网站 | 综合激情五月综合激情五月激情1 | 野狼第一精品社区 | 国产av一区二区精品久久凹凸 | 国产精品怡红院永久免费 | 欧洲vodafone精品性 | 国产综合久久久久鬼色 | 国产无遮挡又黄又爽又色 | 日日天干夜夜狠狠爱 | 久久精品无码一区二区三区 | 国产精品成人av在线观看 | 国产人成高清在线视频99最全资源 | 国产免费久久精品国产传媒 | 欧洲vodafone精品性 | 六十路熟妇乱子伦 | 欧美大屁股xxxxhd黑色 | 一二三四在线观看免费视频 | 未满小14洗澡无码视频网站 | 亚洲の无码国产の无码步美 | 综合人妻久久一区二区精品 | 久久久精品成人免费观看 | 捆绑白丝粉色jk震动捧喷白浆 | 免费乱码人妻系列无码专区 | 久久久久久久人妻无码中文字幕爆 | 一本久道久久综合狠狠爱 | 特黄特色大片免费播放器图片 | a在线观看免费网站大全 | 亚洲第一无码av无码专区 | 欧美老人巨大xxxx做受 | 国产激情无码一区二区 | 国产一精品一av一免费 | 无码播放一区二区三区 | 3d动漫精品啪啪一区二区中 | 精品国产乱码久久久久乱码 | 亚洲国产精品久久人人爱 | 又色又爽又黄的美女裸体网站 | 欧美日韩色另类综合 | 一区二区三区高清视频一 | 亚洲国精产品一二二线 | 2020久久香蕉国产线看观看 | 亚洲一区二区观看播放 | 色婷婷av一区二区三区之红樱桃 | 性色av无码免费一区二区三区 | 国产激情一区二区三区 | av小次郎收藏 | 自拍偷自拍亚洲精品10p | 欧美国产亚洲日韩在线二区 | 国产乱人偷精品人妻a片 | 午夜精品久久久久久久久 | 亚洲精品国产第一综合99久久 | 狠狠cao日日穞夜夜穞av | 久久亚洲中文字幕精品一区 | 久激情内射婷内射蜜桃人妖 | 日本高清一区免费中文视频 | 无码人妻少妇伦在线电影 | 激情内射日本一区二区三区 | 97久久国产亚洲精品超碰热 | 天天摸天天碰天天添 | 国产又粗又硬又大爽黄老大爷视 | 国产精品久久久一区二区三区 | 中文无码伦av中文字幕 | 欧美日韩一区二区综合 | 色欲人妻aaaaaaa无码 | 久久人人爽人人爽人人片av高清 | 国产精品久久国产精品99 | 久久成人a毛片免费观看网站 | 国产明星裸体无码xxxx视频 | 无套内谢的新婚少妇国语播放 | 丰满少妇高潮惨叫视频 | 亚洲中文无码av永久不收费 | 麻豆国产97在线 | 欧洲 | 久久 国产 尿 小便 嘘嘘 | 爽爽影院免费观看 | 婷婷五月综合激情中文字幕 | 亚洲va中文字幕无码久久不卡 | 欧美成人午夜精品久久久 | 色欲综合久久中文字幕网 | 捆绑白丝粉色jk震动捧喷白浆 | 久激情内射婷内射蜜桃人妖 | 丁香花在线影院观看在线播放 | 亚洲色在线无码国产精品不卡 | 亚洲国产成人av在线观看 | 自拍偷自拍亚洲精品被多人伦好爽 | 精品无码成人片一区二区98 | 亚洲日韩av片在线观看 | 久久久久成人片免费观看蜜芽 | 男人扒开女人内裤强吻桶进去 | 大地资源网第二页免费观看 | 欧美日韩亚洲国产精品 | 久久久国产一区二区三区 | 欧美日韩色另类综合 | 2020久久超碰国产精品最新 | 午夜无码人妻av大片色欲 | 动漫av网站免费观看 | 欧美三级不卡在线观看 | 日韩欧美群交p片內射中文 | 国产精品亚洲а∨无码播放麻豆 | 久久午夜夜伦鲁鲁片无码免费 | 国产精品99爱免费视频 | 欧美成人午夜精品久久久 | 欧美丰满熟妇xxxx性ppx人交 | 宝宝好涨水快流出来免费视频 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲va中文字幕无码久久不卡 | 色综合天天综合狠狠爱 | 2019nv天堂香蕉在线观看 | 熟妇人妻无码xxx视频 | 精品成人av一区二区三区 | 国产乱人伦偷精品视频 | 999久久久国产精品消防器材 | 精品国产aⅴ无码一区二区 | 又大又黄又粗又爽的免费视频 | 女高中生第一次破苞av | 国产精品国产自线拍免费软件 | 国产成人精品视频ⅴa片软件竹菊 | 在线亚洲高清揄拍自拍一品区 | 日韩精品无码一区二区中文字幕 | a国产一区二区免费入口 | 丰满人妻一区二区三区免费视频 | 亚洲天堂2017无码 | 日本一区二区三区免费高清 | 国产激情艳情在线看视频 | 精品久久久久久人妻无码中文字幕 | 天堂无码人妻精品一区二区三区 | 野外少妇愉情中文字幕 | 亚洲精品午夜无码电影网 | 青草视频在线播放 | 久久精品国产大片免费观看 | 精品厕所偷拍各类美女tp嘘嘘 | av无码不卡在线观看免费 | 亚洲综合久久一区二区 | 亚洲国产高清在线观看视频 | 日本饥渴人妻欲求不满 | 老头边吃奶边弄进去呻吟 | 最新国产麻豆aⅴ精品无码 | а√资源新版在线天堂 | 日韩av无码一区二区三区 | 国产精品久久久av久久久 | 好男人社区资源 | 久久久中文字幕日本无吗 | 国产色在线 | 国产 | 国产明星裸体无码xxxx视频 | 国内丰满熟女出轨videos | 在线精品亚洲一区二区 | 久久精品99久久香蕉国产色戒 | 少女韩国电视剧在线观看完整 | 国产精品99爱免费视频 | 日韩精品成人一区二区三区 | 西西人体www44rt大胆高清 | 最新国产乱人伦偷精品免费网站 | 国内精品人妻无码久久久影院蜜桃 | 国产成人无码午夜视频在线观看 | 精品一区二区不卡无码av | 2020久久香蕉国产线看观看 | 欧美 日韩 亚洲 在线 | a片免费视频在线观看 | 四虎国产精品免费久久 | 色噜噜亚洲男人的天堂 | 小泽玛莉亚一区二区视频在线 | 无码精品人妻一区二区三区av | 国产三级久久久精品麻豆三级 | 中文字幕av无码一区二区三区电影 | 老熟女乱子伦 | 亚洲区小说区激情区图片区 | 老司机亚洲精品影院无码 | 激情五月综合色婷婷一区二区 | 久久99精品久久久久婷婷 | 青青久在线视频免费观看 | 熟妇激情内射com | 亚洲阿v天堂在线 | 秋霞特色aa大片 | 久久99精品久久久久久动态图 | 黑森林福利视频导航 | 亚洲日韩乱码中文无码蜜桃臀网站 | 樱花草在线播放免费中文 | 国产亚洲精品久久久久久久 | 麻豆av传媒蜜桃天美传媒 | 精品一区二区不卡无码av | 精品久久综合1区2区3区激情 | 2019nv天堂香蕉在线观看 | 精品熟女少妇av免费观看 | 亚洲一区二区三区国产精华液 | 亚洲国产综合无码一区 | 成人免费视频一区二区 | 国产精品亚洲五月天高清 | 日本免费一区二区三区最新 | 欧美老妇交乱视频在线观看 | 无码一区二区三区在线观看 | 牲交欧美兽交欧美 | 在线а√天堂中文官网 | 内射老妇bbwx0c0ck | 丝袜足控一区二区三区 | 狂野欧美性猛xxxx乱大交 | 国产电影无码午夜在线播放 | 精品成在人线av无码免费看 | 中文字幕无码人妻少妇免费 | 熟妇人妻无码xxx视频 | 永久免费观看美女裸体的网站 | 国产精品久久久久久无码 | 亚洲国产精品一区二区第一页 | 国产又粗又硬又大爽黄老大爷视 | 天堂亚洲2017在线观看 | 国产一区二区三区精品视频 | 荫蒂被男人添的好舒服爽免费视频 | 黑人巨大精品欧美一区二区 | 午夜熟女插插xx免费视频 | 女人被男人躁得好爽免费视频 | 精品久久久久久人妻无码中文字幕 | 无码一区二区三区在线观看 | 秋霞成人午夜鲁丝一区二区三区 | 综合人妻久久一区二区精品 | 97久久国产亚洲精品超碰热 | 免费无码午夜福利片69 | 国产一精品一av一免费 | 国产人妻久久精品二区三区老狼 | 熟女俱乐部五十路六十路av | 亚洲熟悉妇女xxx妇女av | 亚洲欧洲日本综合aⅴ在线 | 无码精品国产va在线观看dvd | 亚洲色www成人永久网址 | 久久 国产 尿 小便 嘘嘘 | www国产亚洲精品久久网站 | 国产成人无码区免费内射一片色欲 | 色综合视频一区二区三区 | 国产亚洲精品久久久久久国模美 | 搡女人真爽免费视频大全 | 久久久精品欧美一区二区免费 | 亚洲熟熟妇xxxx | 大乳丰满人妻中文字幕日本 | 国产精品二区一区二区aⅴ污介绍 | 国产国产精品人在线视 | 精品国产精品久久一区免费式 | 少妇厨房愉情理9仑片视频 | 欧美性黑人极品hd | 日本精品人妻无码77777 天堂一区人妻无码 | 人人妻人人藻人人爽欧美一区 | 55夜色66夜色国产精品视频 | 装睡被陌生人摸出水好爽 | 蜜桃视频韩日免费播放 | 国产av一区二区精品久久凹凸 | 亚洲综合精品香蕉久久网 | 精品国产一区二区三区四区 | 纯爱无遮挡h肉动漫在线播放 | 日韩人妻无码一区二区三区久久99 | 天天av天天av天天透 | 国产三级精品三级男人的天堂 | 精品人妻人人做人人爽 | 欧美日韩在线亚洲综合国产人 | 久久久久av无码免费网 | 人人妻人人澡人人爽人人精品 | 国产内射老熟女aaaa | 国产97人人超碰caoprom | 九九久久精品国产免费看小说 | 一本色道久久综合狠狠躁 | 日韩欧美群交p片內射中文 | 中文字幕无码日韩欧毛 | 在线看片无码永久免费视频 | 水蜜桃色314在线观看 | 日本一卡二卡不卡视频查询 | 乱人伦中文视频在线观看 | 亚洲国产高清在线观看视频 | 日日干夜夜干 | 女人色极品影院 | 青春草在线视频免费观看 | 色一情一乱一伦一视频免费看 | 97资源共享在线视频 | 东京无码熟妇人妻av在线网址 | 亚洲成av人片在线观看无码不卡 | а√资源新版在线天堂 | 亚洲狠狠婷婷综合久久 | 无码人妻精品一区二区三区下载 | 日本精品久久久久中文字幕 | 日本一区二区三区免费播放 | 欧美野外疯狂做受xxxx高潮 | 日韩人妻无码一区二区三区久久99 | 国内精品九九久久久精品 | 免费无码的av片在线观看 | 性色欲情网站iwww九文堂 | 亚洲色成人中文字幕网站 | 亚洲色成人中文字幕网站 | 十八禁视频网站在线观看 | 国产办公室秘书无码精品99 | 精品国产av色一区二区深夜久久 | 好男人www社区 | 国产亚洲精品久久久久久 | 久久久久se色偷偷亚洲精品av | 亚洲国产一区二区三区在线观看 | 久久99精品久久久久婷婷 | 自拍偷自拍亚洲精品10p | 精品成在人线av无码免费看 | 精品国偷自产在线视频 | 国产精品久久久久久亚洲影视内衣 | 国产精品手机免费 | 亚洲成av人在线观看网址 | 全黄性性激高免费视频 | 国产精品无码成人午夜电影 | 国内揄拍国内精品少妇国语 | 在线观看国产午夜福利片 | 久久久久久九九精品久 | 疯狂三人交性欧美 | 婷婷丁香六月激情综合啪 | 大胆欧美熟妇xx | 国产性生交xxxxx无码 | 久久亚洲国产成人精品性色 | 成年美女黄网站色大免费视频 | 亚洲综合无码久久精品综合 | 亚洲国产午夜精品理论片 | 精品一区二区三区波多野结衣 | 精品成人av一区二区三区 | 男人的天堂av网站 | 成人免费视频一区二区 | 亚洲日韩一区二区三区 | 三上悠亚人妻中文字幕在线 | 久久亚洲国产成人精品性色 | 水蜜桃色314在线观看 | 亚洲熟妇色xxxxx欧美老妇y | 精品无人国产偷自产在线 | 无码人妻少妇伦在线电影 | 亚洲成av人片在线观看无码不卡 | v一区无码内射国产 | 国产精品.xx视频.xxtv | 东京热一精品无码av | 亚洲男人av天堂午夜在 | 久久精品中文字幕大胸 | 丰满人妻精品国产99aⅴ | 精品无码一区二区三区爱欲 | 国产国产精品人在线视 | 黑人巨大精品欧美一区二区 | 最新国产乱人伦偷精品免费网站 | 免费无码的av片在线观看 | 国产精品.xx视频.xxtv | 九九久久精品国产免费看小说 | 亚洲精品国产第一综合99久久 | 国产特级毛片aaaaaaa高清 | 亚洲成av人片在线观看无码不卡 | 国产成人精品三级麻豆 | 欧美高清在线精品一区 | 伊人久久大香线焦av综合影院 | 亚洲国产精品毛片av不卡在线 | 日韩成人一区二区三区在线观看 | 中文字幕人妻无码一夲道 | 澳门永久av免费网站 | 377p欧洲日本亚洲大胆 | 久久精品一区二区三区四区 | 国产三级久久久精品麻豆三级 | 亚洲男女内射在线播放 | 无码人妻精品一区二区三区下载 | 久久99精品久久久久久动态图 | 欧美人与禽zoz0性伦交 | 人妻有码中文字幕在线 | 九一九色国产 | 久久午夜无码鲁丝片秋霞 | 97精品人妻一区二区三区香蕉 | 久久久久久久人妻无码中文字幕爆 | 日本一本二本三区免费 | 成人性做爰aaa片免费看不忠 | 露脸叫床粗话东北少妇 | 无遮无挡爽爽免费视频 | 久久精品人人做人人综合试看 | 久久无码中文字幕免费影院蜜桃 | 男女猛烈xx00免费视频试看 | 在线а√天堂中文官网 | 国产亚洲人成a在线v网站 | 毛片内射-百度 | 欧美一区二区三区视频在线观看 | 欧美亚洲日韩国产人成在线播放 | 亚洲s色大片在线观看 | 麻豆精品国产精华精华液好用吗 | 国产精品18久久久久久麻辣 | 特级做a爰片毛片免费69 | 日日天日日夜日日摸 | 东京热无码av男人的天堂 | 国内精品久久毛片一区二区 | 又粗又大又硬又长又爽 | 无套内射视频囯产 | 免费国产成人高清在线观看网站 | 少妇被粗大的猛进出69影院 | 国产在热线精品视频 | 欧美人与物videos另类 | 国产精品久久久久影院嫩草 | 久久无码人妻影院 | 亚洲日韩精品欧美一区二区 | 亚洲欧洲日本综合aⅴ在线 | 好男人www社区 | av无码久久久久不卡免费网站 | 亚洲大尺度无码无码专区 | 亚洲色偷偷男人的天堂 | 无码国产乱人伦偷精品视频 | 色欲久久久天天天综合网精品 | 超碰97人人做人人爱少妇 | 婷婷色婷婷开心五月四房播播 | 国产人妻精品一区二区三区不卡 | 亚洲精品欧美二区三区中文字幕 | 日日碰狠狠躁久久躁蜜桃 | 2019午夜福利不卡片在线 | 中文字幕无码av波多野吉衣 | 亚洲七七久久桃花影院 | 久热国产vs视频在线观看 | 久久人人爽人人爽人人片ⅴ | 国产农村乱对白刺激视频 | 欧美国产亚洲日韩在线二区 | 欧美性猛交xxxx富婆 | 午夜福利试看120秒体验区 | 无码人妻丰满熟妇区毛片18 | 99久久精品无码一区二区毛片 | 欧美精品一区二区精品久久 | 日本大乳高潮视频在线观看 | 亚洲中文字幕无码一久久区 | 久久精品国产日本波多野结衣 | 国内精品人妻无码久久久影院 | 久久zyz资源站无码中文动漫 | 国产熟女一区二区三区四区五区 | 色妞www精品免费视频 | 欧美 丝袜 自拍 制服 另类 | 国产明星裸体无码xxxx视频 | 在线播放免费人成毛片乱码 | 亚洲小说图区综合在线 | 欧美三级不卡在线观看 | 18无码粉嫩小泬无套在线观看 | 亚洲自偷自拍另类第1页 | 欧美日韩一区二区三区自拍 | 无码av岛国片在线播放 | 丝袜美腿亚洲一区二区 | 日本熟妇浓毛 | 亚洲成av人在线观看网址 | 国产特级毛片aaaaaa高潮流水 | 无遮挡国产高潮视频免费观看 | 欧美国产日产一区二区 | 日本丰满熟妇videos | 在线播放免费人成毛片乱码 | 无码人妻黑人中文字幕 | 中文精品久久久久人妻不卡 | 国产精品久久国产三级国 | 熟女体下毛毛黑森林 | 中文字幕乱码人妻二区三区 | 国产极品美女高潮无套在线观看 | 国产av人人夜夜澡人人爽麻豆 | 成人精品一区二区三区中文字幕 | 老头边吃奶边弄进去呻吟 | 亚洲精品一区二区三区四区五区 | 少女韩国电视剧在线观看完整 | 亚洲色欲色欲天天天www | 日本丰满熟妇videos | 无码人妻精品一区二区三区不卡 | 亚洲国产欧美日韩精品一区二区三区 | 无码人妻精品一区二区三区不卡 | 老熟妇乱子伦牲交视频 | 国产av久久久久精东av | 欧美野外疯狂做受xxxx高潮 | 中文字幕精品av一区二区五区 | 亚洲中文字幕乱码av波多ji | 国产精品亚洲а∨无码播放麻豆 | 久久亚洲中文字幕无码 | 精品无码国产一区二区三区av | 扒开双腿吃奶呻吟做受视频 | 无码av最新清无码专区吞精 | 久久天天躁夜夜躁狠狠 | 1000部啪啪未满十八勿入下载 | 色婷婷综合中文久久一本 | 中文字幕无码乱人伦 | 婷婷六月久久综合丁香 | 亚洲精品一区二区三区婷婷月 | 免费人成网站视频在线观看 | 亚洲自偷精品视频自拍 | 亚洲春色在线视频 | 日韩av激情在线观看 | 国产口爆吞精在线视频 | 免费无码午夜福利片69 | 乱中年女人伦av三区 | 久久久婷婷五月亚洲97号色 | 久久亚洲a片com人成 | 一本色道久久综合亚洲精品不卡 | 性欧美疯狂xxxxbbbb | 日本www一道久久久免费榴莲 | 99精品无人区乱码1区2区3区 | 日本成熟视频免费视频 | 欧美兽交xxxx×视频 | 国产av人人夜夜澡人人爽麻豆 | 欧美性生交活xxxxxdddd | 黑森林福利视频导航 | 国产色在线 | 国产 | 丝袜人妻一区二区三区 | 日本精品少妇一区二区三区 | 亚洲色在线无码国产精品不卡 | 波多野结衣一区二区三区av免费 | 成人性做爰aaa片免费看不忠 | 女人被男人爽到呻吟的视频 | 2020久久超碰国产精品最新 | 色综合久久久无码网中文 | 日韩欧美中文字幕公布 | 黑人巨大精品欧美一区二区 | 无码毛片视频一区二区本码 | 欧美日韩视频无码一区二区三 | 欧美xxxx黑人又粗又长 | 国产va免费精品观看 | 国产精品无码久久av | 亚洲综合无码久久精品综合 | 成人aaa片一区国产精品 | 无套内谢的新婚少妇国语播放 | 亚洲色大成网站www国产 | аⅴ资源天堂资源库在线 | 午夜熟女插插xx免费视频 | 亚洲午夜久久久影院 | 在线播放亚洲第一字幕 | 国产午夜福利亚洲第一 | 久久午夜夜伦鲁鲁片无码免费 | 正在播放老肥熟妇露脸 | 国产色在线 | 国产 | 亚洲经典千人经典日产 | 亚洲国产午夜精品理论片 | 国产熟妇另类久久久久 | 亚洲国产精品无码久久久久高潮 | 亚洲欧洲无卡二区视頻 | 婷婷综合久久中文字幕蜜桃三电影 | 黑人粗大猛烈进出高潮视频 | 永久黄网站色视频免费直播 | 麻花豆传媒剧国产免费mv在线 | 精品国产成人一区二区三区 | 在线观看国产一区二区三区 | 少妇无码av无码专区在线观看 | 欧美性黑人极品hd | 丰满岳乱妇在线观看中字无码 | 亚洲人成网站在线播放942 | 大肉大捧一进一出好爽视频 | 国产亚洲精品精品国产亚洲综合 | 国产乡下妇女做爰 | 领导边摸边吃奶边做爽在线观看 | 奇米影视7777久久精品 | 熟妇人妻无乱码中文字幕 | 人人超人人超碰超国产 | 国产精品久久国产三级国 | 日产精品99久久久久久 | √天堂中文官网8在线 | 亚洲一区二区三区国产精华液 | 久久久久se色偷偷亚洲精品av | 久久99精品国产.久久久久 | 国产精品.xx视频.xxtv | 玩弄人妻少妇500系列视频 | 天天摸天天碰天天添 | 亚洲 a v无 码免 费 成 人 a v | 国产熟女一区二区三区四区五区 | 老熟妇仑乱视频一区二区 | 国产成人一区二区三区别 | www国产亚洲精品久久网站 | 一本色道久久综合狠狠躁 | 无码纯肉视频在线观看 | 激情爆乳一区二区三区 | 亚洲精品一区三区三区在线观看 | 亚洲日本一区二区三区在线 | 波多野结衣av一区二区全免费观看 | 久久久久久久人妻无码中文字幕爆 | 性做久久久久久久久 | 欧美精品一区二区精品久久 | 成 人 网 站国产免费观看 | 国产 精品 自在自线 | 正在播放老肥熟妇露脸 | 国产超级va在线观看视频 | 成人三级无码视频在线观看 | 日日天日日夜日日摸 | 老子影院午夜精品无码 | 国产精品无套呻吟在线 | 99久久婷婷国产综合精品青草免费 | 亚洲日韩av一区二区三区四区 | 麻豆md0077饥渴少妇 | 67194成是人免费无码 | 日本大乳高潮视频在线观看 | 欧美高清在线精品一区 | 奇米影视888欧美在线观看 | 色窝窝无码一区二区三区色欲 | 十八禁视频网站在线观看 | 亚洲综合精品香蕉久久网 | 国产偷自视频区视频 | 又粗又大又硬毛片免费看 | 欧美黑人乱大交 | 亚洲 另类 在线 欧美 制服 | 国产精品成人av在线观看 | 国产激情一区二区三区 | 我要看www免费看插插视频 | 亚洲aⅴ无码成人网站国产app | 亚洲精品午夜国产va久久成人 | 午夜精品一区二区三区在线观看 | 婷婷色婷婷开心五月四房播播 | 欧美精品免费观看二区 | 日本精品少妇一区二区三区 | 久久无码中文字幕免费影院蜜桃 | 精品一区二区三区无码免费视频 | 在线精品国产一区二区三区 | 日本一区二区更新不卡 | 精品国产aⅴ无码一区二区 | 乌克兰少妇xxxx做受 | 久久久国产精品无码免费专区 | 亚洲人亚洲人成电影网站色 | 国产真实乱对白精彩久久 | 人妻人人添人妻人人爱 | 国精产品一品二品国精品69xx | 性色欲网站人妻丰满中文久久不卡 | 久久久精品国产sm最大网站 | 国产97色在线 | 免 | 白嫩日本少妇做爰 | 人妻互换免费中文字幕 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 中文字幕人成乱码熟女app | 午夜无码区在线观看 | 亚洲欧美中文字幕5发布 | 午夜性刺激在线视频免费 | 国产va免费精品观看 | 无码av最新清无码专区吞精 | 国内精品一区二区三区不卡 | 一二三四在线观看免费视频 | 久久精品中文字幕一区 | 无码精品人妻一区二区三区av | 国产亚洲精品久久久久久国模美 | 亚洲人成无码网www | 亚洲综合无码一区二区三区 | 自拍偷自拍亚洲精品被多人伦好爽 | 夜夜高潮次次欢爽av女 | 国产绳艺sm调教室论坛 | 国产在线无码精品电影网 | 任你躁国产自任一区二区三区 | 色窝窝无码一区二区三区色欲 | 狠狠噜狠狠狠狠丁香五月 | 国产精品久久久久7777 | 青草视频在线播放 | 国产午夜亚洲精品不卡下载 | 国产色xx群视频射精 | 丰满少妇弄高潮了www | 日本乱偷人妻中文字幕 | 色综合久久久无码中文字幕 | 久久久久久久女国产乱让韩 | 亚洲精品午夜国产va久久成人 | 国产亚洲精品久久久久久久 | 未满成年国产在线观看 | 日本一卡2卡3卡四卡精品网站 | 熟妇女人妻丰满少妇中文字幕 | 性色欲情网站iwww九文堂 | 76少妇精品导航 | 久久精品一区二区三区四区 | 中文字幕+乱码+中文字幕一区 | 无套内谢的新婚少妇国语播放 | а√天堂www在线天堂小说 | 九月婷婷人人澡人人添人人爽 | 亚洲人亚洲人成电影网站色 | 国产精品毛片一区二区 | 亚无码乱人伦一区二区 | 成人试看120秒体验区 | 日韩 欧美 动漫 国产 制服 | 乱人伦人妻中文字幕无码久久网 | 内射白嫩少妇超碰 | 国产人妻久久精品二区三区老狼 | 亚洲色大成网站www | 麻豆国产人妻欲求不满谁演的 | 激情亚洲一区国产精品 | 精品国产一区二区三区四区 | 人妻人人添人妻人人爱 | 3d动漫精品啪啪一区二区中 | 兔费看少妇性l交大片免费 | 伊人久久大香线蕉亚洲 | 麻豆md0077饥渴少妇 | 国内精品人妻无码久久久影院蜜桃 | 精品 日韩 国产 欧美 视频 | 国产美女极度色诱视频www | 老熟妇仑乱视频一区二区 | 女人被男人爽到呻吟的视频 | 熟女少妇在线视频播放 | 中文无码精品a∨在线观看不卡 | 久久国内精品自在自线 | 99久久精品无码一区二区毛片 | 国产av剧情md精品麻豆 | 荡女精品导航 | 亚洲综合无码久久精品综合 | 亚洲人成网站免费播放 | 国产免费久久久久久无码 | 无码纯肉视频在线观看 | 欧美刺激性大交 | 一本久久伊人热热精品中文字幕 | 国产国语老龄妇女a片 | 亚洲国产精品久久人人爱 | 亚洲精品成a人在线观看 | 欧美人与动性行为视频 | 亚洲性无码av中文字幕 | 大肉大捧一进一出视频出来呀 | 奇米影视7777久久精品 | 国产精华av午夜在线观看 | 奇米影视888欧美在线观看 | 蜜桃av抽搐高潮一区二区 | 国产精品亚洲五月天高清 | 51国偷自产一区二区三区 | 国産精品久久久久久久 | 精品夜夜澡人妻无码av蜜桃 | 欧洲vodafone精品性 | 理论片87福利理论电影 | 国产精品亚洲lv粉色 | 免费国产黄网站在线观看 | 永久黄网站色视频免费直播 | 久久亚洲a片com人成 | a国产一区二区免费入口 | 亚洲精品一区二区三区大桥未久 | 亚洲七七久久桃花影院 | 国产色xx群视频射精 | 久久精品国产亚洲精品 | 性生交大片免费看l | 99在线 | 亚洲 | 国产av剧情md精品麻豆 | 男女性色大片免费网站 | 四虎4hu永久免费 | 欧美日韩一区二区综合 | 人妻与老人中文字幕 | 欧美亚洲日韩国产人成在线播放 | 亚洲精品成人av在线 | 7777奇米四色成人眼影 | 亚洲精品一区二区三区四区五区 | 亚洲国产av精品一区二区蜜芽 | 亚洲色www成人永久网址 | 亚洲爆乳无码专区 | 狠狠噜狠狠狠狠丁香五月 | a片免费视频在线观看 | 国产特级毛片aaaaaa高潮流水 | 波多野结衣av在线观看 | 国产欧美亚洲精品a | 久久精品中文字幕一区 | 人人爽人人澡人人高潮 | 久久久久久a亚洲欧洲av冫 | 久久人人爽人人爽人人片ⅴ | 中文字幕无码免费久久9一区9 | 中文无码精品a∨在线观看不卡 | 麻豆蜜桃av蜜臀av色欲av | 人妻插b视频一区二区三区 | 人妻夜夜爽天天爽三区 | 男人扒开女人内裤强吻桶进去 | 国产热a欧美热a在线视频 | 亚洲热妇无码av在线播放 | 又大又紧又粉嫩18p少妇 | 国产熟妇高潮叫床视频播放 | 色婷婷综合中文久久一本 | 日本一卡2卡3卡四卡精品网站 | 国内综合精品午夜久久资源 | 久久久久久久久蜜桃 | 俺去俺来也www色官网 | 国产乱人伦av在线无码 | 88国产精品欧美一区二区三区 | 人妻夜夜爽天天爽三区 | 疯狂三人交性欧美 | 免费看少妇作爱视频 | 国产乱人偷精品人妻a片 | 性做久久久久久久久 | 少女韩国电视剧在线观看完整 | 在线视频网站www色 | 欧洲熟妇精品视频 | 国产区女主播在线观看 | 久久亚洲a片com人成 | 高清国产亚洲精品自在久久 | 99精品国产综合久久久久五月天 | 大地资源网第二页免费观看 | 国产午夜无码精品免费看 | 少妇无码吹潮 | 丝袜 中出 制服 人妻 美腿 | 国产无遮挡又黄又爽又色 | 亚洲s码欧洲m码国产av | 四虎国产精品免费久久 | 在线精品国产一区二区三区 | 午夜熟女插插xx免费视频 | 久久精品国产一区二区三区肥胖 | 激情内射亚州一区二区三区爱妻 | 久久久久av无码免费网 | 女人被男人躁得好爽免费视频 | 亚洲国产精品美女久久久久 | 久久久久se色偷偷亚洲精品av | 人妻aⅴ无码一区二区三区 | 精品国偷自产在线视频 | 日本xxxx色视频在线观看免费 | 色偷偷人人澡人人爽人人模 | 精品国偷自产在线视频 | 免费乱码人妻系列无码专区 | 欧美黑人性暴力猛交喷水 | 无码人妻出轨黑人中文字幕 | 久久精品人人做人人综合试看 | 国产免费久久久久久无码 | 少妇无码一区二区二三区 | 日韩成人一区二区三区在线观看 | 三上悠亚人妻中文字幕在线 | 荫蒂被男人添的好舒服爽免费视频 | 一本精品99久久精品77 | 丰满诱人的人妻3 | 国产人成高清在线视频99最全资源 | 国内精品九九久久久精品 | 福利一区二区三区视频在线观看 | 人人澡人人妻人人爽人人蜜桃 | 老太婆性杂交欧美肥老太 | 午夜不卡av免费 一本久久a久久精品vr综合 | 亚洲乱码国产乱码精品精 | 国产精华av午夜在线观看 | 波多野结衣乳巨码无在线观看 | 99久久精品国产一区二区蜜芽 | 免费国产成人高清在线观看网站 | 亚洲成a人一区二区三区 | 强伦人妻一区二区三区视频18 | 午夜丰满少妇性开放视频 | 久久综合网欧美色妞网 | 国产成人综合色在线观看网站 | 亚洲乱码中文字幕在线 | 99国产精品白浆在线观看免费 | 人人澡人人透人人爽 | 成人精品天堂一区二区三区 | 少妇性荡欲午夜性开放视频剧场 | 亚洲日本一区二区三区在线 | 四虎永久在线精品免费网址 | 无码人妻精品一区二区三区不卡 | 亚洲色在线无码国产精品不卡 | 无码帝国www无码专区色综合 | 欧洲vodafone精品性 | 国产精品多人p群无码 | 欧美日韩一区二区三区自拍 | 国产午夜福利100集发布 | 熟妇激情内射com | 午夜性刺激在线视频免费 | 欧美日本精品一区二区三区 | 影音先锋中文字幕无码 | 97夜夜澡人人爽人人喊中国片 | 性欧美牲交在线视频 | 亚洲欧洲无卡二区视頻 | 久久99精品久久久久久 | 内射老妇bbwx0c0ck | 97人妻精品一区二区三区 | 午夜精品一区二区三区的区别 | 内射欧美老妇wbb | 纯爱无遮挡h肉动漫在线播放 | 久久久精品人妻久久影视 | 鲁大师影院在线观看 | 亚洲小说图区综合在线 | 国产无套内射久久久国产 | 亚洲七七久久桃花影院 | 国产又爽又黄又刺激的视频 | 国产午夜精品一区二区三区嫩草 | 精品欧美一区二区三区久久久 | 欧美性猛交xxxx富婆 | 亚洲成色在线综合网站 | 亚洲精品一区国产 | 粉嫩少妇内射浓精videos | 乱人伦中文视频在线观看 | 无码人妻黑人中文字幕 | 国产精品久久久久久久影院 | 欧美日本精品一区二区三区 | 中文字幕 人妻熟女 | 性色av无码免费一区二区三区 | 狂野欧美性猛xxxx乱大交 | 日韩人妻系列无码专区 | 免费男性肉肉影院 | 久久精品国产一区二区三区肥胖 | 国产又爽又猛又粗的视频a片 | 色噜噜亚洲男人的天堂 | 欧洲熟妇精品视频 | 国产成人无码av片在线观看不卡 | 国产97色在线 | 免 | 国产亚av手机在线观看 | 日韩精品成人一区二区三区 | 日本乱人伦片中文三区 | 暴力强奷在线播放无码 | 久久国产自偷自偷免费一区调 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲欧美中文字幕5发布 | 亚洲性无码av中文字幕 | 成熟人妻av无码专区 | 精品无码国产一区二区三区av | 婷婷丁香五月天综合东京热 | 国产色在线 | 国产 | 在线欧美精品一区二区三区 | 亚洲热妇无码av在线播放 | 亚洲啪av永久无码精品放毛片 | 国精品人妻无码一区二区三区蜜柚 | 日本乱人伦片中文三区 | 天堂无码人妻精品一区二区三区 | 国产精品高潮呻吟av久久 | 无码中文字幕色专区 | 国产婷婷色一区二区三区在线 | 牲欲强的熟妇农村老妇女视频 | www一区二区www免费 | 撕开奶罩揉吮奶头视频 | 精品 日韩 国产 欧美 视频 | 国产成人无码av片在线观看不卡 | 亚洲色欲色欲天天天www | 7777奇米四色成人眼影 | 久久综合九色综合欧美狠狠 | 国产精品自产拍在线观看 | 一本一道久久综合久久 | 亚洲色欲色欲欲www在线 | 国产三级精品三级男人的天堂 | 在线看片无码永久免费视频 | 日韩少妇内射免费播放 | 曰韩少妇内射免费播放 | 亚洲一区二区三区含羞草 | 99久久人妻精品免费二区 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 强伦人妻一区二区三区视频18 | 无码人妻精品一区二区三区下载 | 夜精品a片一区二区三区无码白浆 | 爽爽影院免费观看 | 亚洲色欲色欲欲www在线 | 亚洲精品国产品国语在线观看 | 久久精品国产精品国产精品污 | 无遮无挡爽爽免费视频 | 天堂一区人妻无码 | 无码人妻av免费一区二区三区 | 免费乱码人妻系列无码专区 | 无套内谢老熟女 | 图片区 小说区 区 亚洲五月 | 精品成人av一区二区三区 | 亚洲天堂2017无码中文 | 亚洲色偷偷男人的天堂 | 亚洲 a v无 码免 费 成 人 a v | 成人av无码一区二区三区 | 欧美成人家庭影院 | 国产乱人伦偷精品视频 | 亚洲成av人综合在线观看 | 131美女爱做视频 | 亚洲精品综合一区二区三区在线 | 一本色道久久综合亚洲精品不卡 | 欧美亚洲日韩国产人成在线播放 | 天天综合网天天综合色 | 曰韩少妇内射免费播放 | аⅴ资源天堂资源库在线 | 少妇性荡欲午夜性开放视频剧场 | 国产香蕉尹人视频在线 | 性欧美大战久久久久久久 | 国产明星裸体无码xxxx视频 | 精品国产av色一区二区深夜久久 | 亚洲日韩精品欧美一区二区 | 亚洲娇小与黑人巨大交 | 老太婆性杂交欧美肥老太 | 伦伦影院午夜理论片 | 无码任你躁久久久久久久 | 亚洲成av人片天堂网无码】 | 玩弄少妇高潮ⅹxxxyw | 久久国内精品自在自线 | 狂野欧美激情性xxxx | 色综合久久久无码网中文 | 国产超级va在线观看视频 | 亚洲综合另类小说色区 | 亚洲成色在线综合网站 | 男女猛烈xx00免费视频试看 | 久久久久久亚洲精品a片成人 | 日韩亚洲欧美中文高清在线 | 欧美阿v高清资源不卡在线播放 | 国产av久久久久精东av | 亚洲 欧美 激情 小说 另类 | 欧美性黑人极品hd | 蜜桃视频插满18在线观看 | 午夜福利电影 | 久久久无码中文字幕久... | 国产极品美女高潮无套在线观看 | 亚洲七七久久桃花影院 | 成人亚洲精品久久久久 | 久久午夜夜伦鲁鲁片无码免费 | 国产乱人无码伦av在线a | 欧美xxxx黑人又粗又长 | 精品久久久中文字幕人妻 | 久久婷婷五月综合色国产香蕉 | 中文字幕无码免费久久99 | 人妻插b视频一区二区三区 | 人妻无码久久精品人妻 | 少妇被黑人到高潮喷出白浆 | 强奷人妻日本中文字幕 | 全黄性性激高免费视频 | 久久精品国产日本波多野结衣 | www国产亚洲精品久久久日本 | 青草视频在线播放 | 日日躁夜夜躁狠狠躁 | 色综合久久中文娱乐网 | 亚洲爆乳精品无码一区二区三区 | 老熟女乱子伦 | 真人与拘做受免费视频一 | 天天摸天天透天天添 | 午夜福利试看120秒体验区 | 国产精品无码成人午夜电影 | 亚洲熟妇自偷自拍另类 | 欧美午夜特黄aaaaaa片 | 夜夜夜高潮夜夜爽夜夜爰爰 | 一本久久伊人热热精品中文字幕 | 97久久超碰中文字幕 | 国产成人一区二区三区在线观看 | 国产精品久久国产三级国 | 欧美阿v高清资源不卡在线播放 | 九九在线中文字幕无码 | 亚洲日韩av一区二区三区四区 | 久久久国产精品无码免费专区 | 天堂无码人妻精品一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 欧美真人作爱免费视频 | 欧美成人免费全部网站 | 99麻豆久久久国产精品免费 | 人妻尝试又大又粗久久 | 国产色精品久久人妻 | 无码人妻出轨黑人中文字幕 | 给我免费的视频在线观看 | 精品久久久久久亚洲精品 | 无码人妻久久一区二区三区不卡 | 免费人成在线观看网站 | 午夜成人1000部免费视频 | 人妻尝试又大又粗久久 | 青青青手机频在线观看 | 欧美亚洲日韩国产人成在线播放 | 国产精品爱久久久久久久 | 国产又爽又猛又粗的视频a片 | 久久综合色之久久综合 | 亚洲人成影院在线无码按摩店 | 国产激情无码一区二区 | 国产成人精品一区二区在线小狼 | 亚洲综合无码久久精品综合 | 99久久精品国产一区二区蜜芽 | а√资源新版在线天堂 | 99久久人妻精品免费二区 | 亚洲一区二区三区在线观看网站 | 亚洲精品一区二区三区四区五区 | 四虎永久在线精品免费网址 | 西西人体www44rt大胆高清 | 成人精品视频一区二区三区尤物 | 日本大乳高潮视频在线观看 | 国产精品久久久午夜夜伦鲁鲁 | 岛国片人妻三上悠亚 | 亚洲综合伊人久久大杳蕉 | 极品嫩模高潮叫床 | 色婷婷香蕉在线一区二区 | 久久久久免费看成人影片 | 奇米影视888欧美在线观看 | 黑人巨大精品欧美一区二区 | 精品人妻av区 | 久久国产精品精品国产色婷婷 | 国产精品二区一区二区aⅴ污介绍 | 日本一卡二卡不卡视频查询 | 性欧美疯狂xxxxbbbb | 国产午夜精品一区二区三区嫩草 | 精品久久久久久亚洲精品 | 中文字幕无码免费久久99 | 性啪啪chinese东北女人 | 亚洲阿v天堂在线 | 日日天干夜夜狠狠爱 | 又大又紧又粉嫩18p少妇 | 中国女人内谢69xxxxxa片 | 两性色午夜视频免费播放 | 亚洲欧洲无卡二区视頻 | 色综合久久88色综合天天 | 岛国片人妻三上悠亚 | √8天堂资源地址中文在线 | 国产激情艳情在线看视频 | 亚洲а∨天堂久久精品2021 | 国产精品美女久久久网av | 美女张开腿让人桶 | 美女扒开屁股让男人桶 | 少妇愉情理伦片bd | 激情内射亚州一区二区三区爱妻 | 欧美日韩人成综合在线播放 | 国产一区二区三区四区五区加勒比 | 国产艳妇av在线观看果冻传媒 | 131美女爱做视频 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 精品国产一区二区三区四区 | 国产性生大片免费观看性 | 人妻中文无码久热丝袜 | 国产亚洲精品久久久久久 | 欧美日韩在线亚洲综合国产人 | 日韩精品乱码av一区二区 | 日本一卡2卡3卡四卡精品网站 | 久久精品人妻少妇一区二区三区 | 99久久精品日本一区二区免费 | 亚洲区欧美区综合区自拍区 | 日日天日日夜日日摸 | 国产超碰人人爽人人做人人添 | 99久久无码一区人妻 | 亚洲 a v无 码免 费 成 人 a v | 欧美黑人性暴力猛交喷水 | 中文字幕无线码免费人妻 | 国产一区二区三区精品视频 | 中文字幕乱码亚洲无线三区 | 国产三级久久久精品麻豆三级 | 日本乱偷人妻中文字幕 | 成 人 网 站国产免费观看 | 国产av无码专区亚洲awww | 亚洲精品久久久久avwww潮水 | 在教室伦流澡到高潮hnp视频 | 国产麻豆精品精东影业av网站 | 欧美 日韩 人妻 高清 中文 | 亚欧洲精品在线视频免费观看 | 国产偷自视频区视频 | 免费观看又污又黄的网站 | 国产成人精品视频ⅴa片软件竹菊 | 中文字幕 亚洲精品 第1页 | 中文毛片无遮挡高清免费 | 色窝窝无码一区二区三区色欲 | 欧美老人巨大xxxx做受 | 纯爱无遮挡h肉动漫在线播放 | 国产熟女一区二区三区四区五区 | 一本大道久久东京热无码av | 国产熟女一区二区三区四区五区 | 中文字幕乱码中文乱码51精品 | 欧洲熟妇精品视频 | 小鲜肉自慰网站xnxx | 一个人看的www免费视频在线观看 | 丰满护士巨好爽好大乳 | 性色欲网站人妻丰满中文久久不卡 | 国产偷自视频区视频 | 婷婷色婷婷开心五月四房播播 | 无码中文字幕色专区 | 久久久久久国产精品无码下载 | 国产特级毛片aaaaaa高潮流水 | 99er热精品视频 | 无码精品人妻一区二区三区av | 人人爽人人爽人人片av亚洲 | 色情久久久av熟女人妻网站 | 亚洲一区二区三区在线观看网站 | 荫蒂添的好舒服视频囗交 | 日本高清一区免费中文视频 | 国产综合在线观看 | 亚洲一区二区三区 | 欧美成人高清在线播放 | 成 人 网 站国产免费观看 | 亚洲日韩av一区二区三区四区 | 久久亚洲精品中文字幕无男同 | 澳门永久av免费网站 | 中文毛片无遮挡高清免费 | 久久精品中文字幕一区 | 中文字幕乱码人妻无码久久 | 亚洲成a人片在线观看无码3d | 亚洲aⅴ无码成人网站国产app | 久久国产自偷自偷免费一区调 | 亚洲欧美日韩成人高清在线一区 | 久久人人爽人人爽人人片av高清 | 国产区女主播在线观看 | 曰本女人与公拘交酡免费视频 | 国产无套内射久久久国产 | 亚洲第一网站男人都懂 | 国内揄拍国内精品人妻 | 人妻少妇精品视频专区 | 波多野42部无码喷潮在线 | 亚洲爆乳精品无码一区二区三区 | 亚洲精品国产第一综合99久久 | 国産精品久久久久久久 | 激情亚洲一区国产精品 | 天海翼激烈高潮到腰振不止 | 久久99精品国产.久久久久 | 亚洲精品久久久久久久久久久 | 久久综合色之久久综合 | 亚洲va中文字幕无码久久不卡 | 奇米影视7777久久精品 | 99riav国产精品视频 | 国产人妻大战黑人第1集 | 久久精品人妻少妇一区二区三区 | 精品国产成人一区二区三区 | 中文字幕+乱码+中文字幕一区 | 欧美阿v高清资源不卡在线播放 | 人人超人人超碰超国产 | 国产精品爱久久久久久久 | 亚洲综合另类小说色区 | 午夜福利试看120秒体验区 | 99久久久无码国产aaa精品 | 久久精品国产亚洲精品 | 欧美怡红院免费全部视频 | 国产精品亚洲综合色区韩国 | 国内少妇偷人精品视频免费 | 亚洲精品中文字幕久久久久 | 日本精品人妻无码免费大全 | 无码毛片视频一区二区本码 | 俺去俺来也在线www色官网 | 东北女人啪啪对白 | 国产精品福利视频导航 | 国产午夜福利亚洲第一 | 国产三级久久久精品麻豆三级 | 无码人妻精品一区二区三区不卡 | 99久久久无码国产精品免费 | 一本久久a久久精品vr综合 | 日本一区二区三区免费播放 | 少妇一晚三次一区二区三区 | 欧美xxxxx精品 | 草草网站影院白丝内射 | 久久精品人人做人人综合试看 | 思思久久99热只有频精品66 | 国产福利视频一区二区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产午夜福利亚洲第一 | 欧美老妇交乱视频在线观看 | 亚洲 激情 小说 另类 欧美 | 中文毛片无遮挡高清免费 | 中文字幕av日韩精品一区二区 | 精品一二三区久久aaa片 | 亚洲国产欧美在线成人 | 水蜜桃av无码 | 国产精品久久精品三级 | 亚洲熟女一区二区三区 | 国产成人无码区免费内射一片色欲 | 风流少妇按摩来高潮 | 欧美肥老太牲交大战 | 中文字幕无码免费久久9一区9 | 国内精品九九久久久精品 | 精品无码一区二区三区的天堂 | 呦交小u女精品视频 | 波多野结衣av一区二区全免费观看 | 成人一在线视频日韩国产 | 国产超碰人人爽人人做人人添 | 日韩亚洲欧美精品综合 | 婷婷丁香六月激情综合啪 | 熟妇人妻无码xxx视频 | 国产亚洲精品精品国产亚洲综合 | 国产人妖乱国产精品人妖 | 狠狠色欧美亚洲狠狠色www | 日韩人妻无码一区二区三区久久99 | 久久久久久久人妻无码中文字幕爆 | 久久99精品久久久久久动态图 | 成年美女黄网站色大免费视频 | 领导边摸边吃奶边做爽在线观看 | 久久久久免费精品国产 | 久久久久久久人妻无码中文字幕爆 | 久久久久亚洲精品男人的天堂 | 人妻中文无码久热丝袜 | 亚洲国产成人av在线观看 | 999久久久国产精品消防器材 | 久久精品人人做人人综合 | 久久 国产 尿 小便 嘘嘘 | 少妇无码吹潮 | 国产一区二区不卡老阿姨 | 亚洲成av人在线观看网址 | 在线看片无码永久免费视频 | 粗大的内捧猛烈进出视频 | 国産精品久久久久久久 | 粗大的内捧猛烈进出视频 | 一本大道久久东京热无码av | 久久国产精品偷任你爽任你 | 精品夜夜澡人妻无码av蜜桃 | 亚洲中文字幕无码中文字在线 | 国产av一区二区三区最新精品 | 精品国产成人一区二区三区 | 久久人人爽人人爽人人片ⅴ | 18黄暴禁片在线观看 | 99久久精品无码一区二区毛片 | 亚洲日韩av一区二区三区中文 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 日韩无套无码精品 | 欧美野外疯狂做受xxxx高潮 | 久久综合九色综合欧美狠狠 | 精品国偷自产在线 | 2020久久香蕉国产线看观看 | 夜先锋av资源网站 | 欧美午夜特黄aaaaaa片 | 久久99精品国产麻豆蜜芽 | 国产乱人无码伦av在线a | 国产精品亚洲а∨无码播放麻豆 | 一个人看的www免费视频在线观看 | 精品一区二区三区无码免费视频 | 无码一区二区三区在线 | 蜜桃臀无码内射一区二区三区 | 日本护士xxxxhd少妇 | 无码av免费一区二区三区试看 | 欧美放荡的少妇 | 久久久亚洲欧洲日产国码αv | 国产明星裸体无码xxxx视频 | 麻豆国产97在线 | 欧洲 | 亚洲成a人片在线观看无码3d | 免费无码一区二区三区蜜桃大 | 国产精品久久久 | 中文字幕人妻无码一夲道 | 久久综合香蕉国产蜜臀av | 精品日本一区二区三区在线观看 | 午夜福利一区二区三区在线观看 | 波多野结衣 黑人 | 国产精品视频免费播放 | 亚洲精品一区二区三区在线 | 青青久在线视频免费观看 | 国产va免费精品观看 | 图片小说视频一区二区 | 亚洲精品一区二区三区四区五区 | 欧美日韩久久久精品a片 | 国产成人精品无码播放 | 任你躁国产自任一区二区三区 | 色窝窝无码一区二区三区色欲 | 成人无码视频免费播放 | 久久综合激激的五月天 | 亚洲精品一区二区三区在线 | 国产成人一区二区三区在线观看 | 久久精品中文字幕大胸 | 天海翼激烈高潮到腰振不止 | 东京热男人av天堂 | 久久久国产一区二区三区 | 亚洲欧美日韩国产精品一区二区 | 狠狠色色综合网站 | 日韩视频 中文字幕 视频一区 | 亚洲经典千人经典日产 | 精品偷拍一区二区三区在线看 | 亚洲成av人在线观看网址 | 无码一区二区三区在线观看 | 精品偷自拍另类在线观看 | 欧美性猛交内射兽交老熟妇 | 久久久久成人片免费观看蜜芽 | 人妻aⅴ无码一区二区三区 | 性欧美熟妇videofreesex | 亚洲日本va午夜在线电影 | 无码国产乱人伦偷精品视频 | 超碰97人人做人人爱少妇 | 久久人人97超碰a片精品 | 亚洲综合精品香蕉久久网 | 综合激情五月综合激情五月激情1 | 伊人久久大香线蕉av一区二区 | 全黄性性激高免费视频 | 一本久道高清无码视频 | 欧美freesex黑人又粗又大 | 性生交片免费无码看人 | 蜜臀av无码人妻精品 | 伊人色综合久久天天小片 | 女人高潮内射99精品 | 国产成人午夜福利在线播放 | 色婷婷综合激情综在线播放 | 粉嫩少妇内射浓精videos |