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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Thread类源码剖析

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

目錄

1.引子

2.JVM線程狀態

3.Thread常用方法

4.拓展點

?


?

一、引子

說來也有些汗顏,搞了幾年java,忽然發現竟然沒拜讀過java.lang.Thread類源碼,這次特地拿出來曬一曬。本文將剖析Thread類源碼(本文后面源碼全部默認JDK8),并講解一些重要的拓展點。希望對大家能有一些幫助。

本文講解主干全部出自源碼和注釋,保證了權威性。(注意:網上,某些書中很多觀點都是錯的,過時的,片面的,所以大家一定要看源碼,重要事情說N遍,看源碼!看源碼!看源碼......)

二、JVM線程狀態

在正式學習Thread類中的具體方法之前,我們先來了解一下線程有哪些狀態,這個將會有助于后面對Thread類中的方法的理解。

自JDK5開始,線程包括以下6個狀態,摘自Thread.State:

1 /**2 * A thread state. A thread can be in one of the following states:3 * <ul>4 * <li>{@link #NEW}<br>5 * A thread that has not yet started is in this state.6 * </li>7 * <li>{@link #RUNNABLE}<br>8 * A thread executing in the Java virtual machine is in this state.9 * </li> 10 * <li>{@link #BLOCKED}<br> 11 * A thread that is blocked waiting for a monitor lock 12 * is in this state. 13 * </li> 14 * <li>{@link #WAITING}<br> 15 * A thread that is waiting indefinitely for another thread to 16 * perform a particular action is in this state. 17 * </li> 18 * <li>{@link #TIMED_WAITING}<br> 19 * A thread that is waiting for another thread to perform an action 20 * for up to a specified waiting time is in this state. 21 * </li> 22 * <li>{@link #TERMINATED}<br> 23 * A thread that has exited is in this state. 24 * </li> 25 * </ul> 26 * 27 * <p> 28 * A thread can be in only one state at a given point in time.----》JVM中的線程必須只能是以上6種狀態的一種。這些狀態是JVM狀態并不能和操作系統線程狀態互相映射。 29 * These states are virtual machine states which do not reflect 30 * any operating system thread states. 31 * 32 * @since 1.5 33 * @see #getState 34 */ 35 public enum State { 36 /** 37 * Thread state for a thread which has not yet started. 38 */ 39 NEW,--->線程剛創建,還未執行(start方法) 40 41 /** 42 * Thread state for a runnable thread. A thread in the runnable 43 * state is executing in the Java virtual machine but it may 44 * be waiting for other resources from the operating system 45 * such as processor. 46 */ 47 RUNNABLE,--->已就緒可運行的狀態。處于此狀態的線程是正在JVM中運行的,但可能在等待操作系統級別的資源,例如CPU時間片 48 49 /** 50 * Thread state for a thread blocked waiting for a monitor lock. 51 * A thread in the blocked state is waiting for a monitor lock 52 * to enter a synchronized block/method or 53 * reenter a synchronized block/method after calling 54 * {@link Object#wait() Object.wait}. 55 */ 56 BLOCKED,--->阻塞等待監視器鎖。處于此狀態的線程正在阻塞等待監視器鎖,以進入一個同步塊/方法,或者在執行完wait()方法后重入同步塊/方法。 57 58 /** 59 * Thread state for a waiting thread. 60 * A thread is in the waiting state due to calling one of the 61 * following methods: 62 * <ul> 63 * <li>{@link Object#wait() Object.wait} with no timeout</li> 64 * <li>{@link #join() Thread.join} with no timeout</li> 65 * <li>{@link LockSupport#park() LockSupport.park}</li> 66 * </ul> 67 * 68 * <p>A thread in the waiting state is waiting for another thread to 69 * perform a particular action. 70 * 71 * For example, a thread that has called <tt>Object.wait()</tt> 72 * on an object is waiting for another thread to call 73 * <tt>Object.notify()</tt> or <tt>Object.notifyAll()</tt> on 74 * that object. A thread that has called <tt>Thread.join()</tt> 75 * is waiting for a specified thread to terminate. 76 */ 77 WAITING,--->等待。執行完Object.wait無超時參數操作,或者 Thread.join無超時參數操作(進入等待指定的線程執行結束),或者 LockSupport.park操作后,線程進入等待狀態。一般在等待狀態的線程在等待其它線程執行特殊操作,例如:等待另其它線程操作Object.notify()喚醒或者Object.notifyAll()喚醒所有。 78 79 /** 80 * Thread state for a waiting thread with a specified waiting time. 81 * A thread is in the timed waiting state due to calling one of 82 * the following methods with a specified positive waiting time: 83 * <ul> 84 * <li>{@link #sleep Thread.sleep}</li> 85 * <li>{@link Object#wait(long) Object.wait} with timeout</li> 86 * <li>{@link #join(long) Thread.join} with timeout</li> 87 * <li>{@link LockSupport#parkNanos LockSupport.parkNanos}</li> 88 * <li>{@link LockSupport#parkUntil LockSupport.parkUntil}</li> 89 * </ul> 90 */ 91 TIMED_WAITING,--->限時等待。Thread.sleep、Object.wait帶超時時間、Thread.join帶超時時間、LockSupport.parkNanos、LockSupport.parkUntil這些操作會時線程進入限時等待。 92 93 /** 94 * Thread state for a terminated thread. 95 * The thread has completed execution. 96 */ 97 TERMINATED;--->終止,線程執行完畢。 98 }

看了源碼6種狀態,很多人會迷惑怎么沒有Running狀態呢?好吧,請相信源碼,不要混淆操作系統線程狀態和java線程狀態。JVM中的線程必須只能是以上6種狀態的一種!(見上圖枚舉State 注釋中的紅色部分)。

Running其實是早期操作系統下“單線程進程”的狀態,如下圖:

?注意:上圖已年久失修,不可參考!!!!

好吧,現在是不是覺得三觀被顛覆...

最新JAVA(JVM)線程狀態轉換如下圖

?

如上圖,可見:RUNNABLE = 正在JVM中運行的(Running)+ 可能在等待操作系統級別的資源(Ready),例如CPU時間片

  線程創建之后,不會立即進入就緒狀態,因為線程的運行需要一些條件(比如內存資源),只有線程運行需要的所有條件滿足了,才進入就緒狀態。

  當線程進入就緒狀態后,不代表立刻就能獲取CPU執行時間,也許此時CPU正在執行其他的事情,因此它要等待。當得到CPU執行時間之后,線程便真正進入運行狀態。

  線程在運行狀態過程中,可能有多個原因導致當前線程不繼續運行下去,比如用戶主動讓線程睡眠(睡眠一定的時間之后再重新執行)、用戶主動讓線程等待,或者被同步塊給阻塞,此時就對應著多個狀態:time waiting(睡眠或等待一定的事件)、waiting(等待被喚醒)、blocked(阻塞)。

  當由于突然中斷或者子任務執行完畢,線程就會被消亡。

