国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

Java8 中的 Stream 那么強大,那你知道它的原理是什么嗎?

共 2367字,需瀏覽 5分鐘

 ·

2021-11-10 08:37

作者:歲月安然

elsef.com/2019/09/16/Java8中Stream的原理分析

Java 8 API添加了一個新的抽象稱為流Stream,可以讓你以一種聲明的方式處理數(shù)據(jù)。
Stream 使用一種類似用 SQL 語句從數(shù)據(jù)庫查詢數(shù)據(jù)的直觀方式來提供一種對 Java 集合運算和表達的高階抽象。
Stream API可以極大提高Java程序員的生產(chǎn)力,讓程序員寫出高效率、干凈、簡潔的代碼。
本文會對Stream的實現(xiàn)原理進行剖析。

Stream的組成與特點

Stream(流)是一個來自數(shù)據(jù)源的元素隊列并支持聚合操作:
  • 元素是特定類型的對象,形成一個隊列。?Java中的Stream并_不會_向集合那樣存儲和管理元素,而是按需計算

  • 數(shù)據(jù)源流的來源可以是集合Collection、數(shù)組Array、I/O channel, 產(chǎn)生器generator?等

  • 聚合操作類似SQL語句一樣的操作, 比如filter,?map,?reduce,?find,?match,?sorted

和以前的Collection操作不同, Stream操作還有兩個基礎(chǔ)的特征:
  • Pipelining: 中間操作都會返回流對象本身。這樣多個操作可以串聯(lián)成一個管道, 如同流式風(fēng)格(fluent style)。這樣做可以對操作進行優(yōu)化, 比如延遲執(zhí)行(laziness evaluation)和短路(?short-circuiting)

  • 內(nèi)部迭代:以前對集合遍歷都是通過Iterator或者For-Each的方式, 顯式的在集合外部進行迭代, 這叫做外部迭代。?Stream提供了內(nèi)部迭代的方式, 通過訪問者模式 (Visitor)實現(xiàn)。

和迭代器又不同的是,Stream?可以并行化操作,迭代器只能命令式地、串行化操作。顧名思義,當(dāng)使用串行方式去遍歷時,每個?item?讀完后再讀下一個 item。而使用并行去遍歷時,數(shù)據(jù)會被分成多個段,其中每一個都在不同的線程中處理,然后將結(jié)果一起輸出。
Stream?的并行操作依賴于?Java7?中引入的?Fork/Join?框架(JSR166y)來拆分任務(wù)和加速處理過程。Java?的并行 API 演變歷程基本如下:
1.0-1.4 中的 java.lang.Thread
5.0 中的 java.util.concurrent
6.0 中的 Phasers 等
7.0 中的 Fork/Join 框架
8.0 中的 Lambda
Stream具有平行處理能力,處理的過程會分而治之,也就是將一個大任務(wù)切分成多個小任務(wù),這表示每個任務(wù)都是一個操作:
List?numbers?=?Arrays.asList(1,?2,?3,?4,?5,?6,?7,?8,?9);
numbers.parallelStream()
???????.forEach(out::println);?
可以看到一行簡單的代碼就幫我們實現(xiàn)了并行輸出集合中元素的功能,但是由于并行執(zhí)行的順序是不可控的所以每次執(zhí)行的結(jié)果不一定相同。
如果非得相同可以使用forEachOrdered方法執(zhí)行終止操作:
List?numbers?=?Arrays.asList(1,?2,?3,?4,?5,?6,?7,?8,?9);
numbers.parallelStream()
???????.forEachOrdered(out::println);??
這里有一個疑問,如果結(jié)果需要有序,是否和我們的并行執(zhí)行的初衷相悖?是的,這個場景下明顯無需使用并行流,直接用串行流執(zhí)行即可, 否則性能可能更差,因為最后又強行將所有并行結(jié)果進行了排序。
OK,下面我們先介紹一下Stream接口的相關(guān)知識。

BaseStream接口

Stream的父接口是BaseStream,后者是所有流實現(xiàn)的頂層接口,定義如下:
public?interface?BaseStream<T,?S?extends?BaseStream<T,?S>>
????????extends?AutoCloseable?
{
????Iterator?iterator();

????Spliterator?spliterator();

????boolean?isParallel();

????S?sequential();

????S?parallel();

????S?unordered();

????S?onClose(Runnable?closeHandler);

????void?close();
}
其中,T為流中元素的類型,S為一個BaseStream的實現(xiàn)類,它里面的元素也是T并且S同樣是自己:
S extends BaseStream
是不是有點暈?
其實很好理解,我們看一下接口中對S的使用就知道了:如sequential()、parallel()這兩個方法,它們都返回了S實例,也就是說它們分別支持對當(dāng)前流進行串行或者并行的操作,并返回「改變」后的流對象。
如果是并行一定涉及到對當(dāng)前流的拆分,即將一個流拆分成多個子流,子流肯定和父流的類型是一致的。子流可以繼續(xù)拆分子流,一直拆分下去…
也就是說這里的SBaseStream的一個實現(xiàn)類,它同樣是一個流,比如Stream、IntStream、LongStream等。

Stream接口

再來看一下Stream的接口聲明:
public?interface?Stream?extends?BaseStream>?
參考上面的解釋這里不難理解:即Stream可以繼續(xù)拆分為Stream,我們可以通過它的一些方法來證實:
Stream?filter(Predicatesuper?T>?predicate);
?Stream?map(Functionsuper?T,???extends?R>?mapper);
?Stream?flatMap(Functionsuper?T,???extends?Stream>?mapper);
Stream?sorted();
Stream?peek(Consumersuper?T>?action);
Stream?limit(long?maxSize);
Stream?skip(long?n);
...
這些都是操作流的中間操作,它們的返回結(jié)果必須是流對象本身。

關(guān)閉流操作

