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

歡迎訪問 生活随笔!

生活随笔

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

java

Java线程池理解及用法

發布時間:2023/12/18 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java线程池理解及用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

多線程的異步執行方式,雖然能夠最大限度發揮多核計算機的計算能力,但是如果不加控制,反而會對系統造成負擔。線程本身也要占用內存空間,大量的線程會占用內存資源并且可能會導致Out of Memory。即便沒有這樣的情況,大量的線程回收也會給GC帶來很大的壓力。

為了避免重復的創建線程,線程池的出現可以讓線程進行復用。通俗點講,當有工作來,就會向線程池拿一個線程,當工作完成后,并不是直接關閉線程,而是將這個線程歸還給線程池供其他任務使用。

接下來從總體到細致的方式,來共同探討線程池。

總體的架構

來看Executor的框架圖:

?

接口:Executor,CompletionService,ExecutorService,ScheduledExecutorService

抽象類:AbstractExecutorService

實現類:ExecutorCompletionService,ThreadPoolExecutor,ScheduledThreadPoolExecutor

從圖中就可以看到主要的方法,本文主要討論的是ThreadPoolExecutor

研讀ThreadPoolExecutor

看一下該類的構造器:

public ThreadPoolExecutor(int paramInt1, int paramInt2, long paramLong, TimeUnit paramTimeUnit,BlockingQueue<Runnable> paramBlockingQueue, ThreadFactory paramThreadFactory,RejectedExecutionHandler paramRejectedExecutionHandler) {this.ctl = new AtomicInteger(ctlOf(-536870912, 0));this.mainLock = new ReentrantLock();this.workers = new HashSet();this.termination = this.mainLock.newCondition();if ((paramInt1 < 0) || (paramInt2 <= 0) || (paramInt2 < paramInt1) || (paramLong < 0L))throw new IllegalArgumentException();if ((paramBlockingQueue == null) || (paramThreadFactory == null) || (paramRejectedExecutionHandler == null))throw new NullPointerException();this.corePoolSize = paramInt1;this.maximumPoolSize = paramInt2;this.workQueue = paramBlockingQueue;this.keepAliveTime = paramTimeUnit.toNanos(paramLong);this.threadFactory = paramThreadFactory;this.handler = paramRejectedExecutionHandler;}

?

corePoolSize?:線程池的核心池大小,在創建線程池之后,線程池默認沒有任何線程。

當有任務過來的時候才會去創建創建線程執行任務。換個說法,線程池創建之后,線程池中的線程數為0,當任務過來就會創建一個線程去執行,直到線程數達到corePoolSize?之后,就會被到達的任務放在隊列中。(注意是到達的任務)。換句更精煉的話:corePoolSize?表示允許線程池中允許同時運行的最大線程數。

如果執行了線程池的prestartAllCoreThreads()方法,線程池會提前創建并啟動所有核心線程。

maximumPoolSize?:線程池允許的最大線程數,他表示最大能創建多少個線程。maximumPoolSize肯定是大于等于corePoolSize。

keepAliveTime?:表示線程沒有任務時最多保持多久然后停止。默認情況下,只有線程池中線程數大于corePoolSize?時,keepAliveTime?才會起作用。換句話說,當線程池中的線程數大于corePoolSize,并且一個線程空閑時間達到了keepAliveTime,那么就是shutdown。

Unit:keepAliveTime?的單位。

workQueue?:一個阻塞隊列,用來存儲等待執行的任務,當線程池中的線程數超過它的corePoolSize的時候,線程會進入阻塞隊列進行阻塞等待。通過workQueue,線程池實現了阻塞功能

threadFactory?:線程工廠,用來創建線程。

handler?:表示當拒絕處理任務時的策略。

任務緩存隊列

在前面我們多次提到了任務緩存隊列,即workQueue,它用來存放等待執行的任務。

workQueue的類型為BlockingQueue<Runnable>,通常可以取下面三種類型:

1)有界任務隊列ArrayBlockingQueue:基于數組的先進先出隊列,此隊列創建時必須指定大小;

2)無界任務隊列LinkedBlockingQueue:基于鏈表的先進先出隊列,如果創建時沒有指定此隊列大小,則默認為Integer.MAX_VALUE;

3)直接提交隊列synchronousQueue:這個隊列比較特殊,它不會保存提交的任務,而是將直接新建一個線程來執行新來的任務。

拒絕策略

AbortPolicy:丟棄任務并拋出RejectedExecutionException

CallerRunsPolicy:只要線程池未關閉,該策略直接在調用者線程中,運行當前被丟棄的任務。顯然這樣做不會真的丟棄任務,但是,任務提交線程的性能極有可能會急劇下降。

DiscardOldestPolicy:丟棄隊列中最老的一個請求,也就是即將被執行的一個任務,并嘗試再次提交當前任務。

DiscardPolicy:丟棄任務,不做任何處理。

線程池的任務處理策略:

如果當前線程池中的線程數目小于corePoolSize,則每來一個任務,就會創建一個線程去執行這個任務;

如果當前線程池中的線程數目>=corePoolSize,則每來一個任務,會嘗試將其添加到任務緩存隊列當中,若添加成功,則該任務會等待空閑線程將其取出去執行;若添加失敗(一般來說是任務緩存隊列已滿),則會嘗試創建新的線程去執行這個任務;如果當前線程池中的線程數目達到maximumPoolSize,則會采取任務拒絕策略進行處理;

如果線程池中的線程數量大于 corePoolSize時,如果某線程空閑時間超過keepAliveTime,線程將被終止,直至線程池中的線程數目不大于corePoolSize;如果允許為核心池中的線程設置存活時間,那么核心池中的線程空閑時間超過keepAliveTime,線程也會被終止。

線程池的關閉

ThreadPoolExecutor提供了兩個方法,用于線程池的關閉,分別是shutdown()和shutdownNow(),其中:

shutdown():不會立即終止線程池,而是要等所有任務緩存隊列中的任務都執行完后才終止,但再也不會接受新的任務

shutdownNow():立即終止線程池,并嘗試打斷正在執行的任務,并且清空任務緩存隊列,返回尚未執行的任務

源碼分析

首先來看最核心的execute方法,這個方法在AbstractExecutorService中并沒有實現,從Executor接口,直到ThreadPoolExecutor才實現了改方法,

ExecutorService中的submit(),invokeAll(),invokeAny()都是調用的execute方法,所以execute是核心中的核心,源碼分析將圍繞它逐步展開。