三.Thread類中的方法

老規矩,先看源碼注釋:

+ View Code

?

  Thread類實現了Runnable接口,在Thread類中,

  關鍵屬性

  name是表示Thread的名字,可以通過Thread類的構造器中的參數來指定線程名字,

  priority表示線程的優先級(最大值為10,最小值為1,默認值為5),

  daemon表示線程是否是守護線程,如果在main線程中創建了一個守護線程,當main方法運行完畢之后,守護線程也會隨著消亡。在JVM中,垃圾收集器線程就是守護線程。

  target表示要執行的任務。

  group線程群組

  關鍵方法

  以下是關系到線程運行狀態的幾個方法:

  1)start

  start()用來啟動一個線程,當調用start方法后,系統才會開啟一個新的線程來執行用戶定義的子任務,在這個過程中,會為相應的線程分配需要的資源。

  2)run

  run()方法是不需要用戶來調用的,當通過start方法啟動一個線程之后,當線程獲得了CPU執行時間,便進入run方法體去執行具體的任務。注意,繼承Thread類必須重寫run方法,在run方法中定義具體要執行的任務。

  3)sleep

  sleep方法有兩個重載版本:

1 public static native void sleep(long millis) throws InterruptedException; 2 3 public static void sleep(long millis, int nanos) throws InterruptedException;

  sleep讓線程睡眠,交出CPU,讓CPU去執行其他的任務。sleep方法不會釋放鎖,也就是說如果當前線程持有對某個對象的鎖,則即使調用sleep方法,其他線程也無法訪問這個對象。sleep方法相當于讓線程進入阻塞狀態。

  4)yield

  調用yield方法會讓當前線程交出CPU權限,讓CPU去執行其他的線程。它跟sleep方法類似,同樣不會釋放鎖。但是yield不能控制具體的交出CPU的時間,另外,yield方法只能讓擁有相同優先級的線程有獲取CPU執行時間的機會。

  注意,調用yield方法并不會讓線程進入阻塞狀態,而是讓線程重回就緒狀態,它只需要等待重新獲取CPU執行時間,這一點是和sleep方法不一樣的。

  5)join

  join方法有三個重載版本:

1 join() 2 join(long millis) //參數為毫秒 3 join(long millis,int nanoseconds) //第一參數為毫秒,第二個參數為納秒

  可以看出,當調用thread.join()方法后,main線程會進入等待,然后等待thread執行完之后再繼續執行。

  實際上調用join方法是調用了Object的wait方法,這個可以通過查看源碼得知:

  

  wait方法會讓線程進入阻塞狀態,并且會釋放線程占有的鎖,并交出CPU執行權限。

  6)interrupt

  interrupt,中斷。單獨調用interrupt方法可以使得處于阻塞狀態的線程拋出一個異常,也就說,它可以用來中斷一個正處于阻塞狀態的線程;

  7)stop

  stop方法已經是一個廢棄的方法,它是一個不安全的方法。因為調用stop方法會直接終止run方法的調用,并且會拋出一個ThreadDeath錯誤,如果線程持有某個對象鎖的話,會完全釋放鎖,導致對象狀態不一致。所以stop方法基本是不會被用到的。

  8)destroy

  destroy方法也是廢棄的方法。基本不會被使用到。

四、拓展點

1.LookSupport.park()和unpark()原理

LockSupport類是Java6(JSR166-JUC)引入的一個類,提供了基本的線程同步原語。LockSupport實際上是調用了Unsafe類里的函數,歸結到Unsafe里,只有兩個函數:

掛起
public native void park(boolean isAbsolute, long time);

喚醒

public native void unpark(Thread jthread);?

unpark函數為線程提供“許可(permit)”,park函數則等待“許可”。這個有點像信號量,但是這個“許可”是不能疊加的,“許可”是一次性的。

比如線程B連續調用了三次unpark函數,當線程A調用park函數就使用掉這個“許可”,如果線程A再次調用park,則進入等待狀態。

注意,unpark函數可以先于park調用。比如線程B調用unpark函數,給線程A發了一個“許可”,那么當線程A調用park時,它發現已經有“許可”了,那么它會馬上再繼續運行。

實際上,park函數即使沒有“許可”,有時也會無理由地返回,這點等下再解析。

park/unpark模型真正解耦了線程之間的同步,線程之間不再需要一個Object或者其它變量來存儲狀態,不再需要關心對方的狀態。

我們從JDK源碼開始看,java.util.concurrent.locks.LookSupport.park()如下:

1 /**2 * Disables the current thread for thread scheduling purposes unless the3 * permit is available.--->停止當前線程的調度執行一直到許可可達。4 *5 * <p>If the permit is available then it is consumed and the call6 * returns immediately; otherwise the current thread becomes disabled7 * for thread scheduling purposes and lies dormant until one of three8 * things happens:9 *--->當許可條件滿足時,當前線程會立即返回。否則會一直停止線程調度并且假死一直到下面3件事情發生: 10 * <ul> 11 * 12 * <li>Some other thread invokes {@link #unpark unpark} with the 13 * current thread as the target; or 14 *--->1.其它線程調用unpark方法喚醒此線程 15 * <li>Some other thread {@linkplain Thread#interrupt interrupts} 16 * the current thread; or 17 *--->2.其它線程中斷此線程 18 * <li>The call spuriously (that is, for no reason) returns. 19 * </ul> 20 **--->3.此線程未知錯誤返回了 21 * <p>This method does <em>not</em> report which of these caused the 22 * method to return. Callers should re-check the conditions which caused 23 * the thread to park in the first place. Callers may also determine, 24 * for example, the interrupt status of the thread upon return.*----》該方法不會告知是哪個原因導致的返回。調用方需要重新校驗導致線程park的條件。比如中斷狀態。 25 */ 26 public static void park() { 27 UNSAFE.park(false, 0L);//線程調用該方法,線程將一直阻塞直到超時(這里沒有超時時間為0),或者是中斷條件出現。 28 }

?

這里我們就簡單看一下park()源碼,目錄:
openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\share\vm\runtime\park.cpp
openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\share\vm\runtime\park.hpp
openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\os\linux\vm\os_linux.cpp
openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\os\linux\vm\os_linux.hpp

park.hpp:

1 class Parker : public os::PlatformParker {2 private:3 volatile int _counter ;4 Parker * FreeNext ;5 JavaThread * AssociatedWith ; // Current association6 7 public:8 Parker() : PlatformParker() {9 _counter = 0 ; 10 FreeNext = NULL ; 11 AssociatedWith = NULL ; 12 } 13 protected: 14 ~Parker() { ShouldNotReachHere(); } 15 public: 16 // For simplicity of interface with Java, all forms of park (indefinite, 17 // relative, and absolute) are multiplexed into one call. 18 void park(bool isAbsolute, jlong time); 19 void unpark(); 20 21 // Lifecycle operators 22 static Parker * Allocate (JavaThread * t) ; 23 static void Release (Parker * e) ; 24 private: 25 static Parker * volatile FreeList ; 26 static volatile int ListLock ; 27 28 };

os_linux.hpp中,PlatformParker:

1 class PlatformParker : public CHeapObj<mtInternal> {2 protected:3 enum {4 REL_INDEX = 0,5 ABS_INDEX = 16 };7 int _cur_index; // which cond is in use: -1, 0, 18 pthread_mutex_t _mutex [1] ;9 pthread_cond_t _cond [2] ; // one for relative times and one for abs. 10 11 public: // TODO-FIXME: make dtor private 12 ~PlatformParker() { guarantee (0, "invariant") ; } 13 14 public: 15 PlatformParker() { 16 int status; 17 status = pthread_cond_init (&_cond[REL_INDEX], os::Linux::condAttr()); 18 assert_status(status == 0, status, "cond_init rel"); 19 status = pthread_cond_init (&_cond[ABS_INDEX], NULL); 20 assert_status(status == 0, status, "cond_init abs"); 21 status = pthread_mutex_init (_mutex, NULL); 22 assert_status(status == 0, status, "mutex_init"); 23 _cur_index = -1; // mark as unused 初始化時-1未使用 24 } 25 };

可以看到Parker類實際上用Posix的mutex,condition來實現的。
在Parker類里的_counter字段,就是用來記錄所謂的“許可”的。

park()源碼實現,為了保證源碼的完整性,就直接在源碼上注釋原理了。

1 void Parker::park(bool isAbsolute, jlong time) {2 // Ideally we'd do something useful while spinning, such3 // as calling unpackTime().4 5 // Optional fast-path check:6 // Return immediately if a permit is available.7 // We depend on Atomic::xchg() having full barrier semantics8 // since we are doing a lock-free update to _counter.9 if (Atomic::xchg(0, &_counter) > 0) return;//先嘗試能否直接拿到“許可”,即_counter>0時,如果成功,則把_counter設置為0,并返回:10 11 Thread* thread = Thread::current();12 assert(thread->is_Java_thread(), "Must be JavaThread");13 JavaThread *jt = (JavaThread *)thread;14 15 // Optional optimization -- avoid state transitions if there's an interrupt pending.16 // Check interrupt before trying to wait17 if (Thread::is_interrupted(thread, false)) {18 return;19 }20 21 // Next, demultiplex/decode time arguments22 timespec absTime;23 if (time < 0 || (isAbsolute && time == 0) ) { // don't wait at all24 return;25 }26 if (time > 0) {27 unpackTime(&absTime, isAbsolute, time);28 }29 30 31 // Enter safepoint region32 // Beware of deadlocks such as 6317397.33 // The per-thread Parker:: mutex is a classic leaf-lock.34 // In particular a thread must never block on the Threads_lock while35 // holding the Parker:: mutex. If safepoints are pending both the36 // the ThreadBlockInVM() CTOR and DTOR may grab Threads_lock.37 ThreadBlockInVM tbivm(jt);//如果不成功,則構造一個ThreadBlockInVM,38 39 // Don't wait if cannot get lock since interference arises from40 // unblocking. Also. check interrupt before trying wait41 if (Thread::is_interrupted(thread, false) || pthread_mutex_trylock(_mutex) != 0) {42 return;43 }44 45 int status ;46 if (_counter > 0) { // no wait needed然后檢查_counter是不是>0,如果是,則把_counter設置為0,unlock mutex并返回:47 _counter = 0;48 status = pthread_mutex_unlock(_mutex);49 assert (status == 0, "invariant") ;50 // Paranoia to ensure our locked and lock-free paths interact51 // correctly with each other and Java-level accesses.52 OrderAccess::fence();53 return;54 }55 56 #ifdef ASSERT57 // Don't catch signals while blocked; let the running threads have the signals.58 // (This allows a debugger to break into the running thread.)59 sigset_t oldsigs;60 sigset_t* allowdebug_blocked = os::Linux::allowdebug_blocked_signals();61 pthread_sigmask(SIG_BLOCK, allowdebug_blocked, &oldsigs);62 #endif63 64 OSThreadWaitState osts(thread->osthread(), false /* not Object.wait() */);65 jt->set_suspend_equivalent();66 // cleared by handle_special_suspend_equivalent_condition() or java_suspend_self()67 68 assert(_cur_index == -1, "invariant");69 if (time == 0) {70 _cur_index = REL_INDEX; // arbitrary choice when not timed71 status = pthread_cond_wait (&_cond[_cur_index], _mutex) ;72 } else {73 _cur_index = isAbsolute ? ABS_INDEX : REL_INDEX;74 status = os::Linux::safe_cond_timedwait (&_cond[_cur_index], _mutex, &absTime) ;75 if (status != 0 && WorkAroundNPTLTimedWaitHang) {76 pthread_cond_destroy (&_cond[_cur_index]) ;77 pthread_cond_init (&_cond[_cur_index], isAbsolute ? NULL : os::Linux::condAttr());78 }79 }80 _cur_index = -1;81 assert_status(status == 0 || status == EINTR ||82 status == ETIME || status == ETIMEDOUT,83 status, "cond_timedwait");84 85 #ifdef ASSERT86 pthread_sigmask(SIG_SETMASK, &oldsigs, NULL);87 #endif88 89 _counter = 0 ;90 status = pthread_mutex_unlock(_mutex) ;91 assert_status(status == 0, status, "invariant") ;92 // Paranoia to ensure our locked and lock-free paths interact93 // correctly with each other and Java-level accesses.94 OrderAccess::fence();95 96 // If externally suspended while waiting, re-suspend97 if (jt->handle_special_suspend_equivalent_condition()) {98 jt->java_suspend_self();99 } 100 }

unpark()源碼實現

1 void Parker::unpark() {2 int s, status ;3 status = pthread_mutex_lock(_mutex);//互斥鎖加鎖4 assert (status == 0, "invariant") ;5 s = _counter;//保存初始counter6 _counter = 1;//置17 if (s < 1) {//如果原本為08 // thread might be parked線程可能被掛起9 if (_cur_index != -1) { 10 // thread is definitely parked 11 if (WorkAroundNPTLTimedWaitHang) { 12 status = pthread_cond_signal (&_cond[_cur_index]);//喚醒在park中等待的線程 13 assert (status == 0, "invariant"); 14 status = pthread_mutex_unlock(_mutex);//釋放鎖 15 assert (status == 0, "invariant"); 16 } else { 17 status = pthread_mutex_unlock(_mutex);//釋放鎖 18 assert (status == 0, "invariant"); 19 status = pthread_cond_signal (&_cond[_cur_index]);//喚醒在park中等待的線程 20 assert (status == 0, "invariant"); 21 } 22 } else { 23 pthread_mutex_unlock(_mutex);//釋放鎖 24 assert (status == 0, "invariant") ; 25 } 26 } else {//如果原本為1,釋放鎖 27 pthread_mutex_unlock(_mutex); 28 assert (status == 0, "invariant") ; 29 } 30 }

2.Caches緩存類

Caches-->WeakClassKey-->WeakReference

1 /** cache of subclass security audit results */2 /* Replace with ConcurrentReferenceHashMap when/if it appears in a future3 * release */4 private static class Caches {5 /** cache of subclass security audit results */6 static final ConcurrentMap<WeakClassKey,Boolean> subclassAudits =7 new ConcurrentHashMap<>();8 9 /** queue for WeakReferences to audited subclasses */ 10 static final ReferenceQueue<Class<?>> subclassAuditsQueue = 11 new ReferenceQueue<>(); 12 }

 Caches類中包含了兩個成員subclassAudits和subclasseAuditsQueue:
  subclassAudits——該成員屬性提供了一個哈希表緩存,該緩存的鍵類型為java.lang.Thread.WeakClassKey,注意看它的值類型是一個java.lang.Boolean類型的,從其代碼注釋可以知道這個哈希表緩存中保存的是所有子類的代碼執行安全性檢測結果;
  subclassAuditsQueue——該成員屬性定義了一個“Queue隊列”,保存了已經審核過的子類弱引用

static class WeakClassKey extends WeakReference<Class<?>>關于弱引用WeakReference,飛機票:Java中關于WeakReference和WeakHashMap的理解

?

?


參考

《JAVA高并發程序設計》電子工業出版社

Java并發編程:Thread類的使用

總結

以上是生活随笔為你收集整理的Thread类源码剖析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

色综合中文字幕 | 日韩首页 | 黄色网址国产 | 久久久久久久久爱 | 国产精品一区二区在线看 | 日韩成人黄色 | 人人玩人人添人人澡超碰 | 中日韩欧美精彩视频 | 亚洲视频2 | 伊人干综合 | 欧美成年黄网站色视频 | 日韩中文在线视频 | 99久热在线精品视频观看 | 婷婷伊人五月天 | 人人看人人做人人澡 | 96av在线| 国产不卡一区二区视频 | 亚洲视频在线观看 | 91九色在线视频观看 | 亚洲九九爱 | 国产精品不卡一区 | 91视频91蝌蚪 | 午夜黄色一级片 | www.伊人网.com| 久久精品高清视频 | 亚洲网久久 | 91亚洲精品视频 | 人人干干人人 | 国产成人精品一区二区三区 | 精品国产美女 | 91香蕉久久 | 激情喷水| 天天看天天干 | 日韩影视在线 | 久久在视频| 最新免费中文字幕 | 精品久久久免费 | 在线观看成人毛片 | 涩涩成人在线 | 婷婷激情综合五月天 | 99久久精品日本一区二区免费 | 日韩色综合网 | 中文字幕在线视频国产 | 毛片3 | 国产伦精品一区二区三区免费 | 狠狠狠的干| 欧美精品久久久久久久 | 韩日精品中文字幕 | 国产精品99久久久 | 国产最新在线 | 一区av在线播放 | 97超级碰| 亚洲91中文字幕无线码三区 | 色欧美综合 | 天天干天天操天天 | 九九热免费精品视频 | 国产精品黄色在线观看 | 久久久国产一区 | 99久e精品热线免费 99国产精品久久久久久久久久 | 99精品视频免费全部在线 | 叶爱av在线| 99亚洲精品视频 | 亚洲在线网址 | 国产精品18久久久久久久网站 | 91av在线播放视频 | 久草免费资源 | av解说在线| 久草电影在线观看 | 99热国产在线中文 | 亚洲人成人在线 | 久久久久观看 | 久艹视频在线免费观看 | 久久精品亚洲国产 | 国产精品99久久久久的智能播放 | 444av| 午夜精品一区二区三区视频免费看 | 久久久久国产成人免费精品免费 | 91精品网站在线观看 | 中文字幕资源在线 | 亚洲精欧美一区二区精品 | 一区二区视频在线播放 | 不卡视频在线看 | 99久久久久国产精品免费 | 97在线观看免费高清 | 久草在线在线 | 国产高清中文字幕 | 一本一本久久a久久精品综合小说 | 永久免费观看视频 | 亚洲涩涩色 | 99久久精品免费看国产一区二区三区 | 黄色免费高清视频 | 992tv人人草| 日日添夜夜添 | 色国产精品| 蜜桃视频成人在线观看 | 国偷自产中文字幕亚洲手机在线 | 国产a级片免费观看 | 国产做a爱一级久久 | 免费碰碰 | 欧美日韩国产区 | 日韩精品一区二区在线观看 | 欧美在线你懂的 | 欧美久久久久久久久中文字幕 | 在线黄色国产电影 | 久久网站免费 | 久久精品久久精品久久精品 | 欧美日韩性 | 91av视频| 男女激情网址 | 久久午夜免费视频 | 亚洲网站在线看 | 免费a视频 | 久久伦理影院 | 国产精品一区免费在线观看 | 中文字幕在线观看一区二区 | 国产精品久久久久9999吃药 | 亚洲精品国产成人av在线 | 国产精品自在线拍国产 | 久热这里有精品 | 亚洲一区日韩在线 | 在线成人小视频 | 狠狠色丁香 | 视频在线播放国产 | 天天躁日日 | 中文字幕乱在线伦视频中文字幕乱码在线 | 91麻豆精品国产91 | 久久五月情影视 | 人人看人人爱 | 日韩高清在线一区二区三区 | 成人久久18免费网站 | 日韩av高清 | 成人日批视频 | 特级毛片网| 日韩视频中文 | 婷婷六月色 | 欧美 日韩 成人 | 日韩三区在线观看 | 亚洲日韩欧美一区二区在线 | 日韩a在线看 | 久久影视精品 | 精品视频免费在线 | 99久在线精品99re8热视频 | 天堂av色婷婷一区二区三区 | 亚洲色图美腿丝袜 | 99精品免费观看 | 天天操天天操天天爽 | 女人18精品一区二区三区 | 免费看毛片在线 | 激情av网址 | 在线国产日本 | 欧美先锋影音 | 久久艹国产 | 国产又黄又硬又爽 | 精品国产乱码久久久久久浪潮 | 一区二区三区国产精品 | 日韩大片在线免费观看 | 日日操日日干 | 国产一卡二卡四卡国 | 在线激情av电影 | 国产精品美乳一区二区免费 | 久99久精品视频免费观看 | a黄色片在线观看 | 在线播放 一区 | 亚洲一区久久 | 一级片视频在线 | 懂色av一区二区在线播放 | 久草手机视频 | 日韩手机在线观看 | 色久五月 | 久久久99精品免费观看app | 欧美日韩一区二区三区在线免费观看 | 久久久久国产一区二区 | 国产精品毛片久久蜜 | 97看片吧| 久久午夜网| 亚洲精品黄网站 | 久久伊人热 | www色com| 91黄色成人 | 国内精品一区二区 | 久久久免费高清视频 | 天天干亚洲 | 天堂av在线 | 五月开心婷婷 | 久久久久久久久久久高潮一区二区 | 欧美日韩精品在线播放 | 蜜臀av在线一区二区三区 | 亚洲特级毛片 | 久久线视频 | 粉嫩aⅴ一区二区三区 | 中文字幕在线免费播放 | 中文字幕免费不卡视频 | 久久精品久久精品久久精品 | 久久国产精品99精国产 | 亚洲精品中文字幕在线观看 | 激情网站免费观看 | 天天插天天狠 | 久热精品国产 | 久久久久久久久久影院 | 日韩一区二区三免费高清在线观看 | 97av在线视频 | 日本中文字幕在线播放 | 国产一二三精品 | 国产99免费视频 | 日本中文字幕一二区观 | 97国产精品 | 亚洲国产资源 | 在线免费黄色av | 中文字幕在线视频一区二区 | 深爱激情综合 | 国产高清黄色 | 日韩av一区二区三区 | 亚洲日韩欧美一区二区在线 | 日韩r级在线| 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 国产成年免费视频 | 国产首页 | 蜜桃av人人夜夜澡人人爽 | 欧美精品久久99 | 日韩免费一级a毛片在线播放一级 | 99热国产精品 | 国产精品99久久免费观看 | 欧美激情第八页 | 在线观看黄色免费视频 | 欧美午夜剧场 | 国产欧美在线一区二区三区 | 五月婷婷激情六月 | 91成人在线视频观看 | 成年人网站免费观看 | 久久精品成人欧美大片古装 | 久久综合色8888 | 国产精品一区二区三区免费视频 | 国产精品女| 97精品一区二区三区 | 玖玖玖精品 | 天天综合网久久综合网 | 国产一级片免费播放 | 国产亚州av | 精品99在线观看 | 五月婷婷色 | 91色国产在线 | 99这里都是精品 | 中文字幕av一区二区三区四区 | 国产在线观看xxx | 国产99视频在线观看 | 看v片 | 久久99免费视频 | av三级在线看 | 激情综合五月天 | 国产一及片 | 久草在线国产 | www.激情五月.com | 九热在线 | 色综合人人 | 色99中文字幕 | 免费中午字幕无吗 | 国产一级片久久 | 午夜精品久久久久久中宇69 | www狠狠 | 精品国产伦一区二区三区观看方式 | 免费在线精品视频 | 狠狠久久综合 | 六月丁香激情综合色啪小说 | 玖玖色在线观看 | 综合天堂av久久久久久久 | 日韩精品久久一区二区三区 | 91日韩免费| 午夜久久久久久久久久久 | 欧美日韩一区二区免费在线观看 | 最新的av网站 | 粉嫩av一区二区三区四区五区 | 亚洲高清视频在线观看免费 | 亚洲最快最全在线视频 | 蜜臀一区二区三区精品免费视频 | 五月开心激情网 | 99久久精品电影 | 午夜视频在线观看一区二区三区 | 国产精品久久二区 | 国内精品久久久久久久97牛牛 | 在线观看成人一级片 | 国产色视频| 黄色片免费在线 | 午夜成人影视 | 日韩视频www| 精品亚洲成a人在线观看 | 国产手机视频在线播放 | 91精品视频在线看 | 黄色av电影免费观看 | 天天爽夜夜爽精品视频婷婷 | 激情久久伊人 | 国产精品原创视频 | 国产精品国产三级在线专区 | 精品久久综合 | 国产精品中文久久久久久久 | 91在线播放国产 | 99热精品免费观看 | 337p日本欧洲亚洲大胆裸体艺术 | 91色在线观看 | av噜噜噜在线播放 | 国产精品6 | 日韩精品视频免费专区在线播放 | 精品国产99国产精品 | 美女很黄免费网站 | 国外调教视频网站 | 日日夜夜天天久久 | 亚洲人成人天堂h久久 | 国产一级在线播放 | 婷婷国产在线 | 国产一区福利在线 | 久草久| 在线观看网站黄 | 亚洲黄色片在线 | 国产精品九九视频 | 黄色亚洲免费 | 日韩一级片网址 | 成人亚洲免费 | 亚洲视频一级 | 黄色天堂在线观看 | 草久视频在线 | av网站在线免费观看 | 色香蕉在线视频 | 久久精品首页 | 一区二区三区播放 | 欧洲精品码一区二区三区免费看 | 99精品视频在线看 | 日韩中文字幕在线观看 | 黄视频色网站 | 日韩精品视频第一页 | a黄在线观看 | 69视频在线 | 日p视频在线观看 | 日本在线精品视频 | 91精品视频免费看 | 超级碰碰碰免费视频 | 日日操夜 | 麻豆视传媒官网免费观看 | 国产精品精品久久久 | 久久久麻豆精品一区二区 | 97精品国产一二三产区 | 97精品国产91久久久久久久 | 日韩综合视频在线观看 | 九九在线播放 | 久久理论影院 | 国产一区二区视频在线播放 | 一区二区久久 | 日韩视频免费看 | 色婷婷综合久久久久中文字幕1 | 久久久久久美女 | 国产精品免费久久久 | 日韩精品中文字幕av | 美女网站视频一区 | 99久久精品国产一区二区三区 | 最近中文字幕大全中文字幕免费 | 亚洲精品国产精品久久99热 | 久久视频免费在线 | 日韩免费在线一区 | 天堂av一区二区 | 啪啪免费观看网站 | 玖玖国产精品视频 | 国产精品igao视频网网址 | 日韩av网站在线播放 | 日韩av在线一区二区 | 丁香六月伊人 | 欧美日高清视频 | 精品亚洲免费 | 在线免费观看黄色大片 | 人人超在线公开视频 | 91福利视频一区 | 狠狠的日 | 91亚洲精品在线观看 | 日韩av在线不卡 | 久久一区91| 狠狠婷婷| 狠狠的日 | 亚洲精品乱码久久久一二三 | 91自拍视频在线 | 久久久精品免费看 | 日韩高清在线一区 | 西西4444www大胆无视频 | 久久69精品| 99re亚洲国产精品 | 欧美射射射 | 日本三级久久久 | 国产精品中文字幕av | 六月激情丁香 | 亚洲国产一二三 | 激情网在线视频 | 国产精品9999久久久久仙踪林 | 天天激情天天干 | 五月婷婷六月丁香在线观看 | 国产91成人| 久久精品一级片 | 久久国色夜色精品国产 | 伊人激情网 | 欧美日本一区 | 亚洲一区天堂 | 欧美成人黄 | 久久精品国产免费看久久精品 | 日本黄区免费视频观看 | 波多野结衣在线观看一区 | 中文字幕精品一区二区精品 | 又黄又爽又色无遮挡免费 | 国产999视频| 国内久久久久 | 天天色天天艹 | 久久久久久久99精品免费观看 | 天天干天天天 | 草久电影 | 9999精品视频 | 黄av免费在线观看 | 99操视频 | 特黄特色特刺激视频免费播放 | 激情五月开心 | 探花视频网站 | 国产又粗又硬又爽视频 | 日本丰满少妇免费一区 | 精品视频专区 | 亚洲黄色在线 | 欧美日韩国产一区二区在线观看 | 免费av网站观看 | 欧美日韩国产精品一区二区 | 91成熟丰满女人少妇 | 人人看黄色 | 国产色综合天天综合网 | 中文字幕视频播放 | 天天操天天舔天天干 | 色综合色综合久久综合频道88 | 91久久久久久久一区二区 | 久久久国产精品久久久 | 综合网av | 亚洲最大的av网站 | 精品国产日本 | 国产午夜视频在线观看 | 国产999久久久 | 九九激情视频 | www.伊人网.com| 国产精品999久久久 久产久精国产品 | 91视频 - x99av | 中文在线a天堂 | 亚洲片在线观看 | 久久av网 | 99精品视频一区二区 | 曰本免费av | 日本69hd | 婷婷网站天天婷婷网站 | 丁香一区二区 | 亚洲黄色影院 | 美女精品网站 | 亚洲欧洲美洲av | 免费色网 | 国内免费久久久久久久久久久 | 国产四虎影院 | 美女黄频在线观看 | 在线看不卡av | 在线免费观看黄色小说 | 午夜久久精品 | 天天鲁一鲁摸一摸爽一爽 | 久久免费中文视频 | 亚洲午夜精品在线观看 | 免费av高清 | 国产免费高清 | 免费日韩 精品中文字幕视频在线 | 成人小视频在线播放 | 欧美日韩中文字幕综合视频 | 中文字幕在线视频一区二区 | 欧美精品在线观看一区 | 狠狠狠狠干 | 成人av资源网| 99视频精品免费观看, | 亚洲天天在线日亚洲洲精 | 天天视频色版 | 高清视频一区二区三区 | 欧美国产日韩在线视频 | 免费精品在线观看 | 国产91成人在在线播放 | 国产精品不卡 | 精品久久中文 | 国产在线高清 | 日韩手机在线观看 | 久久久电影 | 在线观看福利网站 | 五月天综合网 | 免费av在线网站 | 欧美 另类 交 | 中文字幕在线日 | 久久夜色精品国产欧美一区麻豆 | 日本黄网站| 九九激情视频 | 福利久久 | 中文字幕激情 | av超碰在线 | 国内精品久久久久久久影视简单 | 精品亚洲一区二区三区 | 日韩在线在线 | 国产视频一区在线免费观看 | 日韩sese | av电影在线免费 | 色综合天天综合 | 国产视频中文字幕 | 九九免费观看全部免费视频 | 99久久久国产精品美女 | 日韩动漫免费观看高清完整版在线观看 | 亚洲日韩欧美视频 | 伊人婷婷久久 | 97成人精品视频在线观看 | 操操操操网 | 欧美不卡视频在线 | 91精品久久久久久久久 | 国内精品久久久久久久久 | 99国产精品视频免费观看一公开 | 91高清免费| 国内精品美女在线观看 | 久草精品视频在线观看 | 夜夜视频欧洲 | 成人超碰97 | 九九激情视频 | 久久综合影音 | 日韩mv欧美mv国产精品 | 国产精品免费在线 | 99热在线这里只有精品 | 日韩天堂网 | 一级黄色片毛片 | 在线观看成人一级片 | 国产精品久久久久久久久久ktv | 一区二区精 | 蜜臀aⅴ国产精品久久久国产 | 中文字幕一区二区三区四区久久 | 一级黄网| 免费看av片网站 | 国产一二三在线视频 | 最新日韩在线 | 亚洲一级二级三级 | 欧美不卡在线 | 91看片淫黄大片在线播放 | 综合网伊人 | 日韩福利在线观看 | 久99视频| 欧美一区二区三区在线看 | 国产一区二区三区高清播放 | 国产精品综合在线 | 亚洲免费成人av电影 | 美女久久视频 | 看国产黄色片 | 国产一级高清视频 | 天天色.com| 在线综合 亚洲 欧美在线视频 | 亚洲粉嫩av| 九九热在线免费观看 | 日韩黄色免费在线观看 | 偷拍福利视频一区二区三区 | 久久精品国产精品 | 日韩精品免费在线观看 | 国产成人一区二区三区 | 91豆麻精品91久久久久久 | 亚洲伊人婷婷 | 国产成人精品一区二 | 91精品视频一区 | 日韩av不卡在线播放 | 国产三级国产精品国产专区50 | 麻豆一区二区三区视频 | 中国一级片视频 | 亚洲国产精品久久 | 日韩电影在线一区 | 日韩18p| 日韩精品首页 | 黄色三级免费片 | 欧美激情xxxx性bbbb | www.狠狠操| 最新日韩中文字幕 | 日韩黄色大片在线观看 | 992tv成人免费看片 | 日韩在线观看网址 | 人人干干人人 | 网站免费黄色 | 国产一级免费片 | 黄色电影小说 | 黄色av免费在线 | 尤物九九久久国产精品的分类 | 玖玖在线资源 | 国产麻豆精品传媒av国产下载 | 久久黄色网页 | 久久99热久久99精品 | 国产男女无遮挡猛进猛出在线观看 | 国产一级二级在线观看 | 亚洲精品美女 | 日韩中文字幕网站 | 日韩在线观看网址 | 国产成人亚洲在线观看 | 九九免费在线视频 | 国产又粗又猛又黄又爽 | 国产探花在线看 | 国产日本在线观看 | 粉嫩aⅴ一区二区三区 | 丁香婷婷综合五月 | 久久这里只有精品视频首页 | 狠狠躁天天躁综合网 | 日韩视频一区二区在线观看 | 国产一区二区手机在线观看 | 国产精品麻豆99久久久久久 | 在线亚洲小视频 | 可以免费观看的av片 | 国产精品一区二区美女视频免费看 | 91视频3p| 国产视频1 | 成人wwwxxx视频 | 国产小视频精品 | 97在线观看免费观看高清 | 日韩精品无 | 国产麻豆果冻传媒在线观看 | 丁香六月在线观看 | 精品亚洲免费视频 | 91精品久久香蕉国产线看观看 | 天天插视频 | 久久综合干 | 国产精品扒开做爽爽的视频 | 99视频在线看 | 精品久久久久久久久久久久久久久久 | 精品国产欧美一区二区三区不卡 | 在线播放日韩 | 精品国产理论片 | av综合 日韩 | 久久这里只有精品视频99 | 在线亚洲小视频 | 四虎在线视频免费观看 | 国产综合激情 | 国产在线视频在线观看 | 麻豆系列在线观看 | h久久| 日韩视频二区 | 久久久久亚洲精品中文字幕 | 精品专区一区二区 | 久久久久久毛片 | 黄色三级免费片 | 夜夜视频欧洲 | 国产黄在线免费观看 | 久久久免费毛片 | 国产成人一区二 | 久久久资源网 | 久久国产高清 | 久久精品欧美 | 久久综合五月天婷婷伊人 | 久久精品91久久久久久再现 | 麻花传媒mv免费观看 | 九九热在线观看 | av电影在线观看 | 国产在线观看免费av | 免费v片 | 国产中文字幕在线免费观看 | 国产免费二区 | 亚洲成a人片在线观看网站口工 | 成人免费视频网站在线观看 | 在线观看中文 | 久久久久久久久久久黄色 | 狠狠狠色丁香综合久久天下网 | 伊人资源站 | 婷婷伊人网 | 免费在线看成人av | 午夜精品久久久久久久99 | 九色一区二区 | 韩日精品视频 | 午夜精品久久久久99热app | 久久久久久影视 | 在线看成人av | 婷婷av电影| 91麻豆产精品久久久久久 | 国产精品成人久久久 | 91久草视频 | 国产a国产| 国产又黄又爽又猛视频日本 | 日韩欧美在线影院 | 免费在线色电影 | 射综合网 | 国产美女主播精品一区二区三区 | 日韩中文字幕在线观看 | 九热精品 | 国产福利一区二区在线 | 国产一区二区三区免费视频 | 久久久99精品免费观看乱色 | 精品99久久 | 在线视频一区观看 | 黄色三级在线观看 | 国产精品99久久久久久久久 | 欧美日韩国产高清视频 | 在线观看一区 | 97精品国产手机 | 麻豆视频免费在线播放 | 日韩欧美在线不卡 | 精品久久网| 中文字幕刺激在线 | 日本mv大片欧洲mv大片 | 美女在线免费视频 | 国产99久久久国产精品成人免费 | av一级黄| 国产破处在线视频 | 色av婷婷 | 日狠狠| 在线播放视频一区 | 久久视频网 | 五月婷婷色播 | 玖玖玖影院 | 免费福利在线观看 | 天天爽天天爽夜夜爽 | 青青河边草观看完整版高清 | 天天草天天干天天射 | 99国产精品一区 | 日韩在线观看第一页 | jizzjizzjizz亚洲| 69av视频在线观看 | 手机av永久免费 | 91精品国自产在线观看欧美 | 免费看短 | 99亚洲天堂| 成人激情开心网 | 日本中文字幕久久 | 亚洲精品视频 | 成人亚洲精品国产www | 经典三级一区 | 婷婷色在线资源 | 日本成址在线观看 | 国产精品免费不 | av夜夜操| 久久av免费电影 | 久久短视频 | 日本护士撒尿xxxx18 | 久久不卡av | 天天操天天操天天 | 亚洲精品国产综合99久久夜夜嗨 | 久久久久久国产一区二区三区 | 日韩特级黄色片 | 日本黄色免费播放 | 免费在线观看成人 | 午夜久久福利 | 免费看国产精品 | 日韩色中色| 97超在线| 中文字幕在线字幕中文 | 超级碰碰碰碰 | 久久av免费观看 | 国产亚洲日 | 欧美成人一区二区 | 久久成人高清 | 人人玩人人添人人澡97 | 91在线最新 | 精品视频久久久久久 | 91经典在线 | 中文字幕在线看视频国产 | 久久电影中文字幕视频 | 精品一区二区三区香蕉蜜桃 | 激情网第四色 | 国产精品视频你懂的 | 日本久久电影网 | 18av在线视频 | 狠狠色狠狠色合久久伊人 | 亚洲在线精品视频 | 日韩网站视频 | 久久久久五月 | 国产成人精品久久亚洲高清不卡 | 久久精品美女视频网站 | 国产精品成人免费一区久久羞羞 | 欧美性精品 | 亚洲国产精品传媒在线观看 | 久久免费看视频 | 欧美日韩精品区 | 97电影网站 | 国产一线二线三线性视频 | 日韩精品久久久 | 手机成人av | 三级视频片 | 国内精品久久久久久久久久久 | 992tv人人草| 高清av免费看 | 欧洲激情在线 | 日韩欧美精品在线观看视频 | 亚洲国产视频网站 | 国产精品96久久久久久吹潮 | 精品欧美一区二区精品久久 | 国产精品久久片 | 最新影院| 欧美日韩不卡在线视频 | 日韩va在线观看 | 国产在线国偷精品产拍免费yy | a特级毛片 | 日韩最新av | 欧美日韩高清一区二区 | 精品一区精品二区 | 91 中文字幕| 在线中文字幕一区二区 | 安徽妇搡bbbb搡bbbb | 久久视频 | 日韩一区在线免费观看 | 日韩欧三级 | 国产亚洲91 | 国产高清在线不卡 | 亚洲日日夜夜 | 美女在线免费视频 | 亚洲成a人片在线www | 成人影片在线播放 | 久久久久久片 | 在线观看 国产 | 久草视频观看 | 久久在线免费观看 | 麻豆91视频 | 久久久久久久久亚洲精品 | 久久久伦理 | 日韩激情在线视频 | 欧美一级特黄高清视频 | 波多野结衣一区二区三区中文字幕 | 在线免费中文字幕 | 午夜精品剧场 | 欧美人操人 | 狠狠色丁香婷婷 | 在线免费观看国产视频 | 久草久视频 | 麻豆视频在线免费看 | 一区二区欧美在线观看 | 久久av在线播放 | 免费av网站在线 | 久久国产精品免费一区二区三区 | 91在线操| 91网免费观看 | 欧美午夜a | 成人免费一级片 | 精品久久久免费 | 九九热只有这里有精品 | 亚洲一区视频免费观看 | 制服丝袜一区二区 | 久久国产精品99久久久久久老狼 | 香蕉视频一级 | 92国产精品久久久久首页 | 永久免费视频国产 | 婷婷色综合色 | 美女网站视频免费都是黄 | 日韩电影一区二区在线观看 | 日韩毛片在线免费观看 | 亚洲va男人天堂 | 国产精品成人自拍 | 狠狠色噜噜狠狠 | 久久99视频免费 | 成人在线视频论坛 | 免费a一级 | 亚洲一级黄色 | 91精品网站 | 国产精美视频 | 国产成人av一区二区三区在线观看 | 狠狠五月婷婷 | 天天操天天干天天综合网 | 国产一区二区午夜 | 又污又黄的网站 | 91丨九色丨丝袜 | 久久久久久久久久久久电影 | 久久免费电影网 | 成人全视频免费观看在线看 | 中文字幕日韩高清 | 久久久国产99久久国产一 | 国产中文欧美日韩在线 | 国产精品久久久区三区天天噜 | 日韩在线电影观看 | 日韩在线观看视频网站 | 天天草综合网 | 久草在线视频精品 | 国产中出在线观看 | 丁香六月天婷婷 | 98涩涩国产露脸精品国产网 | 精品国产_亚洲人成在线 | 在线观看视频一区二区三区 | 中文字幕欧美日韩va免费视频 | 91av网站在线观看 | 欧美日韩免费一区二区三区 | 91九色视频网站 | 久久视频网址 | 久热色超碰| 五月天综合网站 | 亚洲一区不卡视频 | 天天色天天草天天射 | 色就是色综合 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产精品麻 | 亚洲精品久久久久58 | 国产96在线观看 | 日日精品 | 精品久久一 | 久久视频一区二区 | 亚洲成人午夜av | 91精品国产高清自在线观看 | 天天干天天干天天色 | 久久伊人色综合 | 少妇18xxxx性xxxx片 | 亚洲精品美女免费 | 久免费 | 99久久综合精品五月天 | 亚洲欧洲精品一区二区精品久久久 | 人人爽人人舔 | 特级西西人体444是什么意思 | 97天堂网 | 精品视频在线免费 | 中文字幕免费观看 | 欧美一级电影 | 九九综合九九 | 亚洲欧美偷拍另类 | 国产精品久久久久久久久久了 | 午夜av免费在线观看 | 中文字幕av免费在线观看 | 国产一区免费在线 | 在线99热 | 91大神免费在线观看 | 色婷婷久久一区二区 | 欧美91精品国产自产 | 激情开心网站 | 久久婷婷国产色一区二区三区 | 亚洲国产精品成人女人久久 | 91久久久久久久一区二区 | 国产精品美女久久久久久 | 亚洲日本中文字幕在线观看 | 亚洲精品女人久久久 | 日韩1页 | 免费观看成人 | 国产裸体视频网站 | 欧美国产日韩一区 | 日韩av电影网站在线观看 | 天天色天天 | 一区二区三区在线观看中文字幕 | 91精品国产91久久久久 | 色全色在线资源网 | 超碰人人草人人 | www.久久久| 日韩三级视频在线看 | av免费看网站 | 亚洲va欧美 | 九九九热精品免费视频观看 | 激情综合一区 | 99精品视频在线免费观看 | 黄网站免费大全入口 | 亚洲欧美日韩精品久久久 | 黄色一级性片 | 久久久污 | 欧美性生活小视频 | 51久久成人国产精品麻豆 | 就操操久久 | 欧美 国产 视频 | 日韩高清免费在线 | 久久久久久久毛片 | 国产亚洲精品综合一区91 | 欧美精品国产精品 | 免费在线观看一区 | 1024手机看片国产 | 久久久91精品国产一区二区三区 | 在线观看色网 | 欧美,日韩 | 国产精品成人一区 | 日韩激情在线 | 日韩一级网站 | 在线 你懂| 91大神dom调教在线观看 | 色综合久久88 | 精品中文字幕在线播放 | 麻豆果冻剧传媒在线播放 | 天天做天天看 | 国产高清成人 | 日韩一级电影网站 | 嫩草91影院 | 一区二区影视 | 久久99精品久久久久婷婷 | 午夜美女福利直播 | 综合天天久久 | av一区二区三区在线播放 | 91免费高清观看 | 国产一级片免费播放 | 久久久久免费精品国产小说色大师 | 91综合久久一区二区 | 在线免费国产 | 九九有精品 | 国产精品久久久久久久久久久久冷 | 欧美一区二区三区四区夜夜大片 | 高清中文字幕 | 国产一区二区播放 | 天堂va在线观看 | 亚洲在线黄色 | 亚洲精品视频在线看 | 青青久草在线 | 成人网中文字幕 | 久久黄色精品视频 | 成人毛片在线视频 | 国产精品嫩草影视久久久 | 亚洲狠狠婷婷 | 成人黄色在线视频 | 黄色av播放| 色综合中文字幕 | 91丨九色丨国产女 | 久久久久久国产精品 | 久久在视频 | 欧美一区二区在线看 | 91精品福利在线 | 国产精品毛片完整版 | 99热日本 | 亚洲国产视频a | 亚洲免费不卡 | 日韩午夜在线观看 | 国产精品久久久精品 |