BaseStream 實現(xiàn)了?AutoCloseable?接口,也就是?close()?方法會在流關(guān)閉時被調(diào)用。同時,BaseStream?中還給我們提供了onClose()方法:
/**?*?Returns?an?equivalent?stream?with?an?additional?close?handler.?Close?*?handlers?are?run?when?the?{@link?#close()}?method?*?is?called?on?the?stream,?and?are?executed?in?the?order?they?were?*?added.?All?close?handlers?are?run,?even?if?earlier?close?handlers?throw?*?exceptions.?If?any?close?handler?throws?an?exception,?the?first?*?exception?thrown?will?be?relayed?to?the?caller?of?{@code?close()},?with?*?any?remaining?exceptions?added?to?that?exception?as?suppressed?exceptions?*?(unless?one?of?the?remaining?exceptions?is?the?same?exception?as?the?*?first?exception,?since?an?exception?cannot?suppress?itself.)?May?*?return?itself.?*?*?

This?is?an?intermediate?*?operation.?*?*?@param?closeHandler?A?task?to?execute?when?the?stream?is?closed?*?@return?a?stream?with?a?handler?that?is?run?if?the?stream?is?closed?*/
S?onClose(Runnable?closeHandler);

當(dāng)AutoCloseableclose()接口被調(diào)用的時候會觸發(fā)調(diào)用流對象的onClose()方法,但有幾點需要注意:
  • onClose()?方法會返回流對象本身,也就是說可以對改對象進行多次調(diào)用

  • 如果調(diào)用了多個onClose()?方法,它會按照調(diào)用的順序觸發(fā),但是如果某個方法有異常則只會向上拋出第一個異常

  • 前一個?onClose()?方法拋出了異常不會影響后續(xù)?onClose()?方法的使用

  • 如果多個?onClose()?方法都拋出異常,只展示第一個異常的堆棧,而其他異常會被壓縮,只展示部分信息

并行流和串行流

BaseStream接口中分別提供了并行流串行流兩個方法,這兩個方法可以任意調(diào)用若干次,也可以混合調(diào)用,但最終只會以最后一次方法調(diào)用的返回結(jié)果為準(zhǔn)。
參考parallel()方法的說明:
Returns an equivalent stream that is parallel. May return
itself, either because the stream was already parallel, or because
the underlying stream state was modified to be parallel.
所以多次調(diào)用同樣的方法并不會生成新的流,而是直接復(fù)用當(dāng)前的流對象。
下面的例子里以最后一次調(diào)用parallel()為準(zhǔn),最終是并行地計算sum
stream.parallel()
???.filter(...)
???.sequential()
???.map(...)
???.parallel()
???.sum();

ParallelStream背后的男人:ForkJoinPool

ForkJoin框架是從JDK7中新特性,它同ThreadPoolExecutor一樣,也實現(xiàn)了Executor和ExecutorService 接口。它使用了一個「無限隊列」來保存需要執(zhí)行的任務(wù),而線程的數(shù)量則是通過構(gòu)造函數(shù)傳入,?如果沒有向構(gòu)造函數(shù)中傳入希望的線程數(shù)量,那么當(dāng)前計算機可用的CPU數(shù)量會被設(shè)置為線程數(shù)量作為默認(rèn)值。
ForkJoinPool主要用來使用分治法(Divide-and-Conquer Algorithm) 來解決問題,典型的應(yīng)用比如_快速排序算法_。這里的要點在于,F(xiàn)orkJoinPool需要使用相對少的線程來處理大量的任務(wù)。比如要對1000萬個數(shù)據(jù)進行排序,那么會將這個任務(wù)分割成兩個500 萬的排序任務(wù)一個針對這兩組500萬數(shù)據(jù)的合并任務(wù)。
以此類推,對于500萬的數(shù)據(jù)也會做出同樣的分割處理,到最后會設(shè)置一個閾值來規(guī)定當(dāng)數(shù)據(jù)規(guī)模到多少時,停止這樣的分割處理。比如,當(dāng)元素的數(shù)量小于10時,會停止分割,轉(zhuǎn)而使用插入排序?qū)λ鼈冞M行排序。那么到最后,所有的任務(wù)加起來會有大概2000000+個。
問題的關(guān)鍵在于,對于一個任務(wù)而言,只有當(dāng)它所有的子任務(wù)完成之后,它才能夠被執(zhí)行,想象一下歸并排序的過程。
所以當(dāng)使用ThreadPoolExecutor時,使用分治法會存在問題,因為ThreadPoolExecutor中的線程無法向 任務(wù)隊列中再添加一個任務(wù)并且在等待該任務(wù)完成之后再繼續(xù)執(zhí)行。而使用ForkJoinPool時,就能夠讓其中的線程創(chuàng)建新的任務(wù),并掛起當(dāng)前的任務(wù),此時線程就能夠從隊列中選擇子任務(wù)執(zhí)行。
那么使用ThreadPoolExecutor或者ForkJoinPool,會有什么性能的差異呢?
首先,使用ForkJoinPool能夠使用數(shù)量有限的線程來完成非常多的具有「父子關(guān)系」的任務(wù),比如使用4個線程來完成超過200萬個任務(wù)。使用ThreadPoolExecutor 時,是不可能完成的,因為ThreadPoolExecutor中的Thread無法選擇優(yōu)先執(zhí)行子任務(wù),需要完成200萬個具有父子關(guān)系的任務(wù)時,也需要200萬個線程,顯然這是不可行的。
Work Stealing原理:
  1. 每個工作線程都有自己的工作隊列WorkQueue;
  2. 這是一個雙端隊列dequeue,它是線程私有的;
  3. ForkJoinTask中fork的子任務(wù),將放入運行該任務(wù)的工作線程的隊頭,工作線程將以LIFO的順序來處理工作隊列中的任務(wù),即堆棧的方式;
  4. 為了最大化地利用CPU,空閑的線程將從其它線程的隊列中「竊取」任務(wù)來執(zhí)行
  5. 但是是從工作隊列的尾部竊取任務(wù),以減少和隊列所屬線程之間的競爭;
  6. 雙端隊列的操作:push()/pop()僅在其所有者工作線程中調(diào)用,poll()是由其它線程竊取任務(wù)時調(diào)用的;
  7. 當(dāng)只剩下最后一個任務(wù)時,還是會存在競爭,是通過CAS來實現(xiàn)的;

用ForkJoinPool的眼光來看ParallelStream