public void execute(Runnable command) {if (command == null)throw new NullPointerException();/** Proceed in 3 steps:** 1. If fewer than corePoolSize threads are running, try to* start a new thread with the given command as its first* task. The call to addWorker atomically checks runState and* workerCount, and so prevents false alarms that would add* threads when it shouldn't, by returning false.* 如果正在運行的線程數小于corePoolSize,那么將調用addWorker 方法來創建一個新的線程,并將該任務作為新線程的第一個任務來執行。
       當然,在創建線程之前會做原子性質的檢查,如果條件不允許,則不創建線程來執行任務,并返回false.  
* 2. If a task can be successfully queued, then we still need* to double-check whether we should have added a thread* (because existing ones died since last checking) or that* the pool shut down since entry into this method. So we* recheck state and if necessary roll back the enqueuing if* stopped, or start a new thread if there are none.* 如果一個任務成功進入阻塞隊列,那么我們需要進行一個雙重檢查來確保是我們已經添加一個線程(因為存在著一些線程在上次檢查后他已經死亡)或者
       當我們進入該方法時,該線程池已經關閉。所以,我們將重新檢查狀態,線程池關閉的情況下則回滾入隊列,線程池沒有線程的情況則創建一個新的線程。* 3. If we cannot queue task, then we try to add a new* thread. If it fails, we know we are shut down or saturated* and so reject the task.
       如果任務無法入隊列(隊列滿了),那么我們將嘗試新開啟一個線程(從corepoolsize到擴充到maximum),如果失敗了,那么可以確定原因,要么是
       線程池關閉了或者飽和了(達到maximum),所以我們執行拒絕策略。
*/
    
    // 1.當前線程數量小于corePoolSize,則創建并啟動線程。int c = ctl.get();if (workerCountOf(c) < corePoolSize) {if (addWorker(command, true))
        // 成功,則返回 return;c = ctl.get();}
    // 2.步驟1失敗,則嘗試進入阻塞隊列,if (isRunning(c) && workQueue.offer(command)) {
       // 入隊列成功,檢查線程池狀態,如果狀態部署RUNNING而且remove成功,則拒絕任務int recheck = ctl.get();if (! isRunning(recheck) && remove(command))reject(command);
       // 如果當前worker數量為0,通過addWorker(null, false)創建一個線程,其任務為nullelse if (workerCountOf(recheck) == 0)addWorker(null, false);}
    // 3. 步驟1和2失敗,則嘗試將線程池的數量有corePoolSize擴充至maxPoolSize,如果失敗,則拒絕任務else if (!addWorker(command, false))reject(command);}

?

?相信看了代碼也是一臉懵,接下來用一個流程圖來講一講,他究竟干了什么事:

結合上面的流程圖來逐行解析,首先前面進行空指針檢查,

wonrkerCountOf()方法能夠取得當前線程池中的線程的總數,取得當前線程數與核心池大小比較,

  • 如果小于,將通過addWorker()方法調度執行。
  • 如果大于核心池大小,那么就提交到等待隊列。
  • 如果進入等待隊列失敗,則會將任務直接提交給線程池。
  • 如果線程數達到最大線程數,那么就提交失敗,執行拒絕策略。

?

excute()方法中添加任務的方式是使用addWorker()方法,看一下源碼,一起學習一下。

private boolean addWorker(Runnable firstTask, boolean core) {retry:
     // 外層循環,用于判斷線程池狀態for (;;) {int c = ctl.get();int rs = runStateOf(c);// Check if queue empty only if necessary.if (rs >= SHUTDOWN &&! (rs == SHUTDOWN &&firstTask == null &&! workQueue.isEmpty()))return false;// 內層的循環,任務是將worker數量加1for (;;) {int wc = workerCountOf(c);if (wc >= CAPACITY ||wc >= (core ? corePoolSize : maximumPoolSize))return false;if (compareAndIncrementWorkerCount(c))break retry;c = ctl.get(); // Re-read ctlif (runStateOf(c) != rs)continue retry;// else CAS failed due to workerCount change; retry inner loop}}// worker加1后,接下來將woker添加到HashSet<Worker>中,并啟動workerboolean workerStarted = false;boolean workerAdded = false;Worker w = null;try {final ReentrantLock mainLock = this.mainLock;w = new Worker(firstTask);final Thread t = w.thread;if (t != null) {mainLock.lock();try {// Recheck while holding lock.// Back out on ThreadFactory failure or if// shut down before lock acquired.int c = ctl.get();int rs = runStateOf(c);if (rs < SHUTDOWN ||(rs == SHUTDOWN && firstTask == null)) {if (t.isAlive()) // precheck that t is startablethrow new IllegalThreadStateException();workers.add(w);int s = workers.size();if (s > largestPoolSize)largestPoolSize = s;workerAdded = true;}} finally {mainLock.unlock();}
         // 如果往HashSet<Worker>添加成功,則啟動該線程if (workerAdded) {t.start();workerStarted = true;}}} finally {if (! workerStarted)addWorkerFailed(w);}return workerStarted;}

addWorker(Runnable firstTask,?boolean?core)的主要任務是創建并啟動線程。

他會根據當前線程的狀態和給定的值(core or maximum)來判斷是否可以創建一個線程。

addWorker共有四種傳參方式。execute使用了其中三種,分別為:

1.addWorker(paramRunnable,?true)

線程數小于corePoolSize時,放一個需要處理的task進Workers Set。如果Workers Set長度超過corePoolSize,就返回false.

2.addWorker(null,?false)

放入一個空的task進workers Set,長度限制是maximumPoolSize。這樣一個task為空的worker在線程執行的時候會去任務隊列里拿任務,這樣就相當于創建了一個新的線程,只是沒有馬上分配任務。

3.addWorker(paramRunnable,?false)

當隊列被放滿時,就嘗試將這個新來的task直接放入Workers Set,而此時Workers Set的長度限制是maximumPoolSize。如果線程池也滿了的話就返回false.

?

還有一種情況是execute()方法沒有使用的

addWorker(null,?true)

這個方法就是放一個null的task進Workers Set,而且是在小于corePoolSize時,如果此時Set中的數量已經達到corePoolSize那就返回false,什么也不干。實際使用中是在prestartAllCoreThreads()方法,這個方法用來為線程池預先啟動corePoolSize個worker等待從workQueue中獲取任務執行。

執行流程:

1、判斷線程池當前是否為可以添加worker線程的狀態,可以則繼續下一步,不可以return false:
??? A、線程池狀態>shutdown,可能為stop、tidying、terminated,不能添加worker線程
??? B、線程池狀態==shutdown,firstTask不為空,不能添加worker線程,因為shutdown狀態的線程池不接收新任務
??? C、線程池狀態==shutdown,firstTask==null,workQueue為空,不能添加worker線程,因為firstTask為空是為了添加一個沒有任務的線程再從workQueue獲取task,而workQueue為?     空,說明添加無任務線程已經沒有意義
2、線程池當前線程數量是否超過上限(corePoolSize 或 maximumPoolSize),超過了return false,沒超過則對workerCount+1,繼續下一步
3、在線程池的ReentrantLock保證下,向Workers Set中添加新創建的worker實例,添加完成后解鎖,并啟動worker線程,如果這一切都成功了,return true,如果添加worker入Set失敗或啟動失敗,調用addWorkerFailed()邏輯

?

常見的四種線程池

newFixedThreadPool

public static ExecutorService newFixedThreadPool(int var0) {return new ThreadPoolExecutor(var0, var0, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue());} public static ExecutorService newFixedThreadPool(int var0, ThreadFactory var1) {
return new ThreadPoolExecutor(var0, var0, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(), var1);
}

固定大小的線程池,可以指定線程池的大小,該線程池corePoolSize和maximumPoolSize相等,阻塞隊列使用的是LinkedBlockingQueue,大小為整數最大值。

該線程池中的線程數量始終不變,當有新任務提交時,線程池中有空閑線程則會立即執行,如果沒有,則會暫存到阻塞隊列。對于固定大小的線程池,不存在線程數量的變化。同時使用無界的LinkedBlockingQueue來存放執行的任務。當任務提交十分頻繁的時候,LinkedBlockingQueue

迅速增大,存在著耗盡系統資源的問題。而且在線程池空閑時,即線程池中沒有可運行任務時,它也不會釋放工作線程,還會占用一定的系統資源,需要shutdown。

newSingleThreadExecutor

public static ExecutorService newSingleThreadExecutor() {return new Executors.FinalizableDelegatedExecutorService(new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue()));}public static ExecutorService newSingleThreadExecutor(ThreadFactory var0) {return new Executors.FinalizableDelegatedExecutorService(new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(), var0));}

