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

歡迎訪問 生活随笔!

生活随笔

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

java

深入Java内存模型

發布時間:2023/12/10 java 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入Java内存模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

你可以在網上找到一大堆資料讓你了解JMM是什么東西,但大多在你看完后仍然會有很多疑問。happen-before是怎么工作的呢?用volatile會導致緩存的丟棄嗎?為什么我們從一開始就需要內存模型?

通過這篇文章,讀者可以學習到足以回答以上所有問題的知識。它包含兩大部分:第一部分是硬件層次的大體架構,第二部分是深入OpenJdk源代碼和實現。因此,即使你沒有太深入Java,你可能也會對第一部分感興趣。

硬件相關的東西 搞硬件的工程師一直在努力地優化他們產品的性能,使我們可以獲取更多的代碼外的高性能部件。然而,它帶來的問題是:當你的代碼在運行時,你并不能直觀地查看它是運行在什么場景下。有著無數硬件細節被抽象化。而抽象往往意味著容易有漏洞。

處理器緩存 對主存的請求是一項昂貴的操作,即使是在現代機器上,在執行的時候也會花上百納秒的時間。然后,其他操作的執行時間,不同于主存的訪問,其發展就顯緩慢。這個問題通常被稱為Memory Wall,而最明顯的解決方案就是引入緩存。簡單來說,處理器對它經常訪問的主存數據保存一份拷貝。你可以在這里深入閱讀不同的緩存架構,我們將會繼續另外一個問題:保持緩存最新。

很明顯,當我們只有一個執行部件(從現在開始這里指處理器)時是沒問題的,但當你擁有多于一個時,事情會變得復雜。

如果A緩存了某些值,處理器A怎么知道處理器B已經修改了它們呢?

或者,更一般地說,你怎么保證緩存一致性

為了保存內存狀態的一致性,處理器需要進行交互。那種交互的規則稱之為緩存一致性協議(cache coherency protocol)

緩存一致性協議 現在有著很多不同的協議,不同的硬件廠商,甚至同一個廠商的不同產品線都會有所不同。盡管有著各種各樣的區別,但大部分協議都有著很多共同點,這也是我們需要深入MESI的原因。然而,它并沒有給讀者一個所有協議的完整概述。有一些協議(例如基于目錄的)是完全不一樣的。我們不準備深入他們。

在MESI中,每一個緩存條目都會屬于以下狀態之一:

無效(Invalid)緩存不再擁有該條目 獨占(Exclusive)這個條目只存在于這個緩存,沒有被修改 已修改(Modified)處理器已經修改過這個值,但還沒有寫回主存或者發送給其他處理器 共享(Shared)多于一個處理器的緩存擁有該條目 狀態之間的轉換是通過發送特定的協議消息。具體的消息類型關系不大,所以在本文忽略了。你可以通過很多其他的資料去深入了解它們。我會推薦Memory Barriers: a Hardware View for Software Hackers

諷刺的是:當我們深入時,消息被用于并發修改狀態。這是個問題。那么那些討厭Actor Model的人怎么辦?

MESI優化和他們引入的問題 在還沒有說到細節時,我們知道消息的傳遞是需要時間的,它使得狀態切換有更多的延遲。重要的是我們也需要意識到某些狀態的切換需要特殊的處理,可能會阻塞處理器。這些都將會導致各種各樣的穩定性和性能問題。

存儲緩存(Store Bufferes) 如果你需要對一個在緩存中的共享的變量進行寫入,你需要發送一個失效(Invalidate)消息給它的所有持有者,并且等待它們的確認。處理器在這段時間間隔內會阻塞,這是一個不爽的事情,因為這個時間的要求比普通執行一個指令要長得多。

在現實生活中,緩存條目不只包含一個變量。這個被劃分出來的單元是一個緩存鏈,通常包含多于一個變量,并且很多是64字節大小的。

它會導致有趣的問題,例如緩存競爭

為了避免這種時間的浪費,Store Bufferes被引入使用。處理器把它想要寫入到主存的值寫到緩存,然后繼續去處理其他事情。當所有失效確認(Invalidate Acknowledge)都接收到時,數據才會最終被提交。

有人會想到這里有一些隱藏的危險存在。簡單的一個就是處理器會嘗試從存儲緩存(Store buffer)中讀取值,但它還沒有進行提交。這個的解決方案稱為Store Forwarding,它使得加載的時候,如果存儲緩存中存在,則進行返回。

第二個陷阱是:保存什么時候會完成,這個并沒有任何保證??紤]一下下面的代碼: void executedOnCpu0() { value = 10; finished = true; }

void executedOnCpu1() { while(!finished); assert value == 10; } 試想一下開始執行時,CPU 0保存著finished在Exclusive狀態,而value并沒有保存在它的緩存中。(例如,Invalid)。在這種情況下,value會比finished更遲地拋棄存儲緩存。完全有可能CPU 1讀取finished的值為true,而value的值不等于10。

這種在可識別的行為中發生的變化稱為重排序(reordings)。注意,這不意味著你的指令的位置被惡意(或者好意)地更改。

它只是意味著其他的CPU會讀到跟程序中寫入的順序不一樣的結果。

無效隊列 執行失效也不是一個簡單的操作,它需要處理器去處理。另外,存儲緩存(Store Buffers)并不是無窮大的,所以處理器有時需要等待失效確認的返回。這兩個操作都會使得性能大幅降低。為了應付這種情況,引入了失效隊列。它們的約定如下:

對于所有的收到的Invalidate請求,Invalidate Acknowlege消息必須立刻發送 Invalidate并不真正執行,而是被放在一個特殊的隊列中,在方便的時候才會去執行。 處理器不會發送任何消息給所處理的緩存條目,直到它處理Invalidate 也正是那些優化的情況會導致這種跟直覺不符的結果。讓我們看回代碼,假設CPU 1存有Exclusive狀態的value。這里有一張圖表,表示其中一種可能的執行情況:

xx

同步是很簡單容易,不是嗎?問題在于steps (4) – (6)。當CPU 1在(4)接收到Invalidate時,它只是把它進行排列,并沒有執行。CPU 1在(6)得到Read Response,而對應的Read在(2)之前就被發送。盡管這樣,我們也沒有使value失效,所以造成了assertion的失敗。如果那個操作早點執行就好了。但,唉,這該死的優化搞壞了所有事情!但從另一方面考慮,它給予了我們重要的性能優化。