Java 8為ForkJoinPool添加了一個通用線程池,這個線程池用來處理那些沒有被顯式提交到任何線程池的任務(wù)。它是ForkJoinPool類型上的一個靜態(tài)元素,它擁有的默認(rèn)線程數(shù)量等于運行計算機上的CPU數(shù)量。當(dāng)調(diào)用Arrays 類上添加的新方法時,自動并行化就會發(fā)生。比如用來排序一個數(shù)組的并行快速排序,用來對一個數(shù)組中的元素進行并行遍歷。自動并行化也被運用在Java 8新添加的Stream API中。
比如下面的代碼用來遍歷列表中的元素并執(zhí)行需要的操作:
List?userInfoList?=
????????DaoContainers.getUserInfoDAO().queryAllByList(new?UserInfoModel());
userInfoList.parallelStream().forEach(RedisUserApi::setUserIdUserInfo);
對于列表中的元素的操作都會以并行的方式執(zhí)行。forEach方法會為每個元素的計算操作創(chuàng)建一個任務(wù),該任務(wù)會被前文中提到的ForkJoinPool中的commonPool處理。以上的并行計算邏輯當(dāng)然也可以使用ThreadPoolExecutor完成,但是就代碼的可讀性和代碼量而言,使用ForkJoinPool明顯更勝一籌。
對于ForkJoinPool通用線程池的線程數(shù)量,通常使用默認(rèn)值就可以了,即運行時計算機的處理器數(shù)量。也可以通過設(shè)置系統(tǒng)屬性:-Djava.util.concurrent .ForkJoinPool.common.parallelism=N?(N為線程數(shù)量),來調(diào)整ForkJoinPool的線程數(shù)量。
值得注意的是,當(dāng)前執(zhí)行的線程也會被用來執(zhí)行任務(wù),所以最終的線程個數(shù)為N+1,1就是當(dāng)前的主線程。
這里就有一個問題,如果你在并行流的執(zhí)行計算使用了_阻塞操作_,如I/O,那么很可能會導(dǎo)致一些問題:
public?static?String?query(String?question)?{
??List?engines?=?new?ArrayList();
??engines.add("http://www.google.com/?q=");
??engines.add("http://duckduckgo.com/?q=");
??engines.add("http://www.bing.com/search?q=");
???
??//?get?element?as?soon?as?it?is?available
??Optional?result?=?engines.stream().parallel().map((base)?-?{
????String?url?=?base?+?question;
????//?open?connection?and?fetch?the?result
????return?WS.url(url).get();
??}).findAny();
??return?result.get();
}
這個例子很典型,讓我們來分析一下:
  • 這個并行流計算操作將由主線程和JVM默認(rèn)的ForkJoinPool.commonPool()來共同執(zhí)行。

  • map中是一個阻塞方法,需要通過訪問HTTP接口并得到它的response,所以任何一個worker線程在執(zhí)行到這里的時候都會阻塞并等待結(jié)果。

  • 所以當(dāng)此時再其他地方通過并行流方式調(diào)用計算方法的時候,將會受到此處阻塞等待的方法的影響。

  • 目前的ForkJoinPool的實現(xiàn)并未考慮補償?shù)却切┳枞诘却律傻木€程的工作worker線程,所以最終ForkJoinPool.commonPool()中的線程將備用光并且阻塞等待。

正如我們上面那個列子的情況分析得知,lambda的執(zhí)行并不是瞬間完成的,所有使用parallel streams的程序都有可能成為阻塞程序的源頭, 并且在執(zhí)行過程中程序中的其他部分將無法訪問這些workers,這意味著任何依賴parallel streams的程序在什么別的東西占用著common ForkJoinPool時將會變得不可預(yù)知并且暗藏危機。
小結(jié):
  1. 當(dāng)需要處理遞歸分治算法時,考慮使用ForkJoinPool。

  2. 仔細(xì)設(shè)置不再進行任務(wù)劃分的閾值,這個閾值對性能有影響。

  3. Java 8中的一些特性會使用到ForkJoinPool中的通用線程池。在某些場合下,需要調(diào)整該線程池的默認(rèn)的線程數(shù)量

  4. lambda應(yīng)該盡量避免副作用,也就是說,避免突變基于堆的狀態(tài)以及任何IO

  5. lambda應(yīng)該互不干擾,也就是說避免修改數(shù)據(jù)源(因為這可能帶來線程安全的問題)

  6. 避免訪問在流操作生命周期內(nèi)可能會改變的狀態(tài)

并行流的性能

并行流框架的性能受以下因素影響:
  • 數(shù)據(jù)大?。簲?shù)據(jù)夠大,每個管道處理時間夠長,并行才有意義;

  • 源數(shù)據(jù)結(jié)構(gòu):每個管道操作都是基于初始數(shù)據(jù)源,通常是集合,將不同的集合數(shù)據(jù)源分割會有一定消耗;

  • 裝箱:處理基本類型比裝箱類型要快;

  • 核的數(shù)量:默認(rèn)情況下,核數(shù)量越多,底層fork/join線程池啟動線程就越多;

  • 單元處理開銷:花在流中每個元素身上的時間越長,并行操作帶來的性能提升越明顯;

源數(shù)據(jù)結(jié)構(gòu)分為以下3組:
  • 性能好:ArrayList、數(shù)組或IntStream.range(數(shù)據(jù)支持隨機讀取,能輕易地被任意分割)

  • 性能一般:HashSet、TreeSet(數(shù)據(jù)不易公平地分解,大部分也是可以的)

  • 性能差:LinkedList(需要遍歷鏈表,難以對半分解)、Stream.iterateBufferedReader.lines(長度未知,難以分解)

注意:下面幾個部分節(jié)選自:Streams 的幕后原理,順便感謝一下作者_Brian Goetz_,寫的太通透了。推薦:擁抱 Java 8 并行流吧,讓執(zhí)行速度飛起!

NQ模型

要確定并行性是否會帶來提速,需要考慮的最后兩個因素是:可用的數(shù)據(jù)量和針對每個數(shù)據(jù)元素執(zhí)行的計算量。
在我們最初的并行分解描述中,我們采用的概念是拆分來源,直到分段足夠小,以致解決該分段上的問題的順序方法更高效。分段大小必須依賴于所解決的問題,確切的講,取決于每個元素完成的工作量。例如,計算一個字符串的長度涉及的工作比計算字符串的?SHA-1?哈希值要少得多。為每個元素完成的工作越多,“大到足夠利用并行性” 的閾值就越低。類似地,擁有的數(shù)據(jù)越多, 拆分的分段就越多,而不會與 “太小” 閾值發(fā)生沖突。
一個簡單但有用的并行性能模型是?NQ?模型,其中?N?是數(shù)據(jù)元素數(shù)量,Q?是為每個元素執(zhí)行的工作量。乘積?N*Q?越大,就越有可能獲得并行提速。對于具有很小的?Q?的問題,比如對數(shù)字求和,您通??赡芟M吹?N > 10,000?以獲得提速;隨著?Q?增加,獲得提速所需的數(shù)據(jù)大小將會減小。
并行化的許多阻礙(比如拆分成本、組合成本或遇到順序敏感性)都可以通過?Q?更高的操作來緩解。盡管拆分某個?LinkedList?特征的結(jié)果可能很糟糕,但只要擁有足夠大的?Q,仍然可能獲得并行提速。