單個線程線程池,只有一個線程的線程池,阻塞隊列使用的是LinkedBlockingQueue,若有多余的任務提交到線程池中,則會被暫存到阻塞隊列,待空閑時再去執行。按照先入先出的順序執行任務。

newCachedThreadPool

public static ExecutorService newCachedThreadPool() {return new ThreadPoolExecutor(0, 2147483647, 60L, TimeUnit.SECONDS, new SynchronousQueue());}public static ExecutorService newCachedThreadPool(ThreadFactory var0) {return new ThreadPoolExecutor(0, 2147483647, 60L, TimeUnit.SECONDS, new SynchronousQueue(), var0);}

緩存線程池,緩存的線程默認存活60秒。線程的核心池corePoolSize大小為0,核心池最大為Integer.MAX_VALUE,阻塞隊列使用的是SynchronousQueue。是一個直接提交的阻塞隊列,??? 他總會迫使線程池增加新的線程去執行新的任務。在沒有任務執行時,當線程的空閑時間超過keepAliveTime(60秒),則工作線程將會終止被回收,當提交新任務時,如果沒有空閑線程,則創建新線程執行任務,會導致一定的系統開銷。如果同時又大量任務被提交,而且任務執行的時間不是特別快,那么線程池便會新增出等量的線程池處理任務,這很可能會很快耗盡系統的資源。

newScheduledThreadPool

public static ScheduledExecutorService newScheduledThreadPool(int var0) {return new ScheduledThreadPoolExecutor(var0);}public static ScheduledExecutorService newScheduledThreadPool(int var0, ThreadFactory var1) {return new ScheduledThreadPoolExecutor(var0, var1);}

定時線程池,該線程池可用于周期性地去執行任務,通常用于周期性的同步數據。

scheduleAtFixedRate:是以固定的頻率去執行任務,周期是指每次執行任務成功執行之間的間隔。

schedultWithFixedDelay:是以固定的延時去執行任務,延時是指上一次執行成功之后和下一次開始執行的之前的時間。

?

使用實例 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

newFixedThreadPool實例:

?View Code

?

newCachedThreadPool實例:

?View Code

這里沒用調用shutDown方法,這里可以發現過60秒之后,會自動釋放資源。

?

newSingleThreadExecutor

?View Code

這里需要注意一點,newSingleThreadExecutor和newFixedThreadPool一樣,在線程池中沒有任務時可執行,也不會釋放系統資源的,所以需要shudown。

?

newScheduledThreadPool

?View Code

?

最后雜談 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

如何選擇線程池數量

線程池的大小決定著系統的性能,過大或者過小的線程池數量都無法發揮最優的系統性能。

當然線程池的大小也不需要做的太過于精確,只需要避免過大和過小的情況。一般來說,確定線程池的大小需要考慮CPU的數量,內存大小,任務是計算密集型還是IO密集型等因素

NCPU = CPU的數量

UCPU = 期望對CPU的使用率 0 ≤ UCPU ≤ 1

W/C = 等待時間與計算時間的比率

如果希望處理器達到理想的使用率,那么線程池的最優大小為:

線程池大小=NCPU *UCPU(1+W/C)

在Java中使用

int ncpus = Runtime.getRuntime().availableProcessors();

獲取CPU的數量。

?

線程池工廠

Executors的線程池如果不指定線程工廠會使用Executors中的DefaultThreadFactory,默認線程池工廠創建的線程都是非守護線程。

使用自定義的線程工廠可以做很多事情,比如可以跟蹤線程池在何時創建了多少線程,也可以自定義線程名稱和優先級。如果將

新建的線程都設置成守護線程,當主線程退出后,將會強制銷毀線程池。

下面這個例子,記錄了線程的創建,并將所有的線程設置成守護線程。

?

?View Code

?

擴展線程池

ThreadPoolExecutor是可以拓展的,它提供了幾個可以在子類中改寫的方法:beforeExecute,afterExecute和terimated。

在執行任務的線程中將調用beforeExecute和afterExecute,這些方法中還可以添加日志,計時,監視或統計收集的功能,

還可以用來輸出有用的調試信息,幫助系統診斷故障。下面是一個擴展線程池的例子:

?

?View Code

?

線程池的正確使用

以下阿里編碼規范里面說的一段話:

線程池不允許使用Executors去創建,而是通過ThreadPoolExecutor的方式,這樣的處理方式讓寫的同學更加明確線程池的運行規則,規避資源耗盡的風險。 說明:Executors各個方法的弊端:
1)newFixedThreadPool和newSingleThreadExecutor:
??主要問題是堆積的請求處理隊列可能會耗費非常大的內存,甚至OOM。
2)newCachedThreadPool和newScheduledThreadPool:
??主要問題是線程數最大數是Integer.MAX_VALUE,可能會創建數量非常多的線程,甚至OOM。

