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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

AbstractQueuedSynchronizer 原理分析 - Condition 实现原理

發布時間:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AbstractQueuedSynchronizer 原理分析 - Condition 实现原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 簡介

Condition是一個接口,AbstractQueuedSynchronizer 中的ConditionObject內部類實現了這個接口。Condition聲明了一組等待/通知的方法,這些方法的功能與Object中的wait/notify/notifyAll等方法相似。這兩者相同的地方在于,它們所提供的等待/通知方法均是為了協同線程的運行秩序。只不過,Object 中的方法需要配合 synchronized 關鍵字使用,而 Condition 中的方法則要配合鎖對象使用,并通過newCondition方法獲取實現類對象。除此之外,Condition 接口中聲明的方法功能上更為豐富一些。比如,Condition 聲明了具有不響應中斷和超時功能的等待接口,這些都是 Object wait 方法所不具備的。

本篇文章是上一篇文章AbstractQueuedSynchronizer 原理分析 - 獨占/共享模式的續篇,在學習 Condition 的原理前,建議大家先去了解 AbstractQueuedSynchronizer 同步隊列相關原理。本篇文章會涉及到同步隊列相關知識,這些知識在上一篇文章分析過。

關于Condition的簡介這里先說到這,接下來分析一下Condition實現類ConditionObject的原理。

?2. 實現原理

ConditionObject是通過基于單鏈表的條件隊列來管理等待線程的。線程在調用await方法進行等待時,會釋放同步狀態。同時線程將會被封裝到一個等待節點中,并將節點置入條件隊列尾部進行等待。當有線程在獲取獨占鎖的情況下調用signal或singalAll方法時,隊列中的等待線程將會被喚醒,重新競爭鎖。另外,需要說明的是,一個鎖對象可同時創建多個 ConditionObject 對象,這意味著多個競爭同一獨占鎖的線程可在不同的條件隊列中進行等待。在喚醒時,可喚醒指定條件隊列中的線程。其大致示意圖如下:

以上就是 ConditionObject 所實現的等待/通知機制的大致原理,并不是很難理解。當然,在具體的實現中,則考慮的更為細致一些。相關細節將會在接下來一章中進行說明,繼續往下看吧。

?3. 源碼解析

?3.1 等待

ConditionObject 中實現了幾種不同的等待方法,每種方法均有它自己的特點。比如await()會響應中斷,而awaitUninterruptibly()則不響應中斷。await(long, TimeUnit)則會在響應中斷的基礎上,新增了超時功能。除此之外,還有一些等待方法,這里就不一一列舉了。