那些硬件工程師沒辦法提前知道的是:什么時候優化是允許的,而什么時候并不允許。這也是他們為什么把這個問題留給我們。它同時也給予我們一些小東西,標志著:“單獨使用它很危險!用這個!”

硬件內存模型 軟件工程師在出發和巨龍搏斗時被授予的魔法劍并不是真正的劍。同樣,那些搞硬件的家伙給我們的是寫好的規則。他們描述著:當這個(或其他)處理器執行指令時,處理器能夠看見什么值。我們能夠像符咒一樣把他們分類成Memory Barriers。對于我們的MESI例子,它描述如下:

Store Memory Barrier(a.k.a. ST, SMB, smp_wmb)是一條告訴處理器在執行這之后的指令之前,應用所有已經在存儲緩存(store buffer)中的保存的指令。

Load Memory Barrier (a.k.a. LD, RMB, smp_rmb)是一條告訴處理器在執行任何的加載前,先應用所有已經在失效隊列中的失效操作的指令。

因此,這兩個方法可以防止我們之前遇到的兩種情況。我們應該使用它: void executedOnCpu0() { value = 10; storeMemoryBarrier(); // Mighty Spell! finished = true; } void executedOnCpu1() { while(!finished); loadMemoryBarrier(); // I am a Wizard! assert value == 10; } 哈!我們現在安全了。是時候來寫一些高性能并且正常的并發代碼了!

啊,等等。它甚至不能編譯,顯示找不到方法。真糟糕。

一次編寫,處處運行 上面的那些緩存一致性協議,memory barriers,內存清除(dropped caches)和類似的東西看起來都是惡心的平臺相關的東西。Java開發人員不應該關心這些東西。畢竟Java內存模型沒有重排序的概念。

如果你沒有完全理解上面的最后一段,你不應該繼續往下閱讀了。一個好的建議是先去學習一下JMM相關的知識。一個很好的入門教程應該是這篇FAQ

但應該會有更抽象層次的重排序。你應該會有興趣看看JMM是怎么映射到硬件模型的。讓我們從一個簡單的類開始:(github)

有許多不同的場景供我們去了解究竟發生了什么:PrintAssembly很有趣,可以看到編譯器正在做什么,而不用再去問別人,疑惑地告訴你緩存被丟序了等等。我決定深入看看OpernJDK的C1(client編譯器)。由于client編譯器很少用在真實的應用中,作為教學用是一個好選擇。

我使用的是jdk8,版本號為933:4f8fa4724c14。在其他版本有可能會不一樣。

如果你以前從來就沒有深入過OpenJDK的源碼(或者你有),你很難找你很感興趣的地方在哪里。一個縮小查找范圍的方法是取得你感興趣的字節碼指令,大概看一下它。好的,我們就這樣做: $ javac TestSubject.java && javap -c TestSubject void executedOnCpu0(); Code: 0: aload_0 // Push this to the stack 1: bipush 10 // Push 10 to the stack 3: putfield #2 // Assign 10 to the second field(value) of this 6: aload_0 // Push this to the stack 7: iconst_1 // Push 1 to the stack 8: putfield #3 // Assign 1 to the third field(finished) of this 11: return

void executedOnCpu1(); Code: 0: aload_0 // Push this to the stack 1: getfield #3 // Load the third field of this(finished) and push it to the stack 4: ifne 10 // If the top of the stack is not zero, go to label 10 7: goto 0 // One more iteration of the loop 10: getstatic #4 // Get the static system field $assertionsDisabled:Z 13: ifne 33 // If the assertions are disabled, go to label 33(the end) 16: aload_0 // Push this to the stack 17: getfield #2 // Load the second field of this(value) and push it to the stack 20: bipush 10 // Push 10 to the stack 22: if_icmpeq 33 // If the top two elements of the stack are equal, go to label 33(the end) 25: new #5 // Create a new java/lang/AssertionError 28: dup // Duplicate the top of the stack 29: invokespecial #6 // Invoke the constructor (the method) 32: athrow // Throw what we have at the top of the stack (an AssertionError) 33: return 你不應該單單看了字節碼就開始猜想你程序的執行(或者底層操作)。當JIT編譯器編譯它時,代碼會跟現在看到的基本兩樣。

我們做這個的目的就是為了了解它們是為誰工作的。

這些有兩個有趣的事情:

許多人都會忘記:斷言在默認情況下是關閉的。用-ea來啟用他們。 我們查找的名字:getfield和putfield 深入剖析 我們看到,用于加載和保存volatile和普通屬性的指令是一樣的。所以,一個好辦法就是找到編譯器是在哪里知道一個屬性是否是volatile。隨便看了一下,我們的目光停留在share/vm/ci/ciField.hpp文件。有趣的方法是 bool is_volatile() { return flags().is_volatile(); } 所以,我們現在的任務就是找到處理加載和保存屬性的方法,并且通過結果分析調用上面這個方法的代碼層次關系。Client編譯器在Low-Level Intermediate Representation(LIR)層上處理它們,代碼在文件:share/vm/c1/c1_LIRGenerator.cpp

C1中間展示 我們由保存開始。我們深入的方法是void LIRGenerator::do_StoreField(StoreField* x),它在1658:1751行。我們看到的第一個顯眼的操作是: if (is_volatile && os::is_MP()) { __ membar_release(); } 很好,一個memory barrier!兩個下劃線是一個宏,可以被展開為gen()->lir()->,另外,被調用的方法定義在share/vm/c1/c1_LIR.hpp:

1 void membar_release() { append(new LIR_Op0(lir_membar_release)); } 所以,發生的事情就是我們對我們的展示添加多了一個操作ir_membar_release

被調用的方法有著平臺相關的實現。給x86(cpu/x86/vm/c1_LIRGenerator_x86.cpp)的很簡單:對于64位的屬性,我們嘗試一些技巧性的方法來保證寫入的原子性。因為標準寫著。這有點過時,但會在Java9的時候更新。最后一個我們需要看的是在方法最后的又一個memory barrier。 if (is_volatile && os::is_MP()) { __ membar(); }

void membar() { append(new LIR_Op0(lir_membar)); } 這就是保存的處理。

加載在源代碼稍微底層點,幾乎沒有包含任何新東西。它同樣有一些技巧性的方法來處理long和double的原子性,在加載完成后會添加lir_membar_acquire。

注意,我故意省略一些跟這關聯的東西,例如:GC相關的指令。

Memory Barrier類型和抽象層次(Abstraction Levels) 這個時候,你肯定會想release和acquire memory barriers是什么東西,因為我們到現在都還沒介紹。這完全是因為我們所看到的store和load memory barriers是在MESI模型中的操作,然后我們現在正在看的是在其上幾層的抽層層次(或者任何其他的內存一致性協議)。在這一層,我們有不同的術語。

考慮到我們有兩種類型的操作,Load和Store,我們擁有四種組合:LoadLoad,LoadStore,StoreLoad,StoreStore。因此也很方便的得到四種相同名稱的memory barriers。

如果我們有一個XY memory barrier,它表示所有的在barrier前的X操作必須比在barrier后的任意Y操作提前完成它們的操作。

例如,所有的在StoreStore barrier前的Store操作必須比barrier后的任意Store操作早完成。JSR-133是關于這個主題的一本好書。

有些人會疑惑,認為memory barriers接收一個變量作為參數,然后阻止跨進程間對該變量的重排序。

Memory barriers只能用在一個線程內。恰當地組合使用它們,你可以保證其他線程在加載這些值的時候看到一致的情況。一般地說,JMM的所有抽象都是由正確的組合memory barriers來實現的。

還有一些Acquire和Release語義。一個擁有release語義的write操作要求所有在它之前的內存操作都必須在它執行前完成。而read-acquire操作是相反的情況。

有人會發現Release Memory Barrier可以通過LoadStore|StoreStore的結合來實現,而Acquire Memory Barrier是LoadStore|LoadLoad。StoreLoad就是我們上面看到的lir_membar。

生成匯編代碼 現在我們已經找到了IR和它的memory barriers,我們可以深入本地實現層了。所有的處理都在share/vm/c1/c1_LIRAssembler.cpp文件內: case lir_membar_release: membar_release(); break; memory barriers是平臺相關的,對于x86平臺,我們看cpu/x86/vm/c1_LIRAssembler_x86.cpp文件。我們發現x86在內存模型架構上相當嚴格,因此大部分的memory barriers都是沒有處理的。 void LIR_Assembler::membar_acquire() { // No x86 machines currently require load fences // __ load_fence(); }

void LIR_Assembler::membar_release() { // No x86 machines currently require store fences // __ store_fence(); } 然而這并不是所有: void LIR_Assembler::membar() { // QQQ sparc TSO uses this, __ membar( Assembler::Membar_mask_bits(Assembler::StoreLoad)); } (我們深入cpu/x86/vm/assembler_x86.hpp) // Serializes memory and blows flags void membar(Membar_mask_bits order_constraint) { if (os::is_MP()) { // We only have to handle StoreLoad if (order_constraint & StoreLoad) { // All usable chips support "locked" instructions which suffice // as barriers, and are much faster than the alternative of // using cpuid instruction. We use here a locked add [esp],0. // This is conveniently otherwise a no-op except for blowing // flags. // Any change to this code may need to revisit other places in // the code where this idiom is used, in particular the // orderAccess code. lock(); addl(Address(rsp, 0), 0);// Assert the lock# signal here } } } 因此,對于每一個volatile寫入,我們必須使用代價較大的形式為lock addl $0x0,(%rsp)的StoreLoad barrier。它強制要求我們去執行所有的掛起的保存,并且有效地保證其他線程可以很快地看到最新的值。而對于volatile讀取,我們沒有使用其他的barriers。然而我們不能想著volatile讀取跟普通的讀取是一樣簡單的。

我們應該清楚雖然barriers沒有生成匯編代碼,但它仍然存在在IR中的。如果他們被可以修改代碼的組件(這里指編譯器)忽略,那將會是一個類似的bug。

完整性檢查 雖然通過查看OpenJDK源代碼來學習是很好的,所有真正的科學家都這樣,并且測試他們的理論。我們還是不要搞特例,同樣來學習吧。

Java并發很有趣 好消息是我們不需要再重造輪子,因為已經有jcstress工具來長時間執行代碼,并且把輸出完全聚合起來。它同樣幫我們做了很多沒什么意義工作,包括那些我們根本沒意識到我們必須要去做的。

與其同時,jcstress已經擁有了我們需要的充分的測試。 static class State { int x; int y; // acq/rel var }

@Override public void actor1(State s, IntResult2 r) { s.x = 1; s.x = 2; s.y = 1; s.x = 3; }

@Override public void actor2(State s, IntResult2 r) { r.r1 = s.y; r.r2 = s.x; } 我們有一個線程,用來執行保存,而另外一個執行讀取,然后會輸出相應的狀態。框架已經幫我們聚合了需要的結果,這些結果滿足一定的規則。我們對由第二個線程得到的兩個可能出現的結果感興趣:[1,0]和[1,1]。在這兩種情況中,它加載了y == 1,但看不到寫入給x的值,或者加載了一個并不是y寫入時的最新值。根據我們的理論,這種情況的出現原因在于沒有volatile標識符。讓我們看一下: $ java -jar tests-all/target/jcstress.jar -v -t ".UnfencedAcquireReleaseTest." ...

Observed state Occurrence Expectation Interpretation

[0, 0] 32725135 ACCEPTABLE Before observing releasing write to, any value is OK for x. [0, 2] 36 ACCEPTABLE Before observing releasing write to, any value is OK for x. [1, 0] 65960 ACCEPTABLE_INTERESTING Can read the default or old value for y is observed. [1, 3] 50929785 ACCEPTABLE Can see a released value of y is observed. [1, 2] 7 ACCEPTABLE Can see a released value of y is observed. 因此,83731840中有65960次 (≈ 0.07%),第二個線程得到了y == 1 && x == 0,這也證明了重排序是確實有運行的。

PrintAssembly的樂趣 我們需要檢查的第二件事情是:我們是否正確地預測生成的匯編代碼。因此,我們添加了很多所需代碼的調用,為了方便結果演示,取消了inlining,開啟了斷言(assertoins),并且跑在client模式下。

$ java -client -ea -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:MaxInlineSize=0 TestSubject ...

{method} 'executedOnCpu0' '()V' in 'TestSubject'

... 0x00007f6d1d07405c: movl $0xa,0xc(%rsi) 0x00007f6d1d074063: movb $0x1,0x10(%rsi) 0x00007f6d1d074067: lock addl $0x0,(%rsp) ;*putfield finished ; - TestSubject::executedOnCpu0@8 (line 15) ...

{method} 'executedOnCpu1' '()V' in 'TestSubject'

... 0x00007f6d1d061126: movzbl 0x10(%rbx),%r11d ;*getfield finished ; - TestSubject::executedOnCpu1@1 (line 19) 0x00007f6d1d06112b: test %r11d,%r11d ... 啊,就跟預想的一樣!是時候完成了。

讓我來提醒你那些你現在應該可以回答的問題:

它是怎么實現的?

使用volatile會導致緩存被丟棄嗎?

為什么我們一開始就需要內存模型?

你覺得你可以回答這些?歡迎留言!

轉載于:https://juejin.im/post/5b9a0eb45188255c85020666

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的深入Java内存模型的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久草在线视频国产 | 午夜国产福利在线观看 | 日韩精品1区2区 | 黄色网大全 | 高清一区二区三区av | 91精品无人成人www | 亚洲精品播放 | 日韩av不卡播放 | 日韩中文字幕网站 | 国产婷婷vvvv激情久 | 97色噜噜| 四虎成人精品永久免费av | ww视频在线观看 | 91久久国产自产拍夜夜嗨 | 91av在线免费看 | 国产在线一区二区 | 人人玩人人添人人澡97 | 精品国产精品久久一区免费式 | 91麻豆国产福利在线观看 | 特黄特色特刺激视频免费播放 | 国内成人精品2018免费看 | 999久久久久久久久 69av视频在线观看 | 欧美日韩免费一区 | japanesefreesex中国少妇 | 91精品播放 | 黄色在线观看免费网站 | 欧美综合久久久 | 亚洲理论片在线观看 | 黄色的视频网站 | 五月婷综合 | 国产一区在线视频 | 精品美女久久久久 | 韩国三级av在线 | 国产伦精品一区二区三区照片91 | 精品国产1区 | 97成人精品视频在线观看 | 欧美日韩国产在线精品 | 在线看片a | 国产午夜三级 | 色综合久久久久综合体桃花网 | 欧美最猛性xxxxx亚洲精品 | 在线视频a | 成年人在线免费看视频 | 97色噜噜 | 婷婷激情综合网 | 在线观看国产福利片 | 久久久亚洲国产精品麻豆综合天堂 | 日韩在线视 | 人人添人人澡人人澡人人人爽 | 日韩精品免费在线观看视频 | 国产福利久久 | 色99色| www国产亚洲精品久久网站 | 中文不卡视频在线 | 色婷婷丁香 | 精品美女在线视频 | 美女国产| 网址你懂的在线观看 | 麻豆免费在线视频 | 亚洲一区二区三区在线看 | 国内久久视频 | 在线色吧 | 日韩免费观看高清 | 在线成人短视频 | 精品久久网站 | 成人手机在线视频 | 国产精品久久久久久久av大片 | 国产精品自产拍 | 久久一区国产 | 99r国产精品| 美女黄网久久 | 色综合天天综合网国产成人网 | 亚洲成av| 六月丁香激情综合色啪小说 | 国产91影院| 毛片一区二区 | 手机版av在线 | 国产精品久久久久久欧美 | 国产亚洲日本 | 夜夜躁狠狠躁日日躁 | 成人网444ppp| 夜夜操网站 | 99热播精品 | 国产成人精品一区二区三区福利 | 在线播放亚洲 | 国产淫片免费看 | 国产精品黄色av | 成人午夜黄色 | 亚洲在线视频免费观看 | 麻豆精品91| 国产精品区二区三区日本 | 香蕉色综合 | 99精品免费久久久久久久久日本 | 久久综合亚洲鲁鲁五月久久 | 久久精品99视频 | 国产一级片直播 | 久久激五月天综合精品 | 亚洲影院国产 | 超碰999| 91成人免费在线 | 免费毛片一区二区三区久久久 | 97热久久免费频精品99 | 丁香视频免费观看 | 久久一区二区免费视频 | a视频在线看| 激情网站免费观看 | 中文字幕视频网站 | 黄色1级大片| 欧美日韩中 | 国产免费观看高清完整版 | 天天色天天综合 | 久久久国产日韩 | 胖bbbb搡bbbb擦bbbb | 视频福利在线观看 | 黄色影院在线播放 | 国产精品一区二区三区观看 | 91禁看片| 99视| 极品久久久久 | 成人午夜电影免费在线观看 | 国产精品女同一区二区三区久久夜 | 99久久久国产精品免费观看 | 99 久久久久 | 国产中文在线字幕 | 国产精品午夜久久久久久99热 | 国产一区二区三区 在线 | 成人国产精品电影 | 中文字幕在线一二 | 一区二区三区四区在线免费观看 | 97视频在线| 国产福利午夜 | 国精产品一二三线999 | 中文字幕av在线免费 | 国产精品久久久久久久久久免费 | 人人爱在线视频 | 精品国产一区二区三区四区在线观看 | 日批视频在线 | 天天干.com| 久久精品成人 | 欧美日本高清视频 | 欧美午夜精品久久久久久浪潮 | 久久在线观看视频 | 在线观看一区二区视频 | 国产精品第二页 | 激情欧美一区二区三区 | 97视频在线观看网址 | 国产免费一区二区三区最新 | 美女黄久久 | 免费看黄色毛片 | 欧美精品中文字幕亚洲专区 | 91精品视频观看 | 日韩一区二区免费播放 | 国产精品都在这里 | 亚洲精品动漫久久久久 | 国产1区2区3区精品美女 | 婷婷激情5月天 | 国产视频在线播放 | 不卡视频一区二区三区 | 欧美在线观看视频免费 | 91国内产香蕉 | 国产成人精品区 | 91原创在线观看 | 亚洲人成人在线 | 中文字幕在线观看完整版 | 亚洲a在线观看 | 韩国av免费| 亚洲人成人天堂h久久 | 在线观看成人福利 | 911亚洲精品第一 | 爱色婷婷 | 成人午夜片av在线看 | 日韩欧美高清 | 亚洲婷婷免费 | 在线国产视频 | 99久久精品免费视频 | 91精品免费在线 | 中文字幕av免费 | 欧美有色 | 亚洲精品国偷自产在线99热 | 97福利在线| 91精品老司机久久一区啪 | 亚洲三级在线播放 | 天天射天天干天天爽 | 国产精品一区专区欧美日韩 | 97超碰在线播放 | 热99在线| 99视频久久| 中文字幕一区三区 | 欧美日韩视频免费 | 91中文字幕在线播放 | 亚洲传媒在线 | 永久免费av在线播放 | 久草网在线视频 | 国产理论一区二区三区 | 99精品热视频只有精品10 | 精品一二三四视频 | 亚洲精品国产精品99久久 | 久草在在线 | 亚洲午夜精| 亚洲电影网站 | 久碰视频在线观看 | 精品久久久免费 | 国产又粗又猛又爽又黄的视频先 | 中文字幕一区二区三区精华液 | 国产成人在线综合 | 婷婷色网站 | 午夜精品久久久久久久99 | 91久久久国产精品 | 99亚洲视频 | 91视频免费看网站 | 免费网站看av片 | 欧美午夜精品久久久久久孕妇 | 一级一片免费观看 | 蜜臀久久99精品久久久无需会员 | 伊人五月在线 | 又黄又刺激视频 | 国产精品毛片一区视频播不卡 | 日韩大片在线观看 | 99热精品在线观看 | 国产精品国产三级国产aⅴ入口 | 成人电影毛片 | 欧美 激情在线 | 超碰97免费在线 | 在线中文字母电影观看 | 97视频在线看 | av中文字幕免费在线观看 | 久久人人97超碰国产公开结果 | 久久精品中文字幕 | 久久国产手机看片 | 中文字幕有码在线播放 | 天天操天天操天天操天天操天天操 | 人人插人人干 | 欧美粗又大 | 国产精品久久久久久久电影 | 久久av一区二区三区亚洲 | 人人看人人爱 | 精品久久久久久久久亚洲 | 国产黄色片免费 | 久久人人添人人爽添人人88v | 亚洲精品99久久久久中文字幕 | 欧美俄罗斯性视频 | 一区二区三区四区在线 | 久久a v视频 | 午夜精品久久久久久99热明星 | 亚洲成人免费在线 | 91高清免费在线观看 | 亚洲va在线va天堂va偷拍 | www.香蕉视频 | 色av资源网 | 在线色亚洲| 中文字幕中文字幕在线一区 | av国产在线观看 | 国产精品一区二区在线观看免费 | 麻豆影视在线免费观看 | 日韩精品在线一区 | 精品一区二区综合 | av中文字幕在线看 | 成人av电影在线 | 婷婷丁香狠狠爱 | 日韩一级精品 | 色丁香久久 | 久久99九九99精品 | 99精品成人 | 亚洲国产三级在线 | 国产一区二区在线免费观看 | 国产精品尤物视频 | 国产视频一级 | 91夫妻视频| 亚洲精选国产 | 97超碰人人澡 | 99r在线观看 | av在线进入 | 婷婷av色综合 | 97精品国产97久久久久久粉红 | 天天天干夜夜夜操 | 国产精品日韩精品 | 福利av影院 | 欧美高清视频不卡网 | 丝袜美腿在线 | 日韩久久久久久久久 | 人人射人人射 | 亚洲四虎影院 | 久久永久免费视频 | 射综合网| 狠狠色丁香婷婷综合视频 | 久久成人精品电影 | 黄色一级免费网站 | 国产伦理剧| 国产精品久久久久免费观看 | 成人免费视频视频在线观看 免费 | 国产字幕在线播放 | 欧美三人交 | av中文天堂 | 欧美极品裸体 | 日韩三级视频 | 日本黄色特级片 | 国产亚洲欧洲 | 国产91免费观看 | 91资源在线免费观看 | 欧美91精品久久久久国产性生爱 | 精品视频99 | 91精品在线视频观看 | 日韩av不卡播放 | 国产精品第一页在线 | 色综合天天射 | 天天曰夜夜爽 | 国产日本三级 | 91麻豆传媒| 国产成人精品综合 | 久久这里只有精品视频99 | 亚洲精品免费观看视频 | 69国产精品成人在线播放 | 天堂av在线网址 | 免费av网址在线观看 | 国产在线观看免费 | 91福利试看 | 国产日韩在线视频 | 久久综合色播五月 | 欧美日韩成人一区 | 国产福利91精品张津瑜 | 久久久免费 | 久草色在线观看 | www久久com| 999视频在线播放 | 97精品国产91久久久久久久 | 欧美巨大荫蒂茸毛毛人妖 | 色大片免费看 | 99久久超碰中文字幕伊人 | 在线免费av电影 | 国产精品久久久久久久久久免费 | 亚洲少妇自拍 | 日韩精品亚洲专区在线观看 | 中日韩免费视频 | 色资源中文字幕 | 亚洲国产精品va在线 | 婷婷丁香在线视频 | 成人99免费视频 | 亚洲精品中文字幕在线 | 久久久高清视频 | 亚洲va男人天堂 | 国产精品淫片 | 成人午夜影院 | 超碰在线官网 | 日本资源中文字幕在线 | 国产香蕉视频 | 婷婷伊人五月天 | 国产午夜精品一区二区三区 | 婷婷六月久久 | 天天色婷婷 | 日日日操 | 亚洲一区精品二人人爽久久 | 国产最新福利 | 黄色一级大片在线免费看产 | 在线影视 一区 二区 三区 | 在线小视频你懂得 | 字幕网资源站中文字幕 | 96久久欧美麻豆网站 | 天天干天天草天天爽 | 日日爽日日操 | 天天射,天天干 | 婷婷色六月天 | 色偷偷人人澡久久超碰69 | 日韩一区二区三免费高清在线观看 | 国产日韩中文字幕在线 | 97国产精品视频 | 日韩中文字幕亚洲一区二区va在线 | 免费特级黄毛片 | 久草在线视频网 | 婷婷五综合 | 99久在线精品99re8热视频 | 九九视频这里只有精品 | 成人电影毛片 | 国产精彩视频一区 | 亚洲热久久 | 欧美成人91 | 丁香婷婷色综合亚洲电影 | www.超碰| 伊人五月天.com | 在线观看完整版免费 | 97成人在线 | 久久a久久 | 国产手机在线播放 | 日本中文字幕影院 | 96视频在线| 色婷婷精品大在线视频 | 蜜臀精品久久久久久蜜臀 | 99视频这里有精品 | 日韩在线播放欧美字幕 | 五月天国产 | 狠狠狠色丁香婷婷综合久久88 | 成人精品视频 | 色婷婷六月 | 日韩电影在线一区 | 成人资源在线播放 | 亚洲1区 在线 | 99视频在线免费播放 | 亚洲成人av一区 | 久久久精品欧美一区二区免费 | 国产区精品在线观看 | 黄色毛片一级片 | 日韩欧美视频免费在线观看 | av电影在线免费观看 | 日韩精品91偷拍在线观看 | 免费av网站在线看 | 一区二区三区视频在线 | 97成人免费 | 精品uu| 五月天久久 | 日本中文字幕在线播放 | 91麻豆精品国产91久久久无限制版 | 色综合天天射 | 色噜噜狠狠狠狠色综合久不 | 精品久久免费 | 黄毛片在线观看 | 国产香蕉视频在线观看 | 国产不卡在线播放 | 婷婷婷国产在线视频 | 激情婷婷在线 | 亚州精品天堂中文字幕 | 成人小电影在线看 | 国产小视频在线观看免费 | 国产成人精品久久久久 | 久久蜜臀一区二区三区av | 国产群p视频 | 久久久久电影网站 | 又黄又爽又无遮挡免费的网站 | 欧美一级免费片 | 五月激情丁香图片 | www.香蕉| 亚洲精品三级 | 日韩艹| 久久黄视频 | 日韩在线观看视频中文字幕 | 亚洲精品中文在线资源 | 国产精品精品久久久 | 亚洲视频每日更新 | 丁香婷婷网 | 国产视频一区二区在线观看 | 日韩超碰在线 | 97超碰精品 | 在线精品国产 | 国产成人精品综合久久久久99 | 亚洲无吗视频在线 | 久久精品视频免费播放 | 欧女人精69xxxxxx | 色综合婷婷 | 人人网人人爽 | 欧美精品一区二区在线观看 | 狠狠干狠狠久久 | 久久久免费高清视频 | 97精品超碰一区二区三区 | 91av在| 亚洲免费成人av电影 | 天天干天天干天天操 | 一区二区免费不卡在线 | 国产一级黄色片免费看 | 日韩在线字幕 | 久久久成人精品 | 丁香色婷婷 | 亚洲资源在线网 | 国产精品亚| 成人免费观看在线视频 | 中文在线字幕免费观 | 深夜免费福利网站 | 亚洲欧美日韩国产精品一区午夜 | 狠狠五月婷婷 | 在线亚洲欧美视频 | 韩国av电影网 | 五月婷婷av | 国产精品一区二区久久久 | 夜夜干夜夜 | 国产成人高清 | 国产精品久久久久久久久久久久午 | 免费观看一区二区三区视频 | 亚洲 欧洲av | 网址你懂的在线观看 | 五月婷婷色综合 | 24小时日本在线www免费的 | 亚洲综合成人婷婷小说 | 永久免费的av电影 | 国产一区成人在线 | 国产一级在线观看视频 | 久久激情婷婷 | 成人黄色中文字幕 | 精品国产视频在线观看 | 四虎在线免费 | 欧美一级片免费在线观看 | 蜜臀av一区二区 | 六月丁香色婷婷 | 超碰在线日本 | 丁香网婷婷 | 五月天丁香综合 | 国产1区在线 | 婷婷四房综合激情五月 | 国产人成免费视频 | 色操插 | 黄色免费观看网址 | av在线免费观看不卡 | 国产高清视频 | 在线观看中文字幕网站 | 综合色天天 | 成人午夜电影网 | 日韩av在线一区二区 | 久久久久久久久黄色 | 国产偷v国产偷∨精品视频 在线草 | 国产小视频在线免费观看 | 日韩视频免费 | 黄色小视频在线观看免费 | 中文字字幕在线 | 久久69精品久久久久久久电影好 | 在线观看日韩免费视频 | 国产精品午夜在线 | 日韩免费视频观看 | 亚洲干视频在线观看 | 99久久精品久久亚洲精品 | 91精品国产欧美一区二区 | 99精品久久久久 | 国产日产欧美在线观看 | 久久人人爽人人爽人人片av免费 | 一区二区视频欧美 | 91精品专区 | 精品国产aⅴ麻豆 | 91精品毛片 | 成人一级免费视频 | 精品99久久久久久 | 美女久久 | 成人av观看| 亚洲精品午夜久久久久久久 | 99夜色| 中文字幕免费观看视频 | 国产精品久久久久久69 | 日韩高清www| 国产xxxx性hd极品 | 国产精品国产三级国产aⅴ无密码 | 精品一区二区在线免费观看 | 亚洲欧美日韩国产一区二区 | 黄色最新网址 | 久草在线在线精品观看 | 日本一区二区三区免费看 | 精品国产精品久久 | 91精品国产三级a在线观看 | 91九色视频导航 | 亚洲欧美日韩国产一区二区三区 | 日韩欧美高清不卡 | 国产黄免费| 国语自产偷拍精品视频偷 | 国产精品久久片 | 免费观看的黄色片 | 88av网站| 97视频久久久 | 免费黄色av片 | 天天干天天搞天天射 | 国产999视频 | 亚洲成人家庭影院 | 久久免费国产视频 | 波多野结衣视频一区二区 | 中文字幕 国产精品 | 麻豆精品传媒视频 | www国产一区 | 在线观看av大片 | 日日夜夜91 | 亚洲另类视频在线观看 | 日韩字幕 | 欧美激情综合五月色丁香 | 99精品久久久久久久 | 欧美久久久久久久久久久 | 五月婷婷天堂 | 久久久高清视频 | 亚洲精品男人天堂 | 国产a级片免费观看 | 国产高清成人 | 国产69精品久久久久99尤 | 精品国产精品久久 | 成人午夜电影网站 | 亚洲免费成人 | 五月婷婷在线观看视频 | 99热国产在线 | 91精品免费在线视频 | 精品亚洲男同gayvideo网站 | 国产97色| 在线观看免费黄视频 | 国产精品99蜜臀久久不卡二区 | 色综合色综合色综合 | 久草精品电影 | 免费在线电影网址大全 | 亚洲精品动漫久久久久 | 日本久久电影 | 99精品视频在线观看播放 | 久久九九九九 | 九九久久精品视频 | 91新人在线观看 | 在线播放精品一区二区三区 | 麻豆精品传媒视频 | 国产日韩视频在线 | 精品视频国产一区 | 免费日韩 精品中文字幕视频在线 | 国产精品 国产精品 | 伊人www22综合色 | 很黄很色很污的网站 | 日韩电影中文,亚洲精品乱码 | 国产精品久久一区二区三区不卡 | 香蕉成人在线视频 | 亚洲综合色av | 亚洲精品中文在线 | 国产成人免费观看久久久 | 999免费视频| 91精品久久久久久粉嫩 | 国产亚洲精品久久久久久移动网络 | 中文字幕字幕中文 | 精品国产黄色片 | 久久久久人人 | 久久精品视频2 | 久久激情综合网 | 射射射av | 涩涩成人在线 | 干干日日 | 亚洲国产网址 | 色噜噜日韩精品欧美一区二区 | 日韩影视在线观看 | 久草干 | 精品国产精品一区二区夜夜嗨 | 国产无遮挡猛进猛出免费软件 | 久久免费视频这里只有精品 | 豆豆色资源网xfplay | 三级av免费观看 | 91亚洲夫妻 | av888av.com| 久久综合丁香 | 在线观看精品一区 | 精品福利片 | 精品久久久久久久久久岛国gif | 亚洲精品久久久蜜臀下载官网 | 久久精品久久精品久久 | 久久精品视频99 | 久久 精品一区 | 久久精品永久免费 | 久草精品在线观看 | 日本中文一区二区 | 亚洲狠狠丁香婷婷综合久久久 | 伊人婷婷综合 | 亚洲三级影院 | 国产精品欧美久久久久无广告 | 婷五月天激情 | 久久综合久久综合这里只有精品 | 日韩激情视频 | 亚洲理论电影网 | 日韩欧美视频一区二区 | 97福利| 久久精品日产第一区二区三区乱码 | 久操操 | 国产精品国产亚洲精品看不卡 | 久久久久免费网站 | a黄在线观看| 久草在线最新 | 欧美日韩视频在线观看免费 | 国产99久久久久 | av在线免费播放 | 国产在线观看免费观看 | 香蕉影院在线 | 亚洲精品午夜久久久久久久 | 一区二区精品在线观看 | 91一区一区三区 | 国产精品免费观看国产网曝瓜 | 黄色美女免费网站 | 黄色影院在线免费观看 | 久久精品亚洲精品国产欧美 | 成年人视频在线免费播放 | 国产在线a| 午夜精品视频免费在线观看 | 欧美久久久久久久久久久久 | 91女神的呻吟细腰翘臀美女 | 久草久草久草久草 | 韩国av一区 | 成人app在线播放 | 国产一区二区在线免费视频 | 日韩高清精品免费观看 | 97av视频| 国产在线成人 | 亚洲伦理电影在线 | 久草在线观看视频免费 | 91九色视频网站 | 国产码电影 | 久久精品视频99 | 五月婷婷丁香六月 | 国产精品丝袜久久久久久久不卡 | 狠狠狠色 | 久av在线 | 91热在线| a√资源在线 | 欧美久久久久 | 国内视频在线 | 亚洲精品理论 | 亚洲精品乱码久久久久v最新版 | 久久综合影院 | 人人揉人人揉人人揉人人揉97 | 五月亚洲婷婷 | 日韩精品一区二区三区水蜜桃 | 中日韩免费视频 | 六月久久婷婷 | 久久午夜网 | www.香蕉 | 国产99在线播放 | 久久精品国产美女 | 免费看的黄色 | 久久伊人五月天 | 久久毛片网 | 波多野结衣在线播放一区 | 中文字幕在线观看视频一区二区三区 | 国产精品女同一区二区三区久久夜 | 欧美日韩在线精品一区二区 | 91女人18片女毛片60分钟 | 国产一区二区高清视频 | 欧美日韩在线免费观看视频 | 精品天堂av | 午夜美女视频 | 欧美成人精品欧美一级乱 | 91精品一区在线观看 | 国外成人在线视频网站 | 精品视频中文字幕 | 偷拍区另类综合在线 | 欧美国产日韩一区二区 | 日韩av成人在线观看 | 日韩欧美一二三 | 国产免费观看视频 | 欧美国产日韩一区二区三区 | 国产成人专区 | 久久久久久久久精 | 免费能看的av | 亚洲精品乱码久久久久久写真 | 91丨九色丨91啦蝌蚪老版 | 欧美日韩国产网站 | 国产午夜一级毛片 | 久久久久福利视频 | 亚洲少妇久久 | 99午夜| 91.精品高清在线观看 | 国产视频二区三区 | 午夜国产一区二区 | 99r在线观看| 黄色网大全 | 国产v在线播放 | 美女福利视频一区二区 | 91九色蝌蚪在线 | 日韩av中文在线观看 | 999精品| 日韩在线无 | 在线视频 国产 日韩 | 少妇自拍av | 国语精品久久 | 日韩av一区在线观看 | 国产高清中文字幕 | 亚洲综合激情 | 色久网| 91精品视频免费在线观看 | 激情综合五月天 | 国产精品麻豆三级一区视频 | 日韩免费一级a毛片在线播放一级 | 久久手机在线视频 | 91精品久久香蕉国产线看观看 | 啪啪av在线| 毛片基地黄久久久久久天堂 | 探花在线观看 | 天天射天 | 婷婷色网视频在线播放 | 欧美日韩国产色综合一二三四 | 亚洲手机天堂 | 丰满少妇在线观看资源站 | 黄网站色视频 | 国产精品专区在线观看 | 欧美日韩精品久久久 | 欧美国产日韩在线视频 | 少妇bbbb搡bbbb搡bbbb | 亚洲经典中文字幕 | 免费在线观看av不卡 | 亚洲一区二区三区在线看 | 日韩理论 | 免费色视频网址 | 97视频在线观看视频免费视频 | 色婷婷激情综合 | 992tv又爽又黄的免费视频 | 日韩综合一区二区 | 玖玖在线观看视频 | 亚洲天堂毛片 | 国产亚洲成人精品 | 久久不卡视频 | av福利在线 | 亚洲精品国产欧美在线观看 | 天天干婷婷| 久久国产一区二区 | 午夜精品久久久久 | 国产三级久久久 | 天天玩天天干天天操 | 99久热在线精品视频成人一区 | 又黄又爽免费视频 | 天天操狠狠干 | 亚洲最快最全在线视频 | 日本黄色免费在线 | 婷婷在线网站 | 国产中文字幕在线 | 91尤物在线播放 | 久一久久 | 91精品国产自产老师啪 | 久久国产精品99国产精 | 免费精品在线 | 国产一区二区精品91 | 99热最新精品 | 91精品中文字幕 | 国产视频 久久久 | 久久久精品国产免费观看同学 | 成人av电影在线 | 亚洲精品国产日韩 | 久久婷婷视频 | 91在线视频一区 | 深夜免费小视频 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 99九九99九九九视频精品 | 国产精品女人网站 | 国产精品久久片 | 91成年人网站 | 久久图 | 婷婷丁香色 | 欧美一级片播放 | 日韩成人免费在线观看 | 成人黄色在线观看视频 | 久久国际影院 | 99久久久国产免费 | 久草剧场| 一区 二区 精品 | 91精品在线看 | 国内精品久久久久久久久久清纯 | 免费黄色网址大全 | 日韩欧美视频免费看 | 成人免费视频观看 | 人人爱在线视频 | 久久99亚洲精品久久久久 | 99精品视频在线播放观看 | 在线播放 日韩专区 | bbbbb女女女女女bbbbb国产 | 狠狠操狠狠干天天操 | 欧美日韩中文在线 | 9色在线视频 | 久久一区二 | 精品视频资源站 | 久久久久久久久久久电影 | 日韩在线视频免费播放 | 啪啪免费视频网站 | 国产美女精品视频免费观看 | 少妇视频在线播放 | 久久综合九色欧美综合狠狠 | 亚洲更新最快 | 成人黄色大片网站 | 粉嫩av一区二区三区四区 | 久久久久电影网站 | 欧美天堂视频在线 | 国产美女免费看 | 四虎精品成人免费网站 | 少妇高潮流白浆在线观看 | av三级在线免费观看 | 亚洲精品视频在线看 | 狠狠干夜夜操天天爽 | 国产精品资源网 | 久久精品这里精品 | 久久午夜鲁丝片 | 亚洲精品视频在线播放 | 日韩欧美视频一区二区 | 97小视频 | 久爱综合 | 亚洲色五月 | av免费在线观| 在线免费中文字幕 | 尤物97国产精品久久精品国产 | 午夜aaaa| 麻豆视频入口 | 精品在线你懂的 | 深爱激情站 | 久久开心激情 | 美女久久久| 99成人在线视频 | 欧美午夜精品久久久久久孕妇 | 香蕉久草 | 一本一道久久a久久综合蜜桃 | 国模一区二区三区四区 | 久久精品波多野结衣 | 日日插日日干 | 狠狠色丁香婷婷综合久小说久 | 日夜夜精品视频 | 亚洲综合少妇 | 亚洲午夜精品久久久 | 在线观看的av网站 | 久久精品国产第一区二区三区 | 国产美女久久 | 黄色资源网站 | 一级片黄色片网站 | 一区二区三区日韩视频在线观看 | 日免费视频 | 国产黄大片在线观看 | 国产视频97 | 视频成人永久免费视频 | 在线观看国产v片 | 婷婷色中文 | 亚洲成人蜜桃 | 成人视屏免费看 | 日产av在线播放 | 极品嫩模被强到高潮呻吟91 | 一区二区三区手机在线观看 | 婷婷综合电影 | 在线视频麻豆 | 久久久在线免费观看 | 99久久精品免费看国产 | 精品久久久久亚洲 | 色视频在线免费 | 精品国产综合区久久久久久 | 91av视频网| 色视频在线免费观看 | 欧美激情精品久久久久久免费印度 | 国产精品 日本 | www色综合| 久草在线免费播放 | 一区二区三区四区五区在线视频 | 久久久久久久久久影院 | 免费福利片2019潦草影视午夜 | 91精品视屏 | 手机色站| 欧美日韩三级在线观看 | 日韩成人欧美 | 超碰97中文| 91久久黄色| 国产黄色精品网站 | 国产一区二区日本 | 在线国产欧美 | 缴情综合网五月天 | 国语自产偷拍精品视频偷 | 毛片1000部免费看 | 国产剧情一区 | 国产精品视频app | 免费视频一区 | 中文字幕婷婷 | www.久久久.cum| 中文字幕高清在线播放 | 午夜视频在线观看一区 | 激情网五月婷婷 | 久草在线免费看视频 | 成人av在线直播 | 国产一区成人 | 玖玖在线资源 | 亚洲综合激情网 | 成年人免费电影在线观看 | 狠狠色丁香久久婷婷综 | 中文字幕文字幕一区二区 | 久久久久久久久久亚洲精品 | 久久视频网址 | 国产黄色片免费 | 色视频网址 | 香蕉视频日本 | 日韩亚洲在线视频 | 狠狠色丁香久久婷婷综合丁香 | 久久69av | 精品国产乱码久久久久久三级人 | 成年人在线免费视频观看 | 欧美另类xxxxx | 亚洲国产精品va在线 | 婷婷深爱 | 99这里都是精品 | 欧美国产91 | 全黄网站 | 香蕉影视在线观看 | 国产99久久九九精品免费 | 精品久久精品 | 最近乱久中文字幕 | 日日爱网站 | 日韩av在线免费看 | 黄色网址中文字幕 | 国产香蕉视频 | 99久久精品免费看国产免费软件 | 玖玖在线精品 | 欧美一级免费 | 91激情小视频 | 91福利专区 | 91色一区二区三区 | 天天摸天天舔天天操 | 五月色丁香 | 天天操天天干天天爽 | 久久麻豆视频 | 久久国产经典 | 伊人永久 | 欧美a性 | 狠狠色狠狠色合久久伊人 | 午夜精品视频一区 | 国产区在线看 | 欧美日韩免费一区二区 | 91视频在线免费观看 | 午夜美女视频 | 最近字幕在线观看第一季 | 国产资源网站 | 国产亚洲精品久久网站 | 久久免费国产精品 | 韩国精品福利一区二区三区 | 国产成人精品久久二区二区 |