?

手動創建線程池有幾個注意點

1.任務獨立。如何任務依賴于其他任務,那么可能產生死鎖。例如某個任務等待另一個任務的返回值或執行結果,那么除非線程池足夠大,否則將發生線程饑餓死鎖。

2.合理配置阻塞時間過長的任務。如果任務阻塞時間過長,那么即使不出現死鎖,線程池的性能也會變得很糟糕。在Java并發包里可阻塞方法都同時定義了限時方式和不限時方式。例如

Thread.join,BlockingQueue.put,CountDownLatch.await等,如果任務超時,則標識任務失敗,然后中止任務或者將任務放回隊列以便隨后執行,這樣,無論任務的最終結果是否成功,這種辦法都能夠保證任務總能繼續執行下去。

3.設置合理的線程池大小。只需要避免過大或者過小的情況即可,上文的公式線程池大小=NCPU *UCPU(1+W/C)

4.選擇合適的阻塞隊列。newFixedThreadPool和newSingleThreadExecutor都使用了無界的阻塞隊列,無界阻塞隊列會有消耗很大的內存,如果使用了有界阻塞隊列,它會規避內存占用過大的問題,但是當任務填滿有界阻塞隊列,新的任務該怎么辦?在使用有界隊列是,需要選擇合適的拒絕策略,隊列的大小和線程池的大小必須一起調節。對于非常大的或者無界的線程池,可以使用SynchronousQueue來避免任務排隊,以直接將任務從生產者提交到工作者線程。

?

下面是Thrift框架處理socket任務所使用的一個線程池,可以看一下FaceBook的工程師是如何自定義線程池的。

private static ExecutorService createDefaultExecutorService(Args args) {SynchronousQueue executorQueue = new SynchronousQueue();return new ThreadPoolExecutor(args.minWorkerThreads, args.maxWorkerThreads, 60L, TimeUnit.SECONDS,executorQueue);}

總結:

查看以備份

參考資料

《實戰Java》高并發程序設計

《Java Concurrency in Practice》

Java線程池ThreadPoolExecutor使用和分析(二)

轉載于:https://www.cnblogs.com/wwmiert/p/9441289.html

總結

以上是生活随笔為你收集整理的Java线程池理解及用法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