在本節中,我將主要分析await()的方法實現。其他的等待方法大同小異,就不一一分析了,有興趣的朋友可以自己看一下。好了,接下來進入源碼分析階段。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 /*** await 是一個響應中斷的等待方法,主要邏輯流程如下:* 1. 如果線程中斷了,拋出 InterruptedException 異常* 2. 將線程封裝到節點對象里,并將節點添加到條件隊列尾部* 3. 保存并完全釋放同步狀態,保存下來的同步狀態在重新競爭鎖時會用到* 4. 線程進入等待狀態,直到被通知或中斷才會恢復運行* 5. 使用第3步保存的同步狀態去競爭獨占鎖*/ public final void await() throws InterruptedException {// 線程中斷,則拋出中斷異常,對應步驟1if (Thread.interrupted())throw new InterruptedException();// 添加等待節點到條件隊列尾部,對應步驟2Node node = addConditionWaiter();// 保存并完全釋放同步狀態,對應步驟3。此方法的意義會在后面詳細說明。int savedState = fullyRelease(node);int interruptMode = 0;/** 判斷節點是否在同步隊列上,如果不在則阻塞線程。* 循環結束的條件:* 1. 其他線程調用 singal/singalAll,node 將會被轉移到同步隊列上。node 對應線程將* 會在獲取同步狀態的過程中被喚醒,并走出 while 循環。* 2. 線程在阻塞過程中產生中斷*/ while (!isOnSyncQueue(node)) {// 調用 LockSupport.park 阻塞當前線程,對應步驟4LockSupport.park(this);/** 檢測中斷模式,這里有兩種中斷模式,如下:* THROW_IE:* 中斷在 node 轉移到同步隊列“前”發生,需要當前線程自行將 node 轉移到同步隊* 列中,并在隨后拋出 InterruptedException 異常。* * REINTERRUPT:* 中斷在 node 轉移到同步隊列“期間”或“之后”發生,此時表明有線程正在調用 * singal/singalAll 轉移節點。在該種中斷模式下,再次設置線程的中斷狀態。* 向后傳遞中斷標志,由后續代碼去處理中斷。*/if ((interruptMode = checkInterruptWhileWaiting(node)) != 0)break;}/** 被轉移到同步隊列的節點 node 將在 acquireQueued 方法中重新獲取同步狀態,注意這里* 的這里的 savedState 是上面調用 fullyRelease 所返回的值,與此對應,可以把這里的 * acquireQueued 作用理解為 fullyAcquire(并不存在這個方法)。* * 如果上面的 while 循環沒有產生中斷,則 interruptMode = 0。但 acquireQueued 方法* 可能會產生中斷,產生中斷時返回 true。這里仍將 interruptMode 設為 REINTERRUPT,* 目的是繼續向后傳遞中斷,acquireQueued 不會處理中斷。*/if (acquireQueued(node, savedState) && interruptMode != THROW_IE)interruptMode = REINTERRUPT;/** 正常通過 singal/singalAll 轉移節點到同步隊列時,nextWaiter 引用會被置空。* 若發生線程產生中斷(THROW_IE)或 fullyRelease 方法出現錯誤等異常情況,* 該引用則不會被置空*/ if (node.nextWaiter != null) // clean up if cancelled// 清理等待狀態非 CONDITION 的節點unlinkCancelledWaiters();if (interruptMode != 0)/** 根據 interruptMode 覺得中斷的處理方式:* THROW_IE:拋出 InterruptedException 異常* REINTERRUPT:重新設置線程中斷標志*/ reportInterruptAfterWait(interruptMode); }/** 將當先線程封裝成節點,并將節點添加到條件隊列尾部 */ private Node addConditionWaiter() {Node t = lastWaiter;/** 清理等待狀態為 CANCELLED 的節點。fullyRelease 內部調用 release 發生異常或釋放同步狀* 態失敗時,節點的等待狀態會被設置為 CANCELLED。所以這里要清理一下已取消的節點*/if (t != null && t.waitStatus != Node.CONDITION) {unlinkCancelledWaiters();t = lastWaiter;}// 創建節點,并將節點置于隊列尾部Node node = new Node(Thread.currentThread(), Node.CONDITION);if (t == null)firstWaiter = node;elset.nextWaiter = node;lastWaiter = node;return node; }/** 清理等待狀態為 CANCELLED 的節點 */ private void unlinkCancelledWaiters() {Node t = firstWaiter;// 指向上一個等待狀態為非 CANCELLED 的節點Node trail = null;while (t != null) {Node next = t.nextWaiter;if (t.waitStatus != Node.CONDITION) {t.nextWaiter = null;/** trail 為 null,表明 next 之前的節點等待狀態均為 CANCELLED,此時更新 * firstWaiter 引用的指向。* trail 不為 null,表明 next 之前有節點的等待狀態為 CONDITION,這時將 * trail.nextWaiter 指向 next 節點。*/if (trail == null)firstWaiter = next;elsetrail.nextWaiter = next;// next 為 null,表明遍歷到條件隊列尾部了,此時將 lastWaiter 指向 trailif (next == null)lastWaiter = trail;}else// t.waitStatus = Node.CONDITION,則將 trail 指向 ttrail = t;t = next;} }/*** 這個方法用于完全釋放同步狀態。這里解釋一下完全釋放的原因:為了避免死鎖的產生,鎖的實現上* 一般應該支持重入功能。對應的場景就是一個線程在不釋放鎖的情況下可以多次調用同一把鎖的 * lock 方法進行加鎖,且不會加鎖失敗,如失敗必然導致導致死鎖。鎖的實現類可通過 AQS 中的整型成員* 變量 state 記錄加鎖次數,每次加鎖,將 state++。每次 unlock 方法釋放鎖時,則將 state--,* 直至 state = 0,線程完全釋放鎖。用這種方式即可實現了鎖的重入功能。*/ final int fullyRelease(Node node) {boolean failed = true;try {// 獲取同步狀態數值int savedState = getState();// 調用 release 釋放指定數量的同步狀態if (release(savedState)) {failed = false;return savedState;} else {throw new IllegalMonitorStateException();}} finally {// 如果 relase 出現異常或釋放同步狀態失敗,此處將 node 的等待狀態設為 CANCELLEDif (failed)node.waitStatus = Node.CANCELLED;} }/** 該方法用于判斷節點 node 是否在同步隊列上 */ final boolean isOnSyncQueue(Node node) {/** 節點在同步隊列上時,其狀態可能為 0、SIGNAL、PROPAGATE 和 CANCELLED 其中之一,* 但不會為 CONDITION,所以可已通過節點的等待狀態來判斷節點所處的隊列。* * node.prev 僅會在節點獲取同步狀態后,調用 setHead 方法將自己設為頭結點時被置為 * null,所以只要節點在同步隊列上,node.prev 一定不會為 null*/if (node.waitStatus == Node.CONDITION || node.prev == null)return false;/** 如果節點后繼被為 null,則表明節點在同步隊列上。因為條件隊列使用的是 nextWaiter 指* 向后繼節點的,條件隊列上節點的 next 指針均為 null。但僅以 node.next != null 條* 件斷定節點在同步隊列是不充分的。節點在入隊過程中,是先設置 node.prev,后設置 * node.next。如果設置完 node.prev 后,線程被切換了,此時 node.next 仍然為 * null,但此時 node 確實已經在同步隊列上了,所以這里還需要進行后續的判斷。*/if (node.next != null)return true;// 在同步隊列上,從后向前查找 node 節點return findNodeFromTail(node); }/** 由于同步隊列上的的節點 prev 引用不會為空,所以這里從后向前查找 node 節點 */ private boolean findNodeFromTail(Node node) {Node t = tail;for (;;) {if (t == node)return true;if (t == null)return false;t = t.prev;} }/** 檢測線程在等待期間是否發生了中斷 */ private int checkInterruptWhileWaiting(Node node) {return Thread.interrupted() ?(transferAfterCancelledWait(node) ? THROW_IE : REINTERRUPT) :0; }/** * 判斷中斷發生的時機,分為兩種:* 1. 中斷在節點被轉移到同步隊列前發生,此時返回 true* 2. 中斷在節點被轉移到同步隊列期間或之后發生,此時返回 false*/ final boolean transferAfterCancelledWait(Node node) {// 中斷在節點被轉移到同步隊列前發生,此時自行將節點轉移到同步隊列上,并返回 trueif (compareAndSetWaitStatus(node, Node.CONDITION, 0)) {// 調用 enq 將節點轉移到同步隊列中enq(node);return true;}/** 如果上面的條件分支失敗了,則表明已經有線程在調用 signal/signalAll 方法了,這兩個* 方法會先將節點等待狀態由 CONDITION 設置為 0 后,再調用 enq 方法轉移節點。下面判斷節* 點是否已經在同步隊列上的原因是,signal/signalAll 方法可能僅設置了等待狀態,還沒* 來得及轉移節點就被切換走了。所以這里用自旋的方式判斷 signal/signalAll 是否已經完* 成了轉移操作。這種情況表明了中斷發生在節點被轉移到同步隊列期間。*/while (!isOnSyncQueue(node))Thread.yield();}// 中斷在節點被轉移到同步隊列期間或之后發生,返回 falsereturn false; }/*** 根據中斷類型做出相應的處理:* THROW_IE:拋出 InterruptedException 異常* REINTERRUPT:重新設置中斷標志,向后傳遞中斷*/ private void reportInterruptAfterWait(int interruptMode)throws InterruptedException {if (interruptMode == THROW_IE)throw new InterruptedException();else if (interruptMode == REINTERRUPT)selfInterrupt(); }/** 中斷線程 */ static void selfInterrupt() {Thread.currentThread().interrupt(); }

?3.2 通知

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 /** 將條件隊列中的頭結點轉移到同步隊列中 */ public final void signal() {// 檢查線程是否獲取了獨占鎖,未獲取獨占鎖調用 signal 方法是不允許的if (!isHeldExclusively())throw new IllegalMonitorStateException();Node first = firstWaiter;if (first != null)// 將頭結點轉移到同步隊列中doSignal(first); }private void doSignal(Node first) {do {/** 將 firstWaiter 指向 first 節點的 nextWaiter 節點,while 循環將會用到更新后的 * firstWaiter 作為判斷條件。*/ if ( (firstWaiter = first.nextWaiter) == null)lastWaiter = null;// 將頭結點從條件隊列中移除first.nextWaiter = null;/** 調用 transferForSignal 將節點轉移到同步隊列中,如果失敗,且 firstWaiter* 不為 null,則再次進行嘗試。transferForSignal 成功了,while 循環就結束了。*/} while (!transferForSignal(first) &&(first = firstWaiter) != null); }/** 這個方法用于將條件隊列中的節點轉移到同步隊列中 */ final boolean transferForSignal(Node node) {/** 如果將節點的等待狀態由 CONDITION 設為 0 失敗,則表明節點被取消。* 因為 transferForSignal 中不存在線程競爭的問題,所以下面的 CAS * 失敗的唯一原因是節點的等待狀態為 CANCELLED。*/ if (!compareAndSetWaitStatus(node, Node.CONDITION, 0))return false;// 調用 enq 方法將 node 轉移到同步隊列中,并返回 node 的前驅節點 pNode p = enq(node);int ws = p.waitStatus;/** 如果前驅節點的等待狀態 ws > 0,則表明前驅節點處于取消狀態,此時應喚醒 node 對應的* 線程去獲取同步狀態。如果 ws <= 0,這里通過 CAS 將節點 p 的等待設為 SIGNAL。* 這樣,節點 p 在釋放同步狀態后,才會喚醒后繼節點 node。如果 CAS 設置失敗,則應立即* 喚醒 node 節點對應的線程。以免因 node 沒有被喚醒導致同步隊列掛掉。關于同步隊列的相關的* 知識,請參考我的另一篇文章“AbstractQueuedSynchronizer 原理分析 - 獨占/共享模式”,* 鏈接為:http://t.cn/RuERpHl*/if (ws > 0 || !compareAndSetWaitStatus(p, ws, Node.SIGNAL))LockSupport.unpark(node.thread);return true; }

看完了 signal 方法的分析,下面再來看看 signalAll 的源碼分析,如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 public final void signalAll() {// 檢查線程是否獲取了獨占鎖if (!isHeldExclusively())throw new IllegalMonitorStateException();Node first = firstWaiter;if (first != null)doSignalAll(first); }private void doSignalAll(Node first) {lastWaiter = firstWaiter = null;/** 將條件隊列中所有的節點轉移到同步隊列中。與 doSignal 方法略有不同,主要區別在 * while 循環的循環條件上,下的循環只有在條件隊列中沒節點后才終止。*/ do {Node next = first.nextWaiter;// 將 first 節點從條件隊列中移除first.nextWaiter = null;// 轉移節點到同步隊列上transferForSignal(first);first = next; } while (first != null); }

?4. 其他

在我閱讀 ConditionObject 源碼時發現了一個問題 - await 方法竟然沒有做同步控制。而在 signal 和 signalAll 方法開頭都會調用 isHeldExclusively 檢測線程是否已經獲取了獨占鎖,未獲取獨占鎖調用這兩個方法會拋出異常。但在 await 方法中,卻沒有進行相關的檢測。如果在正確的使用方式下調用 await 方法是不會出現問題的,所謂正確的使用方式指的是在獲取鎖的情況下調用 await 方法。但如果沒獲取鎖就調用該方法,就會產生線程競爭的情況,這將會對條件隊列的結構造成破壞。這里再來看一下新增節點的方法源碼,如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 private Node addConditionWaiter() {Node t = lastWaiter;if (t != null && t.waitStatus != Node.CONDITION) {unlinkCancelledWaiters();t = lastWaiter;}Node node = new Node(Thread.currentThread(), Node.CONDITION);// 存在競爭時將會導致節點入隊出錯if (t == null)firstWaiter = node;elset.nextWaiter = node;lastWaiter = node;return node; }

假如現在有線程 t1 和 t2,對應節點 node1 和 node2。線程 t1 獲取了鎖,而 t2 未獲取鎖,此時條件隊列為空,即 firstWaiter = lastWaiter = null。演繹一下會導致條件隊列被破壞的場景,如下:

  • 時刻1:線程 t1 和 t2 同時執行到?if (t == null),兩個線程都認為 if 條件滿足
  • 時刻2:線程 t1 初始化 firstWaiter,即將 firstWaiter 指向 node1
  • 時刻3:線程 t2 再次修改 firstWaiter 的指向,此時 firstWaiter 指向 node2
  • 如上,如果線程是按照上面的順序執行,這會導致隊列被破壞。firstWaiter 本應該指向 node1,但結果卻指向了 node2,node1 被排擠出了隊列。這樣會導致什么問題呢?這樣可能會導致線程 t1 一直阻塞下去。因為 signal/signalAll 是從條件隊列頭部轉移節點的,但 node1 不在隊列中,所以 node1 無法被轉移到同步隊列上。在不出現中斷的情況下,node1 對應的線程 t1 會被永久阻塞住。

    這里未對 await 方法進行同步控制,導致條件隊列出現問題,應該算 ConditionObject 實現上的一個缺陷了。關于這個缺陷,博客園博主?活在夢裡?在他的文章?AbstractQueuedSynchronizer源碼解讀–續篇之Condition?中也提到了。并向 JDK 開發者提了一個 BUG,BUG 鏈接為?JDK-8187408,有興趣的同學可以去看看。

    ?5. 總結

    到這里,Condition 的原理就分析完了。分析完 Condition 原理,關于 AbstractQueuedSynchronizer 的分析也就結束了。總體來說,通過分析 AQS 并寫成博客,使我對 AQS 的原理有了更深刻的認識。AQS 是 JDK 中鎖和其他并發組件實現的基礎,弄懂 AQS 原理對后續在分析各種鎖和其他同步組件大有裨益。

    AQS 本身實現比較復雜,要處理各種各樣的情況。作為類庫,AQS 要考慮和處理各種可能的情況,實現起來可謂非常復雜。不僅如此,AQS 還很好的封裝了同步隊列的管理,線程的阻塞與喚醒等基礎操作,大大降低了繼承類實現同步控制功能的復雜度。所以,在本文的最后,再次向 AQS 的作者,Java 大師Doug Lea致敬。

    好了,本文到此結束,謝謝大家閱讀。

    ?參考

    • AbstractQueuedSynchronizer源碼解讀–續篇之Condition
    • 本文鏈接:?https://www.tianxiaobo.com/2018/05/04/AbstractQueuedSynchronizer-原理分析-Condition-實現原理/

    from:?http://www.tianxiaobo.com/2018/05/04/AbstractQueuedSynchronizer-%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90-Condition-%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86/?

    總結

    以上是生活随笔為你收集整理的AbstractQueuedSynchronizer 原理分析 - Condition 实现原理的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    超碰97在线人人 | 人人添人人澡人人澡人人人爽 | 天天干天天操天天搞 | 黄色片免费看 | 色综合小说 | 91在线视频免费 | 欧美日韩综合在线 | 一级免费看 | 免费在线一区二区 | 色综合久久精品 | 六月丁香激情综合 | 久久九九网站 | 久久成人国产精品免费软件 | 国产一级视频在线免费观看 | 欧美99热| 视频在线91 | 婷婷激情小说网 | 久久国产精品一区二区三区四区 | 久久久片| 欧美国产日韩一区二区三区 | 日日干天天爽 | av观看在线观看 | 免费黄色激情视频 | 久久婷婷色| 日韩视频专区 | 黄色一级网 | 91免费试看 | 九九免费观看视频 | 久章草在线观看 | 深夜免费福利 | 欧洲性视频 | 探花视频在线观看免费 | 手机av片 | 99精品免费在线观看 | 久久久九九 | 国产97在线视频 | 国产精品色视频 | 国产成人一区二区三区免费看 | 韩日精品中文字幕 | 日韩高清三区 | 有没有在线观看av | 午夜三级理论 | 天天躁天天狠天天透 | 狠狠操狠狠干天天操 | 奇米影音四色 | 日韩免费观看一区二区 | 九九九在线观看视频 | 成人黄大片视频在线观看 | 豆豆色资源网xfplay | 欧美在线观看小视频 | a视频在线播放 | 韩国av永久免费 | 91视视频在线直接观看在线看网页在线看 | 黄色精品在线看 | 亚洲精品xxxx | 免费看的黄色网 | 日韩欧美综合在线视频 | 中文字幕日本在线观看 | 日韩三级免费观看 | a亚洲视频 | 最新中文字幕在线观看视频 | 亚洲一区免费在线 | 岛国av在线不卡 | 国产在线视频一区二区三区 | 免费三级骚 | 久久综合之合合综合久久 | 国产成人av在线影院 | 成人免费精品 | 九九热re| 免费a视频 | 一区二区三区国产欧美 | 天天搞天天干天天色 | 日本动漫做毛片一区二区 | 黄色软件网站在线观看 | h视频在线看| 天天舔天天射天天操 | 免费中文字幕在线观看 | 久久久影片 | 在线观看精品一区 | 亚洲精品美女 | 日韩欧美高清在线观看 | 91精品视频在线观看免费 | 久久久亚洲精华液 | 在线视频18在线视频4k | 亚洲人片在线观看 | 欧美乱大交 | 99久久婷婷国产综合精品 | 久久激情小说 | 国产精品久久久久久久久久白浆 | 中文字幕亚洲欧美 | 人人爱人人射 | 国产99免费 | 日韩理论片在线 | 久久全国免费视频 | 在线观看91精品国产网站 | 91在线视频免费观看 | 九九免费精品视频在线观看 | 成人黄色片在线播放 | 国产伦精品一区二区三区无广告 | 激情婷婷丁香 | 九九热re| 国产h片在线观看 | 黄色特级片| 麻豆久久| 婷婷色在线观看 | 免费看一级 | 最新影院 | 亚洲高清视频在线观看免费 | 婷婷综合激情 | 国产黄色片免费观看 | 天天操天天操天天干 | 欧美午夜理伦三级在线观看 | 91av中文| 国产不卡网站 | 欧美另类老妇 | www.天天草 | 欧美性精品 | 菠萝菠萝在线精品视频 | 手机在线中文字幕 | 精品高清美女精品国产区 | 久久国产免费视频 | 99久久精品免费看国产四区 | 亚洲日本精品视频 | 操操操操网 | 国产美女精品久久久 | 九九欧美视频 | 日本久久不卡视频 | 久久网站最新地址 | 91人人澡人人爽 | 狠狠狠狠狠干 | 日韩欧美国产精品 | 日韩电影久久 | 日韩电影中文,亚洲精品乱码 | 国产黄色大片 | 日韩动漫免费观看高清完整版在线观看 | 日本99热 | www五月天| 久久久久久久久久国产精品 | 美女网站色免费 | 精品国产一区二 | 五月婷婷一区二区三区 | 午夜性生活 | 日产av在线播放 | 开心激情久久 | 一个色综合网站 | 国产高清黄 | 九草在线观看 | 99精品电影 | 久久国产福利 | 国产免费黄视频在线观看 | 国产精品一区二区久久精品爱微奶 | 国产免费成人 | 国产精品一区二区在线看 | 日韩免费av在线 | 亚洲精品免费在线观看视频 | 日日干网址 | 国产一二区在线观看 | 天天干天天干天天色 | 91免费观看 | 麻豆果冻剧传媒在线播放 | 狠狠操天天操 | 精品国产乱码久久久久久三级人 | a特级毛片 | 亚洲国产一二三 | 国产视频精选在线 | 国产原创在线观看 | 精品亚洲男同gayvideo网站 | 成人免费91| 久久久久国产精品一区二区 | 激情文学综合丁香 | 国产精品成人一区二区三区吃奶 | 狠狠色丁香婷婷综合久小说久 | 国产品久精国精产拍 | 午夜久久福利视频 | 中文字幕在线观看视频免费 | a在线免费观看视频 | 黄色网址国产 | 日韩不卡高清 | 三级av在线 | 国产小视频在线 | 亚洲精品福利在线观看 | 中国一级片在线播放 | 草久在线观看视频 | 91精品一区国产高清在线gif | 色大片免费看 | 日韩色在线观看 | 久久国产精品偷 | 制服丝袜天堂 | 国产精品久久在线 | 亚洲高清视频在线播放 | 99视频播放 | 男女全黄一级一级高潮免费看 | 久久伊人精品一区二区三区 | 日韩电影在线观看中文字幕 | 在线不卡的av | 又黄又爽又无遮挡的视频 | 亚洲在线黄色 | av线上看 | 成人资源在线播放 | 日韩欧美高清不卡 | 欧美日韩在线视频一区 | 日韩精品一区二区三区第95 | 成人黄色资源 | 亚洲精品免费播放 | av大片网址 | 欧美精品做受xxx性少妇 | 波多野结衣一区三区 | 成人国产综合 | 日本三级久久久 | 亚洲欧美视频在线播放 | 人人干97| 亚洲一区二区精品在线 | 日韩精品久久久久久中文字幕8 | 久久婷婷国产 | 中文字幕在线国产 | 在线观看日本高清mv视频 | 亚洲免费不卡 | 日本一区二区免费在线观看 | 国产第一页在线观看 | 中文字幕 国产视频 | 免费高清在线一区 | 日本不卡久久 | 成人免费在线看片 | 玖玖爱国产在线 | 久草视频在线资源 | 奇米影视999 | 人人人爽| 六月婷婷久香在线视频 | aaa黄色毛片| 久久天堂影院 | 狠狠干狠狠操 | 国色天香永久免费 | 91福利专区 | 久久亚洲综合国产精品99麻豆的功能介绍 | 超碰在线天天 | 久久综合五月天婷婷伊人 | 国产香蕉视频在线播放 | 久久全国免费视频 | 国产在线观看免费 | 国产在线欧美在线 | 久久久久欧美精品 | 国产精品va视频 | 在线观看免费观看在线91 | 久久久国产精品人人片99精片欧美一 | 国产一区二区不卡视频 | 美女久久久久久久久久久 | 亚洲作爱| 天天射天天射 | 91亚洲精品久久久中文字幕 | 97人人超| 国产精品高清一区二区三区 | 99免费看片 | 国产精品丝袜 | 国产在线超碰 | 草在线 | 亚洲一二三区精品 | 免费国产一区二区视频 | 91色国产 | 国产精品免费小视频 | 久久精品一二三区 | 午夜精品一区二区三区免费 | 日韩精品在线一区 | 午夜精品av | av蜜桃在线 | 88av视频 | 亚洲黄色三级 | 丁香激情网 | 亚洲精品999| 精品国产免费观看 | 国产午夜在线观看 | 欧美黑人性爽 | 少妇bbb | 亚洲精品综合欧美二区变态 | 不卡日韩av| a天堂中文在线 | 国产精品免费一区二区三区 | 免费在线看成人av | 国产精品乱码久久 | 亚州性色 | 女人18片毛片90分钟 | 精品国产片 | 天天干天天摸 | 九九热在线播放 | 亚洲资源网 | 一区二区 不卡 | 色婷婷av一区 | 日韩欧美视频一区二区 | 亚洲视频 在线观看 | 伊人五月在线 | 视频二区在线视频 | 亚洲精品黄网站 | 久久免费精品国产 | 97视频入口免费观看 | 又黄又刺激又爽的视频 | 婷婷精品| 日韩精品无码一区二区三区 | 亚洲成av人片在线观看 | 久久久久久久久久久综合 | 特级毛片在线观看 | 精品乱码一区二区三四区 | 欧美精品一区二区在线播放 | 91漂亮少妇露脸在线播放 | 亚洲乱码精品 | 国产精品视频地址 | 99 久久久久 | 国产美女搞久久 | 视频一区二区在线观看 | 色人久久 | 中文字幕一区二区三区在线视频 | 日韩精品中文字幕在线不卡尤物 | 日精品 | 中文字幕在线资源 | 亚洲视频免费在线看 | 日本亚洲国产 | 婷婷丁香自拍 | 色久av| 黄色小说视频网站 | 成年人国产视频 | 美女啪啪图片 | 久久国产精品免费 | 视色网站 | 五月婷婷欧美 | 日本韩国中文字幕 | 最新的av网站 | 国产人在线成免费视频 | 国产精品久久久久久欧美 | 国产精品大全 | 97超级碰| 天天干天天操天天射 | 亚洲国产日韩欧美在线 | 四虎永久精品在线 | 在线观看视频91 | 天天综合人人 | 视频三区 | 免费在线黄 | 日本激情视频中文字幕 | 久久久在线视频 | 日韩在线电影 | 亚洲天堂网在线播放 | 91成人在线观看喷潮 | 国内综合精品午夜久久资源 | 中文字幕日韩免费视频 | 尤物一区二区三区 | 日韩av线观看 | 亚洲欧美激情插 | 国产91精品高清一区二区三区 | 2021久久 | 久久久久欠精品国产毛片国产毛生 | 久久精品79国产精品 | 久久久久免费视频 | 国产韩国日本高清视频 | 91成人国产 | 国产手机在线观看 | 午夜久久影视 | 91手机电视 | 免费观看国产精品 | 亚洲人成网站精品片在线观看 | 免费观看完整版无人区 | 亚洲 综合 国产 精品 | 13日本xxxxxⅹxxx20 | 欧美日产一区 | 日韩素人在线观看 | 日本xxxx裸体xxxx17| 成人免费91 | 97成人在线免费视频 | 一区 二区电影免费在线观看 | 欧美久久久久久久久久久久久 | 黄色亚洲大片免费在线观看 | 亚洲成人免费在线 | 日韩影视在线观看 | 天天天干天天射天天天操 | 亚洲一区二区视频在线 | 免费91在线观看 | 91九色网站 | 欧美在线视频免费 | 国产精彩视频一区二区 | 日韩二区三区在线观看 | 97日日 | 三级黄色a| 999久久国产精品免费观看网站 | 中文视频在线看 | 少妇bbbb揉bbbb日本 | 波多野结衣视频一区二区三区 | 国产精品不卡 | 成年人在线观看网站 | 91字幕| 视频在线观看99 | 亚洲成人资源 | 成人在线一区二区 | av片中文| 色综合久久88色综合天天6 | 久久情网| 九精品| 久久dvd | 国产精品成人在线观看 | 欧美综合在线视频 | 97视频久久久 | 亚洲福利精品 | 99热只有精品在线观看 | 午夜精品久久久久久久久久久 | 久久免费视频这里只有精品 | 99中文字幕在线观看 | 久久区二区 | 久久久久久欧美二区电影网 | 国产日韩视频在线观看 | 免费男女羞羞的视频网站中文字幕 | 99热在线国产 | 欧美日韩精品免费观看 | 黄色av一级 | 日韩va亚洲va欧美va久久 | 久久综合色天天久久综合图片 | 欧美日韩视频免费 | 天天操狠狠操网站 | 99国产一区二区三精品乱码 | 337p西西人体大胆瓣开下部 | 五月婷婷激情综合网 | av免费观看网址 | 国产精品毛片一区二区在线 | 中文字幕在线观看完整 | 精品国产乱码久久久久久天美 | 91成人精品视频 | 国产精品一区二区在线播放 | 久久视 | av在线看网站 | 欧美性做爰猛烈叫床潮 | www麻豆视频 | 五月婷婷在线观看 | 狠狠色狠狠色综合日日92 | 人人爽人人看 | 日韩mv欧美mv国产精品 | 蜜臀aⅴ国产精品久久久国产 | 蜜桃视频成人在线观看 | 爱色av.com | 99这里只有精品视频 | 久久线视频 | 99久久999久久久精玫瑰 | av免费看在线 | 亚洲精品1区2区3区 超碰成人网 | 激情六月婷婷久久 | 国产麻豆精品在线观看 | 91在线蜜桃臀 | 国产精品色婷婷 | av在线直接看 | 亚洲永久av | 有码一区二区三区 | 国产三级香港三韩国三级 | 日韩国产精品一区 | 亚洲免费精品一区二区 | 久久精品国产一区二区三区 | 亚洲国产精品va在线看黑人 | 亚洲日本成人网 | 国产视频精品久久 | 久久精品日韩 | 美女网站免费福利视频 | 91精品一区二区三区久久久久久 | 97精品在线视频 | 日韩av成人在线 | 久久久久久久免费看 | 超级碰99 | 绯色av一区 | 国产91aaa | 91麻豆产精品久久久久久 | 国产成人在线精品 | 日韩欧美一区二区在线播放 | av综合网址 | 男女精品久久 | 久久99精品波多结衣一区 | 久久成人一区 | 五月婷婷av | 91在线观看高清 | www.伊人网| 久久乱码卡一卡2卡三卡四 五月婷婷久 | 狠狠网站| 九九热在线精品视频 | 菠萝菠萝蜜在线播放 | 欧美成人影音 | 91av看片| 中文字幕免费看 | 五月开心网| 国产精品福利在线播放 | www视频免费在线观看 | 区一区二在线 | 国产精品久久久久免费观看 | 激情av在线资源 | 亚洲国产片 | 一区二区三区四区在线免费观看 | 欧美激情视频在线免费观看 | 日韩日韩日韩日韩 | 亚洲欧洲中文日韩久久av乱码 | 色视频网站在线观看一=区 a视频免费在线观看 | 日日激情 | 亚洲成人午夜av | 婷婷色中文网 | 九九有精品 | 日本一区二区三区免费看 | 国产精品入口麻豆www | 草久在线观看视频 | 一级片视频在线 | 国产艹b视频 | 欧美日韩视频一区二区三区 | 久久6精品| 亚洲黄色小说网址 | 亚洲欧美婷婷六月色综合 | 美女视频国产 | 91在线精品视频 | 色天堂在线视频 | 日本公妇在线观看高清 | 亚洲九九影院 | 国产高清av免费在线观看 | 色婷婷电影 | 欧美日韩二区三区 | 久久影视精品 | 超碰精品在线观看 | 91精品一区二区三区蜜桃 | 麻豆免费观看视频 | 在线观看国产中文字幕 | 久久久久免费看 | 亚洲免费在线观看视频 | 亚色视频在线观看 | 久久久午夜视频 | 久久成人国产精品一区二区 | 亚洲天堂网站视频 | 一区二区三区国产精品 | av福利在线播放 | 久久久久久久网 | 国产在线高清精品 | 日韩免费在线观看 | 97视频在线免费观看 | 国产爽妇网 | 国产精品成人久久久 | 狠狠色伊人亚洲综合网站野外 | 久久精品久久99 | 91久久偷偷做嫩草影院 | 国产又粗又硬又爽视频 | 国产一级在线免费观看 | 91在线观看欧美日韩 | 亚洲 欧美 日韩 综合 | 国产伦理一区二区 | 波多野结衣视频在线 | 久久69精品 | 国产原创91 | 亚洲精品视频第一页 | 在线观看日韩视频 | 久久爱资源网 | 丰满少妇一级 | a爱爱视频 | 99久久国产免费,99久久国产免费大片 | 99精品欧美一区二区三区黑人哦 | 激情欧美在线观看 | 黄色视屏在线免费观看 | 国产v亚洲v | 亚洲综合网站在线观看 | 久草成人在线 | 国产精品99精品久久免费 | av丝袜天堂 | 国产精品久久久久久久久久99 | 麻豆视频在线看 | 日韩电影在线一区 | 91超级碰碰 | 91国内在线 | 久久精品国产一区二区电影 | av丝袜美腿 | 欧美专区日韩专区 | 国产一区欧美在线 | 欧美精品久久久久久久久久白贞 | 欧美人操人 | 国产欧美高清 | 亚洲免费视频在线观看 | 亚洲成aⅴ人片久久青草影院 | 国产一区二区中文字幕 | 久草久草在线 | 综合久久精品 | 四虎国产精品成人免费影视 | 国产不卡片 | 热久久视久久精品18亚洲精品 | 欧美一区二区三区免费观看 | 中文字幕免费成人 | 深夜激情影院 | 精品久久电影 | 日韩在线高清 | 国产成人香蕉 | 99在线免费视频 | www激情com | 久久精品久久精品久久精品 | 久久视频一区二区 | 国产a级精品 | 天天干天天弄 | 久久调教视频 | 爱色av.com | 999视频在线播放 | 色婷婷国产在线 | 欧产日产国产69 | 免费黄色特级片 | 99久国产| 亚洲视频999 | 国产精品ⅴa有声小说 | 国产真实在线 | 在线午夜av| 免费观看成人网 | 欧美日韩中文在线 | 日韩欧美视频 | 久久精品影视 | 成人黄色中文字幕 | 天天弄天天干 | 亚洲va欧美va| 久久久久久免费网 | 伊人久久精品久久亚洲一区 | 综合久久婷婷 | 99精品免费在线观看 | 欧美综合久久 | 成人av网站在线播放 | 精品久久久久久久久久久久久久久久 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 日韩综合精品 | 91视频国产免费 | 日韩一区二区三 | 91桃花视频 | 欧美精品999 | av免费看网站 | 国产精品久久综合 | 黄色视屏av| 国产91小视频 | 免费一级特黄录像 | 精品视频在线视频 | 亚洲码国产日韩欧美高潮在线播放 | 婷婷 中文字幕 | 免费看的黄色小视频 | 97在线观看免费高清完整版在线观看 | 成人电影毛片 | 99免费看片 | 天天干天天拍天天操 | 久久网页 | 国产不卡在线 | 91免费在线看片 | 最近的中文字幕大全免费版 | 亚洲一区免费在线 | 中文字幕高清视频 | 日韩在线小视频 | 一级黄色片毛片 | 久久99视频精品 | 久久久精品国产免费观看一区二区 | 一区二区中文字幕在线观看 | 亚洲欧美视频一区二区三区 | 中文字幕亚洲在线观看 | 操久久网| 麻豆视频在线看 | 国产一级性生活 | 国产精品黄色av | 免费一级特黄毛大片 | 国产日韩在线播放 | 91精品国产高清自在线观看 | 欧美一级视频一区 | a久久久久久 | 国产麻豆精品传媒av国产下载 | 欧美成人性战久久 | 中文字幕专区高清在线观看 | 欧美精品在线观看免费 | 夜夜夜草 | 五月婷婷免费 | 五月天综合色 | 国产精品久久久久久久久久ktv | 91麻豆精品国产91久久久久久久久 | 91亚色视频 | 欧美小视频在线观看 | 99tvdz@gmail.com | 日韩欧美成 | 国产精品s色 | 中文在线字幕观看电影 | 国产在线97| 久久中文字幕在线视频 | 日韩欧美高清视频在线观看 | 97福利社| 九九在线高清精品视频 | 久久国产一区二区三区 | 中文字幕一区av | 成人啪啪18免费游戏链接 | 天天射天天干天天爽 | 最新国产在线 | 在线观av | 成人一区二区三区在线 | 久久99国产视频 | 99久久久久久久久 | 免费高清在线视频一区· | 久久丁香 | 超碰成人网 | 日韩大片在线免费观看 | 91视频在线播放视频 | 亚洲色五月 | 亚洲一区二区视频在线播放 | 玖玖视频 | 97天堂网 | 国产一区二区在线免费播放 | 久久综合九色综合久久久精品综合 | 玖玖999| 麻豆传媒视频在线免费观看 | 国产麻豆精品久久 | 久久精彩视频 | 精品影院 | 粉嫩av一区二区三区四区五区 | 欧美va日韩va | 欧美亚洲免费在线一区 | 日韩最新理论电影 | 日韩成人精品一区二区三区 | 久久国产a | 99久久夜色精品国产亚洲 | 国产精品一区二区在线播放 | 人人爱爱 | 国产精品美女久久久网av | 久草精品电影 | 91精品推荐 | 国产小视频免费在线观看 | 在线中文字母电影观看 | 一区免费观看 | 国产精品久久久久影院日本 | 久久夜av| 91成人黄色| 国产r级在线观看 | 精品亚洲一区二区 | www日| 久久国产精品二国产精品中国洋人 | 天天综合网 天天综合色 | 亚洲成av人片 | 成人免费中文字幕 | 久黄色 | 国产精品综合av一区二区国产馆 | 日韩一片| 国产成人久久精品77777综合 | 六月激情婷婷 | 国产精品99久久免费黑人 | 国产精品mm | 久久九九网站 | 手机看片国产日韩 | 欧美一区二区在线免费看 | 九九热免费视频在线观看 | 久久久久女教师免费一区 | 久久激情片 | 国产成人精品久 | 91九色视频导航 | 久久影视中文字幕 | 国产97在线看 | 中文字幕在线观看的网站 | 高潮久久久 | 久亚洲 | 亚洲少妇激情 | 91手机电影| www.91av在线 | 97福利在线 | 97视频在线看 | 国产欧美在线一区二区三区 | 欧美日韩国产二区 | 色噜噜噜| 日本少妇高清做爰视频 | 91看片黄色| 在线影视 一区 二区 三区 | 国产一在线精品一区在线观看 | 狠狠天天 | av中文在线观看 | 一区二区三区中文字幕在线 | 日日日操 | 99re8这里有精品热视频免费 | 成人精品999| 97av超碰 | 丁香婷婷在线 | 91爱爱中文字幕 | 精品视频久久久 | 2017狠狠干| 日韩一区二区三区免费电影 | 一级理论片在线观看 | 国产精品扒开做爽爽的视频 | 亚洲午夜久久久久久久久 | 99热在| 极品国产91在线网站 | 人人艹人人 | 久久久精品网站 | 天天射夜夜爽 | 久久中文字幕在线视频 | 插插插色综合 | 五月婷婷激情综合网 | 在线观看激情av | 九九视频一区 | 国产精品视频大全 | 国产福利精品在线观看 | 国产精品久久久久亚洲影视 | 91香蕉亚洲精品 | 91精品日韩| 久久免费成人 | 天天操综合网 | 亚洲精品中文在线 | ,午夜性刺激免费看视频 | 视频成人永久免费视频 | 久草在线免费新视频 | 国产拍揄自揄精品视频麻豆 | 99资源网 | 在线免费观看视频 | 午夜视频在线观看一区二区 | 最近中文字幕大全 | 久久99久久99久久 | 亚洲乱码精品 | 国产精品一区二区三区在线看 | 在线免费黄色av | 成人宗合网 | 免费在线观看av电影 | 国产99在线 | 二区视频在线观看 | 免费网站黄 | 精品国产一区二区三区四区vr | 久久专区 | 国产福利精品视频 | 日韩电影中文 | 久久精品看片 | 久久99精品国产99久久6尤 | 九九九热精品免费视频观看 | 一本大道久久精品懂色aⅴ 五月婷社区 | 国产成人精品久久 | 成人精品一区二区三区中文字幕 | 精品国产视频一区 | 日韩精品国产一区 | 在线观看福利网站 | 久久久久美女 | 999一区二区三区 | 国产一级二级在线播放 | 五月激情视频 | 超碰在线国产 | 国产精品手机看片 | 久久,天天综合 | 最近日本中文字幕 | 国产专区第一页 | 麻豆影视在线播放 | 草久热 | 国产午夜在线观看 | 午夜视频欧美 | 日韩网站在线看片你懂的 | 91亚·色 | 五月婷婷激情综合网 | 最新av免费| 国产精品99久久久精品 | 五月婷婷丁香网 | 亚洲成人国产精品 | 韩国一区视频 | 在线精品在线 | 超碰人人干人人 | 狠狠狠色丁香综合久久天下网 | 久久成人精品 | 久久久久久亚洲精品 | 日日夜夜精品免费视频 | 九九九热精品免费视频观看网站 | 美女网站色 | 麻豆网站免费观看 | 精品美女视频 | 精品亚洲视频在线 | 国产91综合一区在线观看 | 日韩大片在线免费观看 | 中文字幕在线久一本久 | 国产视频手机在线 | 国产又粗又长的视频 | 97香蕉超级碰碰久久免费软件 | 一级特黄aaa大片在线观看 | 亚洲欧美成人综合 | 国产尤物视频在线 | 日本爱爱片 | 99久久99精品 | 亚洲精品久久久久999中文字幕 | 美女av免费 | 日韩欧美99 | 国产精品视频在线观看 | 日韩大片在线免费观看 | www色av | 日韩综合一区二区 | 欧日韩在线 | 成人精品一区二区三区电影免费 | 中文字幕中文字幕在线中文字幕三区 | 91在线视频观看 | 亚洲一级在线观看 | 网站在线观看日韩 | 久久成人在线视频 | 亚洲天天草| 手机av永久免费 | 免费日韩 精品中文字幕视频在线 | 成人午夜毛片 | 国产字幕在线播放 | 日韩91精品 | 香蕉视频网站在线观看 | 五月婷婷六月丁香激情 | 午夜体验区 | 国产一级黄大片 | 日韩电影在线视频 | 9免费视频| 波多野结衣精品视频 | 亚洲黄色大片 | 高潮久久久久久 | 亚洲精品小视频 | 国产精品一区二区 91 | 国产精品igao视频网网址 | 一区 在线 影院 | 成人免费观看电影 | 在线看国产日韩 | 九九热在线精品视频 | 亚洲成人欧美 | 精品一区二区在线播放 | 色综合久久久久综合99 | 国产二区精品 | 成人av在线直播 | 蜜臀av夜夜澡人人爽人人 | 天天插天天操天天干 | 涩涩网站在线看 | 日韩精品2区| 天天射天天干天天插 | 亚洲欧美国产精品 | 特级毛片网 | 国产成人精品999在线观看 | 青草视频在线 | 天天操天天操天天干 | av官网在线 | 人人草在线视频 | 日韩一级理论片 | a级国产片| 香蕉视频在线视频 | .精品久久久麻豆国产精品 亚洲va欧美 | 色网站黄 | 成年人在线免费看视频 | 色哟哟国产精品 | 色爱区综合激月婷婷 | 一区二区影院 | 国产一区视频在线观看免费 | 亚洲国产69 | 欧美男女爱爱视频 | 久久经典国产 | 国产群p | 国产麻豆精品在线观看 | 成人欧美一区二区三区黑人麻豆 | 国产资源中文字幕 | 摸bbb搡bbb搡bbbb | 久久草网站 | 日韩 在线观看 | 麻豆视频在线免费 | 欧美激情一区不卡 | 国产99久 | 日韩字幕| 亚洲精品美女在线观看播放 | 日韩av一区二区三区在线观看 | 日韩在线播放视频 | 在线看v片成人 | 国产视频精品视频 | 久久99精品热在线观看 | 欧美极品在线播放 | 欧美黑吊大战白妞欧美 | 国产精品久久久久久a | 在线免费视频你懂的 | 国产精品一区二区久久精品爱涩 | 久久精品电影 | 国产精品国产毛片 | 黄色av观看 | 成人 亚洲 欧美 | 808电影免费观看三年 | 免费在线观看污网站 | 四虎免费在线观看视频 | 天堂网一区二区三区 | 天天插天天 | 成人av中文字幕在线观看 | 日韩成人免费在线 | 美女露久久 | 国产一区二区三精品久久久无广告 | 丁香午夜 | 亚洲成人资源在线观看 | 国产裸体永久免费视频网站 | av色影院| 国产精品毛片一区 | 国产 一区二区三区 在线 | 久久人91精品久久久久久不卡 | 久久久精品在线观看 | 国产精品18久久久久久首页狼 | 欧美一区二区三区四区夜夜大片 | 欧美日韩成人一区 | 成人免费观看网站 | 深夜男人影院 | 国产精品一区二区免费在线观看 | av网址最新 | 婷婷中文字幕综合 | 欧美国产日韩一区 | 亚洲精品中文在线 | 色综合色综合色综合 | 色综合狠狠干 | 欧美日韩亚洲在线观看 | 三级免费黄| 特级aaa毛片 | 亚洲黄a | www.夜夜爱 | 亚洲国产精品成人va在线观看 | 81精品国产乱码久久久久久 | 九九精品久久 | 91免费网站在线观看 | 免费观看www小视频的软件 | 免费色黄 | 久草在线资源网 | 一 级 黄 色 片免费看的 | 精品美女在线观看 | 久久久久国产精品免费网站 | 99久久精品免费看国产一区二区三区 |