遇到順序

遇到順序指的是來源分發(fā)元素的順序是否對計算至關(guān)重要。一些來源(比如基于哈希的集合和映射)沒有有意義的遇到順序。流標(biāo)志?ORDERED?描述了流是否有有意義的遇到順序。JDK 集合的?spliterator?會根據(jù)集合的規(guī)范來設(shè)置此標(biāo)志;一些中間操作可能注入?ORDERED?(sorted()) 或清除它 (unordered())。
如果流沒有遇到順序,大部分流操作都必須遵守該順序。對于順序執(zhí)行,會「自動保留遇到順序」,因為元素會按遇到它們的順序自然地處理。甚至在并行執(zhí)行中,許多操作(無狀態(tài)中間操作和一些終止操作(比如?reduce())),遵守遇到順序不會產(chǎn)生任何實際成本。但對于其他操作(有狀態(tài)中間操作,其語義與遇到順序關(guān)聯(lián)的終止操作,比如?findFirst()?或?forEachOrdered()), 在并行執(zhí)行中遵守遇到順序的責(zé)任可能很重大。如果流有一個已定義的遇到順序,但該順序?qū)Y(jié)果沒有意義, 那么可以通過使用?unordered()?操作刪除?ORDERED?標(biāo)志,加速包含順序敏感型操作的管道的順序執(zhí)行。
作為對遇到順序敏感的操作的示例,可以考慮?limit(),它會在指定大小處截斷一個流。在順序執(zhí)行中實現(xiàn)?limit()?很簡單:保留一個已看到多少元素的計數(shù)器,在這之后丟棄任何元素。但是在并行執(zhí)行中,實現(xiàn)?limit()?要復(fù)雜得多;您需要保留前?N?個元素。此要求大大限制了利用并行性的能力;如果輸入劃分為多個部分,您只有在某個部分之前的所有部分都已完成后,才知道該部分的結(jié)果是否將包含在最終結(jié)果中。因此,該實現(xiàn)一般會錯誤地選擇不使用所有可用的核心,或者緩存整個試驗性結(jié)果,直到您達到目標(biāo)長度。
如果流沒有遇到順序,limit()?操作可以自由選擇任何?N?個元素,這讓執(zhí)行效率變得高得多。知道元素后可立即將其發(fā)往下游, 無需任何緩存,而且線程之間唯一需要執(zhí)行的協(xié)調(diào)是發(fā)送一個信號來確保未超出目標(biāo)流長度。
遇到順序成本的另一個不太常見的示例是排序。如果遇到順序有意義,那么?sorted()?操作會實現(xiàn)一種穩(wěn)定 排序 (相同的元素按照它們進入輸入時的相同順序出現(xiàn)在輸出中),而對于無序的流,穩(wěn)定性(具有成本)不是必需的。?distinct()?具有類似的情況:如果流有一個遇到順序,那么對于多個相同的輸入元素,distinct()?必須發(fā)出其中的第一個, 而對于無序的流,它可以發(fā)出任何元素 — 同樣可以獲得高效得多的并行實現(xiàn)。
在您使用?collect()?聚合時會遇到類似的情形。如果在無序流上執(zhí)行?collect(groupingBy()) 操作, 與任何鍵對應(yīng)的元素都必須按它們在輸入中出現(xiàn)的順序提供給下游收集器。此順序?qū)?yīng)用程序通常沒有什么意義,而且任何順序都沒有意義。在這些情況下,可能最好選擇一個并發(fā) 收集器(比如?groupingByConcurrent()),它可以忽略遇到順序, 并讓所有線程直接收集到一個共享的并發(fā)數(shù)據(jù)結(jié)構(gòu)中(比如?ConcurrentHashMap),而不是讓每個線程收集到它自己的中間映射中, 然后再合并中間映射(這可能產(chǎn)生很高的成本)。

什么時候該使用并行流

談了這么多,關(guān)于并行流parallelStream的使用注意事項需要格外注意,它并不是解決性能的萬金油,相反,如果使用不當(dāng)會嚴(yán)重影響性能。我會在另外一篇文章里單獨談這個問題。

逆鋒起筆是一個專注于程序員圈子的技術(shù)平臺,你可以收獲最新技術(shù)動態(tài)最新內(nèi)測資格、BAT等大廠的經(jīng)驗精品學(xué)習(xí)資料、職業(yè)路線、副業(yè)思維,微信搜索逆鋒起筆關(guān)注!

References

  • http://movingon.cn/2017/05/02/jdk8-Stream-BaseStream-%E6%BA%90%E7%A0%81%E9%9A%BE%E7%82%B9%E6%B5%85%E6%9E%901/
  • https://www.jianshu.com/p/bd825cb89e00
  • https://jrebel.com/rebellabs/java-parallel-streams-are-bad-for-your-health/
  • https://blog.csdn.net/weixx3/article/details/81266552
  • https://www.ibm.com/developerworks/cn/java/j-java-streams-5-brian-goetz/index.html
  • https://www.ibm.com/developerworks/cn/java/j-java-streams-3-brian-goetz/index.html
  • https://juejin.im/post/5dc5a148f265da4d4f65c191
  • https://stackoverrun.com/cn/q/10341100

推薦好文

面試官:Java 反射是什么?

Java 17:和遺留 25 年的漏洞 Say Goodbye

Java 框架 Mybatis 插件開發(fā)指南,超詳細(xì)!

18 個 Java8 處理日期的新花樣,肯定沒用過!

你還在 new 對象嗎?Java8 通用 Builder 了解一下