91亚洲国产成人久久精品网站 | 久久综合九色综合97_ 久久久 | 美女精品 | 国产福利一区在线观看 | 日韩在线看片 | 久久免费视频这里只有精品 | 国产中文字幕视频在线观看 | 成人午夜免费福利 | 97人人精品| 久久久视频在线 | 久久一精品 | 欧美精品午夜 | 亚洲成人精品在线观看 | 最近中文字幕高清字幕在线视频 | 国产黄| 综合激情伊人 | 91色吧 | 欧美 日韩 成人 | 91麻豆操 | 在线视频久久 | 狠狠色丁香婷婷综合 | 99精品视频免费在线观看 | 国产成人不卡 | www狠狠 | 69国产精品成人在线播放 | 最新av电影网址 | 日本韩国精品一区二区在线观看 | 国产精品久久久久久69 | 久草网在线 | 国产精品黑丝在线观看 | 丝袜+亚洲+另类+欧美+变态 | 中文字幕电影一区 | 91成人精品观看 | 丁香视频五月 | 日韩二区三区在线 | 色偷偷88888欧美精品久久久 | 一区二区久久久久 | 久久综合九色综合久99 | av久久久 | 欧美黄色特级片 | 免费在线国产精品 | 国产精品 9999 | 日韩精品久久久免费观看夜色 | 精品色综合 | 久久电影日韩 | 96视频在线 | 成人高清av在线 | 欧美精品一区二区免费 | 欧美日韩网址 | 亚洲国产精品激情在线观看 | 国产精品久久久久久久久久东京 | 中文字幕在线观看网站 | 2020天天干天天操 | 五月天伊人 | 人人视频网站 | 二区三区中文字幕 | 午夜美女网站 | 国产成人精品免高潮在线观看 | 精品一区精品二区高清 | 欧美综合在线观看 | 国产精品九九九 | 又黄又爽又色无遮挡免费 | 亚洲精品欧美视频 | 亚洲欧美国产日韩在线观看 | 免费视频 三区 | 日韩免费在线观看 | 国产精品自产拍在线观看网站 | 免费看片黄色 | 99久久精品免费 | 久久久国产精品成人免费 | 国产系列在线观看 | 玖玖在线播放 | 免费亚洲视频 | 99热这里精品| 欧美男男tv网站 | v片在线看 | 国偷自产中文字幕亚洲手机在线 | 99一级片| 国产激情小视频在线观看 | 免费日韩一级片 | 色婷婷激情综合 | 日韩理论在线视频 | 国产精品18久久久久久久久 | 中文字幕在线色 | 福利视频网站 | 国产成人精品综合久久久久99 | 国模一区二区三区四区 | 成人蜜桃| 久久激情影院 | 日韩字幕在线 | 欧美黄网站 | 久久久www成人免费毛片 | 日韩激情免费视频 | 色综合久久久久久久 | 天天爱天天插 | 国产一级久久 | 亚洲高清在线观看视频 | 九九免费在线观看 | 91av亚洲| 91精品综合在线观看 | 国产美女主播精品一区二区三区 | 久久久www成人免费精品张筱雨 | 国产精品手机在线播放 | 99精品一级欧美片免费播放 | 国产一区不卡在线 | 国内外激情视频 | 一区二区三区国 | 91在线视频观看免费 | 国产一区影院 | 日本在线观看视频一区 | 在线观看日韩专区 | 国产精品18久久久久久首页狼 | 免费电影一区二区三区 | 国产精品美女毛片真酒店 | 国产精品美女网站 | 天天爽夜夜爽人人爽一区二区 | 日韩三级不卡 | 98超碰在线观看 | 日韩欧美在线综合网 | 国产99久久九九精品免费 | 伊人婷婷 | 99热 精品在线 | av电影免费在线看 | 国内精品久久久久久久97牛牛 | 香蕉在线视频播放网站 | 欧美黑人巨大xxxxx | 日本中文在线播放 | 欧美日韩一区二区三区免费视频 | 成人羞羞视频在线观看免费 | 国产99久久精品一区二区永久免费 | 国产精品一区二区三区在线看 | 91精品国产91p65 | 欧美精品一区在线发布 | 五月天视频网 | 欧美精品在线一区 | 精品亚洲一区二区三区 | 日韩黄色免费在线观看 | 精品在线一区二区三区 | 久久视奸| 亚洲精品一区中文字幕乱码 | 麻豆影视网| 国产成人香蕉 | 欧美日韩综合在线观看 | 日本一区二区高清不卡 | 射射射av | 九九九九九国产 | 精品国产激情 | 亚洲综合狠狠干 | av成人免费在线 | 在线看片日韩 | 中文字幕免费一区二区 | 久99久中文字幕在线 | 黄色毛片一级 | 日本韩国精品在线 | 成人久久久精品国产乱码一区二区 | 欧美国产日韩在线视频 | av中文字幕亚洲 | 日日夜夜精品视频天天综合网 | 色婷婷丁香 | 国产成人久久精品一区二区三区 | 一级黄毛片 | 久久婷婷色综合 | 久草视频视频在线播放 | 香蕉视频18 | 91精品久久久久久综合五月天 | 2023天天干| 久久tv视频 | 精品在线一区二区 | 久久999久久| 久草视频在线免费 | 一区三区在线欧 | 国产精品免费人成网站 | 国产高清视频在线播放 | 韩国精品视频在线观看 | 97视频资源 | 久久久精品视频网站 | 色网站在线看 | 天天操天天摸天天干 | 久久久久国产成人精品亚洲午夜 | 日产乱码一二三区别在线 | 欧美一区二区三区免费观看 | 亚洲国产欧洲综合997久久, | 500部大龄熟乱视频使用方法 | 91久久精| 久久福利影视 | 西西大胆啪啪 | 99热精品久久 | www.五月激情.com | 久草在线资源视频 | 狠狠干在线 | 色婷婷狠狠五月综合天色拍 | 激情在线免费视频 | 成人免费视频免费观看 | 亚洲欧美激情插 | av福利第一导航 | 精品少妇一区二区三区在线 | 日韩在线观看视频一区二区三区 | 高潮久久久| 成年人在线播放视频 | 一级做a视频 | 五月婷婷综合网 | 免费观看av | 日韩高清国产精品 | 永久免费看av | 在线观看免费 | 五月天亚洲精品 | www久久国产| 国产字幕在线观看 | 最新色站| 成人黄色毛片视频 | 一区二区三区四区久久 | 黄色网免费 | 国产精品嫩草影院9 | 黄色国产区 | 国产精品美女久久久久久网站 | 人人澡人| 久精品一区 | 久久99国产精品久久99 | 日韩欧美高清免费 | www.91成人| 国产伦精品一区二区三区无广告 | 区一区二区三在线观看 | 久久久国产毛片 | 天天爱综合 | 一二三四精品 | 日韩三级中文字幕 | 狠狠插狠狠干 | 亚州天堂| 一区二区三区在线观看免费视频 | 国产高清精 | 黄色免费网战 | 国产69精品久久久久久 | 91大神视频网站 | 丁香五婷| 亚洲成a人片在线观看网站口工 | 中文字幕av在线电影 | 99精品视频在线观看视频 | 91av在线免费播放 | 欧美一区二区在线 | 香蕉在线观看视频 | 日日夜夜狠狠干 | 日韩在线观看电影 | 国产成人亚洲精品自产在线 | 人人澡人人干 | 成年人在线观看网站 | 国产亚洲精品久久久网站好莱 | 欧美先锋影音 | 天天干天天操天天爱 | 欧美视频日韩 | 亚洲精品国产精品99久久 | 午夜精品久久久久久久久久 | 国产精品成人品 | 伊人色综合网 | 亚洲欧美视频一区二区三区 | 日韩精品久久久久久中文字幕8 | 中文字幕在线观看第三页 | 国产色拍拍拍拍在线精品 | 中文字幕视频观看 | 人人澡人人添人人爽一区二区 | 一色屋精品视频在线观看 | 国产精品毛片一区视频 | 日韩中文字幕一区 | 国产福利精品在线观看 | 日韩免费视频网站 | 国产精品综合久久 | 亚洲最快最全在线视频 | 国产精品一二三 | 全黄网站 | 国产亚洲视频在线观看 | 91在线看视频免费 | 视频精品一区二区三区 | 麻豆va一区二区三区久久浪 | 亚洲欧美国产视频 | 国产字幕在线看 | 亚洲人成网站精品片在线观看 | 成人免费在线视频 | 天天色草 | 国产精品久久久一区二区三区网站 | 日韩最新在线 | 少妇视频在线播放 | 久久久免费看片 | 久久综合电影 | 天天操 夜夜操 | 97超碰人人澡人人爱学生 | 欧美夫妻性生活电影 | 免费三级黄色片 | 日韩av高潮 | 黄色亚洲免费 | 丁香婷婷自拍 | 在线国产黄色 | 黄色精品视频 | 亚洲精品h | 人人插人人看 | 久久美女视频 | 日本精品中文字幕在线观看 | 激情五月伊人 | 99re8这里有精品热视频免费 | 午夜精品中文字幕 | 夜夜躁狠狠躁日日躁视频黑人 | 91尤物国产尤物福利在线播放 | av专区在线| 天天爱天天射 | 国产精品午夜久久久久久99热 | 久久一区二区三区四区 | 亚洲国产成人在线播放 | 69精品久久 | 久久激情精品 | 色婷婷在线观看视频 | 欧美日韩亚洲在线观看 | 国产一区二区视频在线 | а中文在线天堂 | 激情欧美一区二区免费视频 | 国产成人三级三级三级97 | 91久久国产综合精品女同国语 | 在线国产一区二区三区 | 天天做日日做天天爽视频免费 | 免费a v网站 | 欧美日韩国内在线 | 日本韩国中文字幕 | 日日干av | 中文字幕在线观看完整版 | 精品国产乱码久久久久久1区2匹 | 久久国产精品99久久人人澡 | 国产破处在线视频 | 亚洲色图色 | 制服丝袜天堂 | www.超碰97.com | 国产高清在线一区 | 国产中文字幕av | 日韩一区在线免费观看 | www视频在线免费观看 | 能在线观看的日韩av | 亚洲精品在线视频网站 | 91av资源网| 激情久久久久 | 久久激情小视频 | 天天操夜夜操 | 日韩欧美视频在线播放 | 日韩在线中文字幕 | 人人澡人人爱 | 96久久精品 | 91麻豆精品一区二区三区 | 亚洲精品久久久久www | 国产精品久久一区二区三区不卡 | 四虎成人免费观看 | 在线视频免费观看 | 国产无区一区二区三麻豆 | www.伊人网 | 日韩欧美一区二区三区视频 | 九九免费在线观看视频 | 国产一区欧美在线 | 欧美亚洲国产日韩 | 欧美成亚洲 | 免费久久久久久久 | 免费日韩| 国产在线一卡 | 中文国产在线观看 | 日韩激情小视频 | 一本色道久久精品 | 久久黄色精品视频 | 91在线一区二区 | 久在线观看 | 91中文在线视频 | 一本一本久久a久久精品牛牛影视 | 日韩免费av网址 | 免费观看十分钟 | 五月亚洲 | 亚洲精品国产精品国自产观看 | 丁香综合av | 91免费版在线观看 | 国产精品永久 | 久草在线免费看视频 | 亚洲精品午夜aaa久久久 | 99久久精品国产亚洲 | 91在线超碰| 免费观看成人 | 狠狠天天 | 日韩免费在线观看网站 | 91爱看片| 国产精品video爽爽爽爽 | 中文字幕在线网 | 操操日日| 国产免费成人 | 久久久精品欧美一区二区免费 | 成人免费观看av | 超碰97在线资源 | 久久伊人八月婷婷综合激情 | 色丁香婷婷 | 免费视频18| 久草在线高清 | 深爱激情久久 | 天天爽人人爽夜夜爽 | 亚洲精品观看 | 四虎永久免费在线观看 | 免费观看性生交 | 国产精品11 | 久久久99久久 | 日韩毛片在线免费观看 | 国产精品永久在线观看 | 日韩在线视 | a亚洲视频 | 欧美成人影音 | 九九热只有精品 | 伊人中文字幕在线 | 日韩欧美视频一区 | 五月婷婷丁香网 | 一区二区视频在线免费观看 | 国产精品一区专区欧美日韩 | 国产成本人视频在线观看 | 国产精品毛片一区视频播不卡 | 欧美日韩在线视频一区 | 中文视频一区二区 | 在线91色 | 色综合久久久久综合99 | 99久久精品国产毛片 | 日韩在线二区 | 91重口视频 | 成人av影院在线观看 | 日韩在线观看一区二区 | 国产精品成人一区二区三区吃奶 | 91丨九色丨国产在线观看 | 精品国产电影 | 久久久999免费视频 日韩网站在线 | 久久久国产电影 | 国产精品一区专区欧美日韩 | 一级片视频在线 | 欧美日韩国产精品一区二区 | 18国产精品福利片久久婷 | aaa亚洲精品一二三区 | 高潮毛片无遮挡高清免费 | www.久久久精品 | 日韩欧美国产免费播放 | 精品福利视频在线观看 | 另类老妇性bbwbbw高清 | 日本久久久久久久久久久 | 色综合久久精品 | 国产一线二线三线性视频 | 狠狠色丁香婷婷综合久小说久 | 在线观看视频日韩 | 国产一级在线播放 | 国产精品久久 | 欧美综合久久久 | 一区二区三区观看 | 天天操天天综合网 | 在线免费亚洲 | 精品国产一二三四区 | 国产在线成人 | 久草在线看片 | 日本中文字幕网 | 色综合久久久久久中文网 | 狠狠干婷婷 | 五月天婷婷综合 | 丁香婷婷深情五月亚洲 | 91精品导航 | 91av大全| 亚洲视频观看 | 一区三区在线欧 | 日韩精品欧美视频 | 黄色av网站在线免费观看 | 欧美久久久久久久久中文字幕 | 国产不卡av在线 | 久久免费精品国产 | 久久黄色片 | 欧美成人xxxx | 男女全黄一级一级高潮免费看 | 欧美有色 | 日韩欧美视频在线免费观看 | 欧美一级电影 | 婷婷色在线资源 | 九色91视频| 色射爱 | 日韩在线首页 | 黄www在线观看 | 成人小视频在线 | 丁香激情视频 | 久久天天躁夜夜躁狠狠躁2022 | 婷婷在线色 | 国产中文伊人 | www.com久久| 粉嫩av一区二区三区免费 | 亚洲午夜精品久久久久久久久久久久 | 黄色91在线 | 欧美成天堂网地址 | 久久国产免 | 91mv.cool在线观看 | 草久视频在线观看 | 国产精品ssss在线亚洲 | 日韩视频 一区 | 超碰人人超| 日本中文在线播放 | av中文字幕日韩 | 国产乱码精品一区二区三区介绍 | 日韩精品在线视频免费观看 | 久久综合狠狠综合 | 亚洲一区二区天堂 | 日韩免费在线视频 | 99精品视频播放 | 麻豆影视在线播放 | 成人免费av电影 | 综合色站 | 亚洲精品av中文字幕在线在线 | av一级久久| 国产 色 | 色综合久久久久久久 | 狠狠网亚洲精品 | 亚洲精品久久久久中文字幕m男 | 免费看国产黄色 | 日韩精品一区二区三区三炮视频 | 黄色特一级 | 欧美精品在线免费 | 久久精品亚洲国产 | 国产精品99在线播放 | 久久爱综合 | 亚洲电影一区二区 | 91麻豆.com | 日韩91精品| 欧美日韩国产在线观看 | 5月丁香婷婷综合 | 激情在线网址 | 亚洲精品视频免费在线观看 | 亚洲小视频在线观看 | 日韩成人精品 | 日韩精品网址 | 97电影网手机版 | 亚洲日本中文字幕在线观看 | 天天综合人人 | 91chinese在线| 国产欧美久久久精品影院 | 精品久久中文 | 超碰人人在线观看 | 伊人成人久久 | 美女国内精品自产拍在线播放 | 国内精品久久久久久久 | 国产一区二区三区免费在线观看 | 国产污视频在线观看 | 久久综合亚洲鲁鲁五月久久 | 国产一区在线视频 | 亚洲九九九在线观看 | 亚洲国产精品成人女人久久 | 久精品视频免费观看2 | 激情丁香婷婷 | 色婷婷成人网 | 久久躁日日躁aaaaxxxx | 日本在线精品视频 | 久章草在线 | 国产一级a毛片视频爆浆 | 亚洲一二三久久 | 久久免费在线 | 婷婷99| www178ccom视频在线 | 韩国在线一区二区 | 国产亚洲情侣一区二区无 | 99久久久久久久 | 精品国产一区二区在线 | 成人午夜电影网 | 中日韩欧美精彩视频 | 欧美一级大片在线观看 | 四虎永久免费在线观看 | 91在线免费视频观看 | 色综合久久综合网 | 一区二区三区四区精品视频 | 国产精品小视频网站 | 成人精品影视 | 日韩av女优视频 | 在线观看中文字幕亚洲 | 99看视频在线观看 | 天天色天天色 | 久久99久| 日韩在线网 | 视频一区二区国产 | 成人av片免费看 | av天天草 | 天天爽天天搞 | 四虎亚洲精品 | 亚洲精品视频大全 | 这里只有精品视频在线观看 | 亚洲最新av在线网址 | 国产精品1000 | 免费中午字幕无吗 | av不卡中文字幕 | 日韩av有码在线 | 深爱激情站| 欧美日韩免费看 | 六月色丁香 | 国产精品18久久久久久首页狼 | 中文字幕一区二区三区在线观看 | 操操操日日日 | 五月开心激情网 | 免费黄色网址网站 | 在线视频第一页 | 免费在线日韩 | 99久久精品一区二区成人 | 亚洲电影久久 | av资源网在线播放 | 国产第一页在线播放 | 国产资源精品在线观看 | 久久久久久久久久久网站 | 日韩久久视频 | 在线最新av | 91麻豆精品国产91久久久久久 | 在线免费观看视频a | 黄在线免费观看 | 久久全国免费视频 | 国产中文字幕91 | 国产自在线 | 97精品在线观看 | 久草在线观看视频免费 | 免费一级片观看 | 久久精品一区二区三区四区 | 超碰国产在线观看 | 狠狠色丁香婷婷综合久久片 | 美女久久视频 | 视频国产在线观看18 | 国产美女被啪进深处喷白浆视频 | 91精品电影 | 日韩精品一区二区免费视频 | 日韩在线高清免费视频 | 亚洲在线视频免费观看 | 国产破处视频在线播放 | 国内少妇自拍视频一区 | 狠狠gao| 免费观看9x视频网站在线观看 | 久久精品成人 | 国产精品专区在线观看 | 狠狠色丁香婷婷综合久久片 | 视频国产区 | 在线播放 日韩专区 | 亚洲专区在线播放 | 西西44人体做爰大胆视频 | 久久国产美女 | 日韩免费专区 | 国产999在线观看 | 日韩精品久久久久久中文字幕8 | 91精品在线麻豆 | 日韩中文字幕免费电影 | 色吊丝在线永久观看最新版本 | 国产亚洲久一区二区 | 欧洲在线免费视频 | 久久九九影视 | 狠狠干美女 | 久久亚洲欧美日韩精品专区 | 亚洲香蕉视频 | 91九色精品女同系列 | 国产高清黄 | 免费高清无人区完整版 | japanesefreesexvideo高潮 | 国产资源网站 | 日本不卡视频 | 九9热这里真品2 | 久久在线观看视频 | 天天射日 | 免费网站黄色 | 中文字幕视频播放 | 色综合小说 | 国产精品五月天 | 91一区二区三区在线观看 | 草免费视频 | 欧美精品你懂的 | 久草在线在线 | 国产一线二线三线性视频 | 日韩激情片在线观看 | 人人澡人人澡人人 | 国产无遮挡又黄又爽馒头漫画 | 四虎影院在线观看av | 色先锋资源网 | 97超碰中文字幕 | 日韩一区正在播放 | 免费91麻豆精品国产自产在线观看 | 亚洲三级网站 | 午夜精品三区 | 日本在线视频网址 | 国产精品成人一区二区三区吃奶 | 国产精品精品国产色婷婷 | 国产精品视频内 | 人人爽人人看 | 国产色a在线观看 | 欧美激情精品久久久 | 99久高清在线观看视频99精品热在线观看视频 | 国产精品1区2区3区 久久免费视频7 | 国产视频69 | 久久久精品网 | 成人午夜免费剧场 | 国产精品久久人 | 91亚洲成人| 超碰在线最新 | 色综合网在线 | 一本色道久久综合亚洲二区三区 | 91视频xxxx| 天天干天天搞天天射 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 日韩激情中文字幕 | 天天色成人网 | 波多野结衣久久资源 | 三日本三级少妇三级99 | 日韩亚洲欧美中文字幕 | av888av.com| 日本婷婷色 | 成人国产电影在线观看 | a爱爱视频 | 亚洲无人区小视频 | 狠狠干综合 | 日韩一级片观看 | 日韩欧美国产精品 | 亚洲va在线va天堂 | 五月激情视频 | 大荫蒂欧美视频另类xxxx | 丝袜精品视频 | 国产在线看 | 久久五月婷婷丁香 | 日本激情视频中文字幕 | 992tv又爽又黄的免费视频 | 91c网站色版视频 | 国产精品国产亚洲精品看不卡 | 五月婷婷综合在线观看 | 超碰官网 | 免费视频你懂的 | 精品国产乱码一区二区三区在线 | 日韩一级片观看 | 四虎国产精品免费 | 国产精品剧情在线亚洲 | 国产日产精品一区二区三区四区 | 九九九热 | av在线免费观看不卡 | 日韩欧美一二三 | 91精品伦理 | 首页中文字幕 | 久久xx视频| 久久精品网站免费观看 | 国产美女视频免费观看的网站 | 日韩欧美一区二区不卡 | 国产原创av在线 | 亚洲国产大片 | 99精品热视频只有精品10 | 99在线免费观看视频 | 国产亚洲精品av | 久久精品一二三 | 久久超 | 色综合久久久久久中文网 | 久久香蕉电影网 | 黄色成年| 伊色综合久久之综合久久 | 97高清视频 | 久久精品视频在线观看免费 | 国产一级在线播放 | 亚洲日本韩国一区二区 | 成人av动漫在线观看 | 欧美一区免费观看 | 视频在线在亚洲 | 91视频免费 | 国产成人精品在线播放 | 亚洲欧美日本一区二区三区 | 91视频免费观看 | 日日干日日| 欧美性大战久久久久 | 久久亚洲美女 | 伊人春色电影网 | 四虎www com| 免费久久99精品国产婷婷六月 | 国产精品高潮呻吟久久久久 | 在线免费观看黄色小说 | 国产精品美女 | 97成人超碰 | 精品久久一区二区 | 国产五月天婷婷 | 国产一区二区高清 | 国产成人精品久久久 | 综合天天网 | 天天拍天天爽 | 欧美日韩精品久久久 | 日本mv大片欧洲mv大片 | 国产污视频在线观看 | 日韩欧美在线观看一区二区 | 亚洲国产操 | 日韩激情综合 | 国产三级在线播放 | 久草在线高清视频 | 午夜精品久久久久久中宇69 | www.狠狠操.com | 亚洲午夜久久久久 | 国产成人av片 | 国产精品久久久久久久久久久久久 | 国产婷婷色 | 久久av一区二区三区亚洲 | 久久首页 | 天堂av在线免费 | 精品免费国产一区二区三区四区 | 天天操天天操天天操天天操天天操 | 亚洲爱爱视频 | 日韩av影片在线观看 | 国产a视频免费观看 | 成年人国产视频 | 欧美国产不卡 | 国产四虎影院 | 日日日爽爽爽 | 国产成人精品av久久 | 欧美日韩高清一区二区三区 | 人人舔人人爱 | 蜜桃视频精品 | 国产一级在线观看视频 | 久久99精品热在线观看 | 中文av影院| 日韩精品不卡在线观看 | 一区二区三区国 | 亚洲综合在线一区二区三区 | 97超碰人人干 | 欧美另类调教 | 久久精品79国产精品 | www亚洲视频| 国产精品资源在线 | 国产在线精品二区 | 91在线免费观看网站 | 91精选| 亚洲精品视频www | 国产成人黄色 | 久久久www成人免费精品 | 四季av综合网站 | 人人澡人| 91久久在线观看 | 综合久久网站 | 四虎永久视频 | 国产精品视频在线观看 | a久久久久 | 久久国产精品视频免费看 | 成年人黄色免费网站 | 欧美一区二区三区激情视频 | 一区二区三区免费在线观看视频 | 免费看的黄网站软件 | 亚洲最大免费成人网 | 人人澡视频 | 欧美亚洲一区二区在线 | 五月天久久综合网 | 91av视频免费在线观看 | 成人免费看视频 | 国产精品每日更新 | 国产韩国精品一区二区三区 | 五月婷香蕉久色在线看 | 久久精品屋 | 国产1区在线 | 亚洲精品国产精品国自产 | 人人爽人人 | 国产亚洲小视频 | 国产91精品一区二区麻豆网站 | 久久超碰在线 | 欧美伦理电影一区二区 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 精品高清美女精品国产区 | 激情综合色综合久久 | 国产精品久久久久永久免费观看 | 国产成人一区二区三区久久精品 | 国产一区在线免费观看 | 黄色av三级在线 | 亚洲视频久久 | 九九九免费视频 | 97碰碰碰 | 99久免费精品视频在线观看 | 国内一区二区视频 | 国产不卡在线播放 | 久操视频在线播放 | 精品国产视频在线观看 | 四虎在线免费观看 | 亚洲涩涩一区 | 欧美日韩视频在线 | 色在线视频 | 久久久久色 | 午夜视频导航 | 日韩一级电影网站 | 伊人久久五月天 | 看国产黄色片 | 粉嫩av一区二区三区四区五区 | 久草精品视频在线播放 | 高清不卡免费视频 | 国产成在线观看免费视频 | 99精品国产一区二区三区麻豆 | 国产成人99av超碰超爽 | 九九影视理伦片 | 丁香六月天 | 免费在线播放黄色 | 色婷婷综合久久久中文字幕 | 久草在在线视频 | 91成人免费视频 | 97成人资源 | 成人av片免费看 | 9ⅰ精品久久久久久久久中文字幕 | 在线免费黄色毛片 | 久久久久成 | 97免费中文视频在线观看 | 蜜臀av性久久久久av蜜臀三区 | 91精品国产亚洲 | 日日婷婷夜日日天干 | 中文字幕av在线播放 | 激情视频免费在线观看 | 亚洲精品视频网站在线观看 | 97视频在线免费观看 | 国产精品久久久久久久久久尿 | 中文字幕资源在线观看 | 一区二区三区在线观看中文字幕 | a在线观看视频 | 丁香婷婷综合色啪 | 黄色av高清| 天天干 夜夜操 | 国产毛片久久久 | 免费国产一区二区视频 | 成人在线观看你懂的 | 九九99| 国产小视频在线免费观看 | 青春草视频在线播放 | 免费三级网 | 国产精品精品久久久久久 | 日韩成人免费电影 | 成人综合婷婷国产精品久久免费 | 性色av免费看 | 亚洲国产精品一区二区尤物区 | 亚洲精品色视频 | 偷拍精品一区二区三区 | 日韩视频一区二区 | 麻豆视频一区二区 | 日韩影视在线观看 | 久久超碰网 | 日韩一片| av中文字幕第一页 | 开心激情久久 | 日韩久久网站 | 久久综合五月天婷婷伊人 | 一区二区三区电影大全 | 99精品一级欧美片免费播放 | 免费视频一二三 | 日韩大片免费在线观看 | 亚洲成人影音 | 91中文在线 | 草久在线观看 | 色资源网免费观看视频 | 最近中文字幕高清字幕在线视频 | 免费在线国产精品 | 婷婷六月丁 | 中文字幕日韩电影 | 中文久久精品 | 中文字幕在线网址 | 国产在线精品一区 | 成x99人av在线www | 永久中文字幕 | 久久激情视频 久久 | 激情五月激情综合网 | 国产免费不卡 | 天天插日日射 | 日韩精品免费专区 | 成人免费视频网 | 在线观看网站av | 亚洲欧美精品一区二区 | 欧美日韩中文在线 | 在线欧美国产 | 成人黄色小说网 | 欧美一区影院 | av一区二区在线观看中文字幕 | 五月婷亚洲| 成人国产精品入口 | 狠狠操操操 | 亚洲一区二区高潮无套美女 | 国产精品99免视看9 国产精品毛片一区视频 | 婷婷射五月 | 黄色影院在线免费观看 | 久久久精品在线观看 | 色综合久久久久久中文网 | 国产成人综 | 国产在线精品国自产拍影院 | 日韩爱爱网站 | 婷婷伊人五月天 | .精品久久久麻豆国产精品 亚洲va欧美 | 亚洲精品一区二区三区四区高清 | 99r在线精品 | 免费毛片一区二区三区久久久 | 在线免费91 | 99国产情侣在线播放 | 久久久久成人精品免费播放动漫 | 免费在线观看一级片 | 91av在线免费视频 | 欧美va天堂在线电影 | 日韩大陆欧美高清视频区 | 国产精品第72页 | 午夜久久电影网 | 99视频在线精品免费观看2 | 麻豆国产网站 | 国产一线二线三线在线观看 | 日本高清中文字幕有码在线 | 久草视频在线新免费 | 日韩视频图片 | 国产亚洲成av片在线观看 | 日韩v在线| 这里只有精品视频在线观看 | 日韩欧美网址 | 成人网在线免费视频 | 日韩高清dvd | 国产精品久久久久久久久久久久午夜片 | 992tv人人网tv亚洲精品 | 婷婷福利影院 | 久久人人爽人人爽人人片av软件 | 狠狠色丁香久久婷婷综合_中 | 成人午夜精品福利免费 | 91黄色视屏 |