瀏覽 44
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 91人人草| 亚洲视频久久| 成人免费毛片蓝莓| 国产www| 11孩岁女精品A片BBB| 成人在线视频一区| 毛片a级| 午夜性爱网址| 精品视频免费在线观看| 婷婷无码成人精品俺来俺去| 欧美日屄视频| 午夜黄色大片| 91免费高清视频| 99热精品在线播放| 中文字幕高清无码免费视频| 天堂无码高清| 日韩毛片一级| 亚洲毛片在线观看| 免费无码在线看| 日韩vA| 99激情网| 中文电视剧字幕在线播放免费视频| 天天日天天干天天干| 乱伦视频网| 久久久www成人免费毛片| 日韩群交视频| 亚洲黄色影视| 日本免费爱爱视频| 西西西444www无码视频| 日韩一级毛| 2025AV天堂网| 尤物在线播放| 大BBBw大BBBW另类| 变态另类av| 91足浴店按摩漂亮少妇| 欧美天堂在线| 亚洲AV秘无码一区在线| 亚洲欧美日韩另类| 高清无码视频在线免费观看| 色吧综合网| 丁香六月激情婷婷| 亚洲无码一级片| 亚洲一区二区在线免费观看| 人人操人人爱人人拍| 人妻少妇综合| 一区二区国产精品| 日韩中文字幕在线| 午夜福利无码电影| 男女拍拍免费视频| 日本精品二区| 亚洲午夜无码精品专区| 色情网站在线| 成人国产在线| 久久99精品久久久久| WWW久久久| 伊人网在线视频观看| 日韩中文字幕永久| 毛片黄色视频| 人人摸人人射| 久久黄色视| 四川BBB嫩BBBB爽BBBB| 国产在线观看一区二区| 黄色视频网站亚洲| 久久久久无码国产精品不卡| 欧美操逼图| 成人做爰100片免费视频| 北条麻妃日B视频| 羽月希在线播放| 亚洲GV成人无码久久精品| 男女无码| 中文字幕永久在线5| 在线免费中文字幕| 99久久婷婷国产综合精品电影 | 亚洲一二期视频| a免费在线观看| 少妇一级| 7x7x7x人成免费观学生视频 | 色五月丁香婷婷| 成人在线日韩| 中文字幕第二页| 精品蜜桃秘一区二区三区观看| 中文字幕15页| 女人天堂av| 亚洲高清毛片一区二区| 欧美婷婷五月天| 成人A片在线播放| 精品无码一区二区三区免费| 中文字幕一区二区无码成人| 国产丰满大乳无码免费播放| 影音先锋av中文字幕| 男女啪啪网站| 一区二区三区www污污污网站| 日本在线小视频| 亚洲五月激情| 婷婷深爱| 青青草成人网| 国产搡BBB爽爽爽视频| 2025av在线| 99国产精品| 99久久久精品久久久久久| 夜夜操网站| 国产成人免费视频| 欧美午夜精品久久久久久3D| 性欧美亚洲| 人妻制服丝袜| 日本最新免费二区| 日韩性爱小视频| 亚洲国产精品成人网站| 中文字幕免费在线播放| 一卡二卡久久| 久久久久久亚洲AV无码专区| 亚洲女同在线| 日韩无码国产精品| 91精品国产一区二区三区| 日无码| 四虎成人电影| 中文无码日韩| 玖玖成人电影| 中文字幕无码一区二区三区一本久| 日韩成人在线播放| 色情小电影免费网站观看网址在线播| 国产v片| 欧美AAA在线观看| 国产精品乱码毛片在线人与| 欧美丰满老熟妇XXXXX性| 三级片AAAA| 久久丝袜| 大鷄巴成人A片| 一级操逼视频免费观看| 第一福利成人AV导航| WWW亚洲视频| 广东BBW搡BBBB搡| av女人的天堂| 91无码一区二区三区在线| 久久久久久久网站| 浮力影院av| 99精品视频免费观看| 91久热| 特黄A级毛片| 色婷婷大香蕉| 色婷婷影视| 熟妇人妻久久中文字幕| 国产又粗又长的视频| 欧美久操| www.日韩系列| 亚洲性爱中文字幕| 操逼逼网站| 人人操人人透| www.久久99| AV天堂电影网| 美女裸体网站国产| 在线国产视频| 青娱乐国产视频| 免费无码国产在线| 骚小姨子无码| 七十路の高齢熟女千代子| 波多野结衣AV在线观看| 国产麻豆AⅤMDMD0071 | 91亚洲精品视频在线| WWW.豆花视频精品| 91亚洲精品视频| 91丨PORNY丨对白| 国产精品久久久久久最猛| 韩日毛片| 最近中文字幕免费mv第一季歌词大全| 国产骚逼视频| 九色PORNY蝌蚪视频| 豆花视频一区| 无码AV在线播放| 青娱乐免费视频| 周晓琳AV| 人人妻人人爽人人澡人人精品| 91香蕉在线视频| 色婷婷一区二区三区四区五区精品视 | 日韩欧美成人在线视频| 小H片在线观看| 伊人影院在线视频| 国产精品自拍在线观看| 狠狠狠操| 成人肏逼视频| 日本高清视频免费观看| 亚洲欧美日韩成人| 日本少妇做爱| 丁香五月激情啪啪| 亚洲第一网无码性色| 亚洲,制服,综合,中文| 国产乱码一区二区三区的区别| 国产精品毛片VA一区二区三区 | 777偷窥盗摄00000| 无码内射视频| 国产福利精品视频| 蜜桃精品视频在线观看| 國產精品777777777| 热热毛片| 亚洲的天堂的αⅴ| 色色大香蕉| 蜜桃亚洲AV无码一区二区三区 | 辽宁模特张雪馨视频最新| 午夜无码在线| 亚洲免费观看高清完整版在线| 国产无码AV成在线| 做爱A片| 屁屁影院国产第一页| 人人澡人人澡| 玖玖爱国产| 翔田千里50岁无码| 日韩,变态,另类,中文,人妻| 免费观看黄色在线视频| 人人操人人超碰| 大香蕉综合| 色色五月婷婷| 99热都是精品| 国产免费看片| 欧美性爱怡红院| 老太老熟女城中层露脸60| 中日韩黄色视频| 亚洲成人自拍无码| 巨い巨乳の少妇あジed2k| 91无码在线观看| 蜜桃AV一区二区三区| 亚洲小说区图片区都市| 日韩爆乳在线| 色五月婷婷激情| 久久久女人| 俺去骚| 成人黄色性视频| 一级a片激情啪啪免费观| 国产高清视频在线| 久久人妻熟女中文字幕av蜜芽| 伊人大香蕉综合在线| 99综合久久| 丁香五月婷婷基地| 在线观看中文字幕一区| 欧美熟妇擦BBBB擦BBBB| 日逼无码视频| 国产女人18毛片水真多18| 中国免费看片| 午夜色色福利| 久久毛| 精品视频一区二区| 国产一区二区三区四区视频| 91天天射| 日韩欧美小视频| 俺也日| 91二区三区| 在线免费亚洲| 男女网站在线观看| 久久性视频| 香蕉伊人在线| 国产va在线观看| 噜噜噜av| 五月婷婷综合在线| 国产成人精品一区二| 亚洲人成人无码.www粉色| 18禁成人A∨片| 亚洲第一香蕉视频| 日韩视频在线播放| 欧美操逼逼| 懂色av,蜜臀AV粉嫩av| 日本黄色小视频| 国产欧美综合视频| 日本成人黄色视频| 操屄视频在线观看| 亚洲激情婷婷| 国产V视频| 97久久人人| 国产精品成人影视| 97人妻在线视频| 免费亚洲无码| 午夜成人黄片| 成人福利在线| 亚洲综合网站| 日本高清视频网站网wwwwww| 2019中文字幕在线| 日韩五月婷婷| 婷婷五月亚洲精品AAA片在| 2017天天干天天射| 97人人操人人| 影音先锋亚洲AV| 男女黄网站| 在线免费观看亚洲| 国产精品国产精品国产专区不| 四川BBB搡BBB搡多人乱| 欧美三级黄色| 亚洲中文字幕2025| 欧美色视频在线观看| 中文字幕一区二区三区四区在线视频 | 久久婷婷激情| 噜噜噜在线| 91av| 操逼免费看| 日韩AV在线直播| 亚洲欧美日韩不卡| 亚洲一区亚洲二区| 四川BBB嫩BBBB爽BBBB| 九九九九国产| 欧美一级婬片AAAA毛片| 操B在线观看| 中文字幕亚洲在线| 国产免费观看av| 内射视频免费看| 免费看毛片的网站| 婷婷精品在线视频| 人人澡人人爽人人精品| 国产AA| Al激情欧美| 黄色免费毛片| 国产视频高清无码| 国产精品午夜福利视频| 亚洲成人无码AV| 国产三级毛片| 亚洲成人无码视频| 日屄免费视频| 无码高潮视频| 日韩成人性爱| 亚洲天堂2017| 欧美激情伊人久久五月天| 国产亚洲综合无码| 国产99页| 国产V在线观看| 少妇特黄A一区二区三区| 日韩字幕久久| 无码欧美人XXXXX日本无码 | 中日韩中文字幕一区二区区别| 97精品久久| 午夜福利大香蕉| 日本无码视频在线观看| 人人狠狠综合婷婷| 一级黄在线观看| 日本成人电影在线观看| 另类日韩| 欧美伊人网在线观看| 一级黄色在线观看| 在线观看AV资源| 特级西西人体444www高清大胆| 97国产精品人人爽人人做| 超碰99热| 超碰成人福利| 伊人网站视频在线| 欧美v在线观看| 熟女综合网| 激情网五月天| 日本高清色清di免费观看| 国产成人精品a视频| 激情五月天综合网| 亚洲天堂无码高清| 中文字幕在线不卡| 天天日天天爽| 日韩精品久| 日韩日韩日韩日韩日韩| 337P人体美鮑高清| 亚洲黄色免费在线观看| 色天使青青草| 丰滿人妻一区二区三| 激情国产| 色色天堂成人电影| 成人午夜婬片A片| 婷婷五月久久| 欧美日韩国产尤物主播精品| 国产一区二区波多野结衣| 三区在线| www.日韩| 国产中文字幕在线免费观看| 亚洲中文免费视频| av一区二区三区| 国产av网| 操逼网站在线观看| 最新国产第一页| 操逼毛片视频| 99er热精品视频| 成人精品永久免费视频99久久精品| 亚洲在线第一页| 99热99| 三级片男人天堂| 日本特黄AA片免费视频| 成人在线乱码视频| 色老板网址| 久草中文视频| 亚洲欧美日韩在线| 久青草资源福利视频| 久久九九99| 三级av在线观看| 91成人免费电影| 99热精品久久| 日韩精品一区二区在线观看| 99热这里| 翔田千里无码播放| 成人国产在线| 另类激情网| 日本综合在线| 啊哈嗯| 中文电视剧字幕在线播放免费视频| 91香蕉视频在线| 中文字幕第23页| 男女午夜福利| 久久av一区二区三区观看| 在线免费观看黄色片| 精品人妻系列| 超碰女人| www.在线播放| 在线观看视频免费无码免费视频 | 欧美日韩在线视频播放| 俺来也影院| 蜜臀网在线| 五月丁香欧美性爱| 国产一区二区免费| 女人18特级毛片。| 日本中文字幕网站| 国产高清av| 天天日,天天干,天天操| 亚洲天堂中文字幕| 伊香蕉大综综综合| 无码激情视频| 91探花在线播放| 久久精品一区二区三区四区五区| 91免费网站在线观看| 大香蕉福利视频| 一区二区三区不卡在线| 亚洲中文字幕一区| 91探花在线播放| 亚洲精品91| 亚洲精品视频免费观看| 中文字幕片av| 亚洲成色A片77777在线小说| 天天色色婷婷| 欧美男人的天堂| 日韩无码黄色片| 成人一级黄片| 麻豆黄色电影| 久久天堂网| 蜜桃人妻无码AV天堂三区 | 亚洲成人AV在线观看| 2017天天射| 波多野结衣在线无码| 欧美日韩中文视频| 五月丁香婷中文| 97人妻人人操| 国产免费a| 婷婷色大师| 小黄片免费在线观看| 欧美特黄AAAAAA| 丁香五月色| 亚洲av小说| 国产福利在线视频| 亚洲中文字幕在线视频观看| www黄片视频| 日本少妇高潮| 无码电影在线播放| 国产一级黄片| 三级无码中文| 国产一级操逼片| 无码人妻一区二区三区| 国产av地址| 日韩性爱视频在线播放| 亚洲AV无码电影| 亚洲精品国产精品国自产A片同性| 日韩日逼| 高清无码中文字幕在线观看| 中文字幕在线播放av| 波多野结衣无码视频在线观看| 国产成人免费在线视频| 51成人免费| 日本精品一区二区三区四区的功能| 国产一级二级三级片| 欧美AAAAAA视频| 岛国A片| 日本黄色色情视频| 久久久国产精品人人片| 九九九在线| ww成人| 成人区123| 日韩欧美视频一区| 欧美熟妇另类久久久久久不卡| 18禁91| 亚洲不卡中文字幕| www.av免费| 国产在线拍揄自揄拍无码网站新闻 | 91极品视觉盛宴| 2025最新国产精品每日更新| 激情五月在线| 男女一区二区三区| 欧美三级在线播放| 亚洲成av人无码| 日韩啊啊啊| 影视先锋久久| 国产亚洲欧美在线| 国产精品久久久999| 国产午夜福利免费视频在线观看| 久久黄网| 日韩性做爰免费A片AA片| 三级乱伦视频| www.黄色| A视频在线观看| 一本无码中文字幕| 婷婷五月激情小说| 蜜柚av| 黄色视频网站在线观看免费| 东京热黄色电影| 444444在线观看免费高清电视剧木瓜一| 欧美在线中文字幕| 中文无码一区二区三区| 成人在线激情| 热无码av| 人妻互换一二三区免费| 婷婷久久网| 中文字幕精品视频在线| 欧美一区三区视频z| 米奇色色| 午夜福利10000| 人妻av无码| 欧美一级性爱在线观看| 美少妇AV| www.大鸡巴| 7777AV| 日韩AV一级| 国产91免费| 四川妇搡BBBB搡BBBB| 免费v片| 日韩性爱无码| 五月天在线观看| 国产精品天天| 无码激情18激情视频| 人妻超碰在线| 最近日韩中文字幕中文翻译歌词| 老熟女露脸25分钟91秒| 亚洲不卡在线观看| 一插菊花综合视频| 躁BBB躁BBB躁BBBBBB日视频| 亚洲A网站| 天天爽夜夜爽| 国产777777| 免费网站观看www在线观看| www.99国产| 午夜福利av电影| 伊人色色综合| 色色加勒比综合| 无码久久| 日本午夜视频| 四川少扫搡BBBBB搡B| 国产精品大全| 亚洲无码视频专区| 91成人久久| www.豆花社区成人| www.插逼| gogogo免费高清在线偷拍| 亚洲第一香蕉视频| 日韩美女免费性爱视频| 黄色成人在线观看| 日韩精品第一页| 日韩精品人妻中文字幕| 成人特级毛片全部免费播放 | 国产剧情一区二区| 亚洲欧美日韩在线| 精产国品一区二区| 丰满人妻一区二区三区视频在线不卡| 偷拍99| 黄色成人在线| 成人做爰A片AAA毛真人| 国产人妖在线观看| 日韩精品一二三区| 无码国产视频| 天天夜夜人人| 青娱乐AV在线| 狠狠干五月天| 久久久WWW成人免费精品| 亚洲AV无码国产综合专区| 婷婷丁香一区二区三区| 日本色电影在线观看| 性九九九九九九| 国产精品国产三级国产专区53| 黄色电影大香蕉| 久草视频这里只有精品| 国内自拍视频网站| 国产在线播放av| 九九热视频99| 国产精品国产精品国产专区不52| 操国产美女| 日韩一区二区在线看在线看 | 国产激情在线| 欧美无人区码suv| 草逼免费视频| 日日撸夜夜撸| 日本无码一区二区| 九九九国产| 国产美女裸体网站| 免费一区二区三区四区| 久久99视频| 日韩aaa| 91国黄色毛片在线观看| 青青草资源站| 俺去了俺来也| AV无码人妻| 日韩色图在线观看| 男人天堂网av| 亚洲影音先锋在线| 香蕉午夜视频| 影音先锋在线成人| 五月婷婷丁香网| 欧美AⅤ在线| 天堂俺去俺来也www久久婷婷| Japanese在线观看| AAA三级片| 制服乱伦| 久草视频福利| 一级A片免费观看| 77777色婷婷| 国内毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 大香蕉亚洲在线| 精品亚洲成人| 成人无码免费毛片| 无码中文字幕在线视频| 日日爽| 五月天一区二区| 成人免费视频国产免费麻豆,| 91人妻人人澡人人| 黄色在线免费| 国产九色91回来了| 小佟丽娅大战91哥| 久久午夜鲁丝| 91亚洲精品国产成人| 日日搔AV一区二区三区| 欧美黄色三级视频| 91老熟女视频| 日本色色色| 大香蕉伊人久久| 无码av亚洲一区二区毛片公司| 日韩黄色A片| 欧美性综合网| 肏屄视频在线播放| 亚洲乱码精品久久久久..| 日韩欧美内射| 欧美丰满人妻免费视频人| 人妻少妇av中文字幕乱码牛牛 | 中文字幕第5页| 91丝袜一区二区| 大香蕉精品欧美色综合2025| 中文字幕无码乱伦| 中国精品77777777| 谁有毛片网址| 一级av片| 水蜜桃在线视频| 牛牛精品一区二区AV| 91无码人妻精品一区二区三区四| 你懂的视频在线播放| 亚洲黄片免费在线观看| 特级特黄AAAAAAAA片| 国产成人超碰| 91福利影院| 黄色视频免费国产| 七十路の高齢熟女千代子| 免费看a| 超碰在线网| 欧美偷拍一区| 黄色电影视频网站| 亚洲综合免费观看高清| 亚洲三级视频| 日p视频在线观看| 国产操逼小视频| 日韩高清无码不卡| 人人爽人人爽| 大香蕉视频国产| 欧美麻豆| 躁BBB躁BBB躁BBBBB乃| 国产成人午夜| 亚洲AV无码成人精品区东京热| 国产AⅤ无码一区二区| 大地影院资源官网| 男女啪啪免费| 亚洲无码另类| 色情一级AA片免费观看| 人妻p| 人妻丝袜蕾丝高跟双飞| 麻豆亚洲| 亚洲精品97久久中文字幕| 色高清无码免费视频| 成年人黄色视频| 在线免费观看无码| 国产激情综合五月久久| 免费看黄色电影| 精品一区二区三区免费| 无码久久久| 热无码av| 黄片中文字幕| 国产色av| 三级高清无码视频| 丁香六月综合激情| 97成人人妻一区二区三区| 激情AV在线观看| 亚洲第一成人网址| 中文无码日本一级A片久久影视 | 中文字幕在线观看免费高清电影 | 华女与黑人91A∨| 免费看a的网站| 大奶无码| 亚洲日韩久久| 亚洲不卡在线| 国产精品视频网站| 久久三级| 国产熟女在线| 久久99老妇伦国产熟女| 亚洲aaa在线| 囯产精品久久久久久久久免费无码 | 无码波多野结衣| 丰滿人妻一区二区三区| 久久黄色视| 国产人妖TS重口系列网站观看| 激情操逼| 大香蕉伊人导航| 宗合久久| 蕉蕉视| 日本精品黄色| 91在线视频播放| 国产无码中文| 国产婷婷色一区二区| 四虎成人电影| 伊人成人在线观看| 无码一区二区黑人猛烈视频网站| 欧美日韩中文字幕在线| 狠狠色噜噜狠狠狠7777米奇网| 日韩成人小说| 女孩自慰在线观看| 久久久精品久久久| 欧美日韩在线播放| 先锋成人av| 亚洲狠狠干| 免费观看一区| 一级A片免费观看| 久久久女人| 成人AV毛片| 欧一美一婬一伦一区二区三区| 精品一区二区三区免费毛片| 99视频在线免费| 一区二区三区精品视频| 天天摸天天添| 欧美精产国品一区二区区别| 欧美日韩一区二区三区在线电影| 大鷄巴成人A片| www.四虎成人网站| 日韩在线观看av| 亚洲性爱一区| 91极品视觉盛宴| 国产成人午夜| 欧洲无码一区二区三区| 成人福利视频在线| 国产无码成人免费| 操逼去| 一级A片60分钟免费看| 日本中文字幕精品| 丁香五月AV| 人人妻人人操人人干| 黄色精品视频| 国产嘿嘿| 无码高清视频| 国产AV无码高清| 午夜视频99| 亚欧免费视频| 男女AV在线免费观看| 丰满人妻一区二区三区蜜桃视频| 成人一区二区三区四区五区| 亚洲高清无码中文字幕| 三级片AV在线| 欧美成人精品AAA| 日韩一级片网站| 996热| 狠狠狠狠狠狠狠| 亚洲a在线视频| 久草综合在线| 粉嫩av在线| 麻豆91网站| 中文字幕日韩av| 69亚洲| 日韩国产在线| 国产精品秘久久久久久1-~/\v7-/ 囯产精品一区二区三区线一牛影视1 | 日韩综合精品| 91中文字幕在线| 亚洲精品免费在线观看| 日本无码区| 人妻丰满熟妇av无码区| 欧美AAAAAAAA| 国内精品一区二区| 综合色亚洲| 最新久欠一区二区免费看| 色婷婷视频在线播放| 网站啪啪| 欧美一级片免费看| 久久精品国产视频| 亚洲无码av在线观看| 黄片网站在线观看| 国产乱子伦-区二区三区四区| 婷婷激情中文字幕| 亚洲成人免费在线观看| 中文字幕丰满的翔田千里| 国产黄色av| 亚洲精品成人av无码| 日本国产黄色| 天天干天天摸| 免费内射视频| 欧美性爱A片| 四川少妇BBw搡BBBB槡BBBB| 欧美自拍| 蜜桃av久久久亚洲精品| 国产av一级| 亚洲免费黄片| 五月天激情啪啪| 水果派av| 丁香六月综合激情| 性满足BBwBBWBBw| 激情五月天影院| 国精产品一区一区三区有限公司杨| 四川少妇BBw搡BBBB槡BBBB| 激情五月天丁香| а中文在线天堂精品| 996热re视频精品视频这里| 一区二区三区精品| 91久久香蕉囯产熟女线看蜜桃| 精品亚洲成人| 人人爱人人插高清| 国产做受91| 成人毛片100免费观看| 激情久久AV一区AV二区AV三区| 天天操天天操天天操天天| 操逼影视| 五月琪琪| 操国产美女| 一区二区三区视频在线观看| 日韩视频――中文字幕| 国产一级AA片| 欧美国产综合在线| 专区无日本视频高清8| 五月丁香婷婷色色| 五月天婷婷在线播放视频免费观看| 亚洲第一天堂| 日韩欧美国产精品综合嫩V| 91精品国产综合久久久蜜臀图片 | 日韩操逼视频| 日韩中文字幕AV| 婷婷无码在线| 亚洲av网站在线观看| 成人做爱免费网站| 亚洲中文字幕视频在线观看| 九色PORNY国产成人| 久草中文在线视频| 色77777| 午夜视频在线播放| 囯产精品久久久久久久久免费无码| 欧美精品久久久久久久久| 青青草视频免费看| 久久亚洲视频| 国产亚洲欧美在线| 一级a一级a爱片免费免免高潮| 日韩人妻精品中文字幕专区不卡 | 亚洲三级片在线观看| 激情五月丁香婷婷| 香蕉视频亚洲| 十八毛片| 东北操逼视频| 成人精品一区日本无码网站suv/ | 综合婷婷| 亚洲一区在线视频| 亚洲色欲色欲www在线成人网| 国产成人无码精品久在线观看| 一区二区三区日本| 在线国产激情视频| 亚洲AV资源在线| 99久久黄色| 日韩精品一区二区三区免费观看高清| 成人性爱在线观看| 老鸭窝在线观看视频| 激情五月在线| 精品一区二区三区视频| 国产高清中文字幕| 91在线成人电影| 91免费观看网站| 大学生18一19GAY169| 亚洲一二期视频| 亚洲三级在线观看| av解说| 欧美精品99久久久| 伊人网在线视频观看| 亚洲综合免费观看高清完整版| 91蜜桃网| 亚洲秘无码一区二区三区蜜桃中文| 麻豆成人精品国产免费| 中文无码在线观看中文字幕av中文| 国产黄片一区二区三区| www.豆花社区成人| 91精品国产综合久久久久久久 | 日韩性爱网站| 久久久国产视频| 黄色一级大片| 国产在线激情| 91成人影片| 高清无码视频网站| 欧美亚洲视频| 亚洲成人一区二区三区| 久久性| 韩国av在线| 一区二区AV| 欧美成人黄色电影| 日韩做爱视频|