久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

深入拆解ThreadLocal:線程隔離、弱引用、內存泄漏與OOM排查

深入拆解ThreadLocal:線程隔離、弱引用、內存泄漏與OOM排查 并發(fā)編程系列寫到這一篇前面的內容基本都在圍繞一個詞打轉共享。鎖、原子類、并發(fā)容器本質上都是想讓多個線程更安全、更高效地協作同一份數據。而ThreadLocal的思路是反著來的——既然共享這么容易出問題那干脆每個線程各存一份誰也別碰誰的。這個思路聽著簡單但背后牽扯到弱引用、內存泄漏、線程池上下文傳遞一系列坑值得用一整篇來拆。ThreadLocal解決的是線程隔離問題不是并發(fā)原子性問題搞清楚這一點后面所有原理和實戰(zhàn)姿勢才立得住。這一篇我打算從最經典的SimpleDateFormat翻車現場切入先讓你明白ThreadLocal到底解決了什么問題然后進源碼拆一遍set/get/remove的完整鏈路重點講ThreadLocalMap的哈希設計和弱引用機制接著把內存泄漏的形成鏈路徹底還原說清楚為什么線程池是重災區(qū)再給出實戰(zhàn)層面的使用規(guī)范包括remove的幾種姿勢和上下文封裝思路最后記錄一次線上OOM排查實錄手把手走一遍jmap加MAT的定位流程。適合剛學并發(fā)編程的同學建立正確認知也適合被ThreadLocal泄漏或臟數據坑過的人對照著排查。1. 從SimpleDateFormat翻車現場切入ThreadLocal到底解決了什么問題1.1 SimpleDateFormat在多線程下的崩潰如果你在Java后端寫過日期格式化大概率見過這個經典事故一個SimpleDateFormat實例被多個線程同時調用parse()或format()結果日期串錯位、數字亂掉甚至直接拋NumberFormatException。private static final SimpleDateFormat SDF new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); public String formatDate(Date date) { return SDF.format(date); // 并發(fā)調用時偶發(fā)錯亂 }根因不復雜SimpleDateFormat內部維護了一個Calendar對象format()和parse()過程中要反復讀寫這個共享的Calendar。多個線程同時操作同一份可變狀態(tài)又沒有同步數據被互相覆蓋自然就亂了。你單獨跑單測永遠復現不出來一壓測就現原形。1.2 加鎖、每次新建和ThreadLocal三條路的取舍解決這個線程安全問題通常有三條路。第一條是給format()加synchronized或使用ReentrantLock。這能保證正確性但等于把并發(fā)的日期格式化全部串行化。想象一個支付系統每秒鐘幾千筆訂單都要格式化時間所有請求擠在同一把鎖上性能損耗肉眼可見。第二條是每次調用都new SimpleDateFormat()。這條路避免了共享可變狀態(tài)但頻繁創(chuàng)建對象會增加GC壓力。雖然JIT的逃逸分析在部分場景能把對象優(yōu)化到棧上但依賴編譯器優(yōu)化本身不可靠尤其在對象構造較重、調用頻繁時效果并不穩(wěn)定。第三條就是用ThreadLocal給每個線程緩存一個SimpleDateFormat實例private static final ThreadLocalSimpleDateFormat DATE_FORMAT ThreadLocal.withInitial(() - new SimpleDateFormat(yyyy-MM-dd HH:mm:ss)); public String formatDate(Date date) { return DATE_FORMAT.get().format(date); }每個線程第一次get()時通過withInitial創(chuàng)建自己的實例之后一直復用。線程之間互不干擾不需要加鎖也不存在頻繁創(chuàng)建對象的開銷。這也直接點出了ThreadLocal的核心定位給每個線程一份獨立的私有副本把共享問題轉化成隔離問題。方案是否線程安全并發(fā)度對象創(chuàng)建開銷代碼侵入synchronized加鎖安全低串行無額外對象低每次new實例安全高高依賴GC兜底低ThreadLocal緩存安全高每個線程僅一次中需注意清理1.3 ThreadLocal解決的是線程隔離不是并發(fā)修改不少初學者把ThreadLocal當成線程安全的Map來用這是個危險的誤解。ThreadLocal并不保證你對某個對象內部狀態(tài)的修改是原子的它只是讓每個線程看到不同的對象實例。你往ThreadLocal里放一個共享的ArrayList再讓100個線程同時往這個List里add那該出事還是出事因為List本身還是同一個。所以在實踐中ThreadLocal的典型場景是那種每個線程天然該有一份但又不方便作為參數層層傳遞的東西事務連接、用戶登錄上下文、traceId、請求級別的緩存、框架層面的上下文對象。Spring的RequestContextHolder、MyBatis的SqlSessionTemplate在底層都用ThreadLocal綁定當前線程的資源。理解這點你才不會被后續(xù)的內存泄漏問題帶偏思路——它存儲的本質是線程級上下文而不是并發(fā)安全容器。2. ThreadLocal的源碼級拆解線程本地變量是怎么存進去、取出來的2.1 每個線程都自帶了兩個Map字段很多人以為ThreadLocal是把數據存在ThreadLocal對象里這是錯的。真正存儲數據的地方是Thread類內部的兩個字段threadLocals和inheritableThreadLocals??碕DK源碼里Thread.java的字段定義一目了然ThreadLocal.ThreadLocalMap threadLocals null; ThreadLocal.ThreadLocalMap inheritableThreadLocals null;每個線程對象自帶一個ThreadLocalMap。當你調用ThreadLocal.set(value)的時候本質是把當前線程的threadLocals這個Map取出來往里面塞了一條記錄key是ThreadLocal對象自身value是你傳入的數據。不同ThreadLocal實例就是同一個線程Map里不同的key。所以線程隔離的準確含義是數據分散存儲在各個線程自己的Map里而不是存在ThreadLocal對象上。inheritableThreadLocals則是給子線程用的后面講子線程傳遞時再細說。這里先記住getMap(t)方法本身沒做什么高深的事它就是返回t.threadLocals這個字段。很多人在看源碼時卡在這個方法上其實它就是個訪問器熱詞里那句threadlocal getmap指的就是這一步。ThreadLocalMap getMap(Thread t) { return t.threadLocals; }2.2 set、get、remove的完整調用鏈先看set()在JDK 8里的實現public void set(T value) { Thread t Thread.currentThread(); ThreadLocalMap map getMap(t); if (map ! null) map.set(this, value); else createMap(t, value); }流程很直白拿到當前線程取出它的threadLocals如果Map已經存在就直接往里放不存在就創(chuàng)建一個新Map并塞入第一條記錄。createMap內部會new一個初始容量16的ThreadLocalMap并把當前ThreadLocal和value作為第一個Entry放進去。再看get()public T get() { Thread t Thread.currentThread(); ThreadLocalMap map getMap(t); if (map ! null) { ThreadLocalMap.Entry e map.getEntry(this); if (e ! null) return (T)e.value; } return setInitialValue(); }線程的Map存在并且能找到以當前ThreadLocal為key的Entry就返回里面的value找不到就調用setInitialValue()——它會執(zhí)行initialValue()方法默認返回nullwithInitial就是重寫這個方法把初始值塞進Map再返回。remove()更直接public void remove() { ThreadLocalMap m getMap(Thread.currentThread()); if (m ! null) m.remove(this); }看到這里你應該已經發(fā)現一個關鍵點ThreadLocal的線程隔離能力完全建立在每個Thread對象內部的Map之上。這意味著只要線程還活著它Map里所有的value都不會被自動釋放。這條結論是理解內存泄漏的起點。2.3 哈希散列為什么ThreadLocal敢用線性探測硬扛沖突ThreadLocalMap底層是個Entry數組初始容量16負載因子是2/3。每個ThreadLocal實例在創(chuàng)建時都會通過一個全局的AtomicInteger累加得到一個threadLocalHashCode增量是那個著名的魔數0x61c88647源碼里叫HASH_INCREMENT。private final int threadLocalHashCode nextHashCode(); private static int nextHashCode() { return nextHashCode.getAndAdd(HASH_INCREMENT); }為什么要定這個增量它和黃金分割比例有關對應的是斐波那契散列。簡單說0x61c88647能保證ThreadLocal的哈希值在數組長度是2的冪時均勻地散布在槽位上最大程度避免多個ThreadLocal擠在同一條探測序列上。你不需要深挖數學推導只要記住結論ThreadLocalMap的鑰匙分布是經過精心設計的所以在ThreadLocal數量不多的前提下用開放地址法線性探測解決沖突就夠了不需要像HashMap那樣掛鏈表、轉紅黑樹。定位槽位的語句是這樣的int i key.threadLocalHashCode (table.length - 1);table.length永遠是2的冪所以按位與等價于取模而且比取???。如果槽位被占就往后找空位找的時候如果遇到key為null的過期Entry還會順手做清理。這套機制讓ThreadLocalMap在低沖突場景下性能非常好代價是它不適合存儲大量key——如果你在一個線程里new了幾百個ThreadLocal線性探測的性能就會明顯劣化。這也是為什么實戰(zhàn)規(guī)范里強調能復用的ThreadLocal盡量復用。3. 弱引用不等于安全ThreadLocal內存泄漏的完整鏈路分析3.1 Entry的引用鏈key是弱引用value是強引用先看ThreadLocalMap.Entry的定義static class Entry extends WeakReferenceThreadLocal? { Object value; Entry(ThreadLocal? k, Object v) { super(k); value v; } }注意Entry繼承自WeakReference也就是說Entry本身是個弱引用引用的是key也就是ThreadLocal對象。而value字段是一個普通強引用。整條引用鏈畫出來是這樣Thread 對象 └─ ThreadLocalMap └─ Entry[] └─ Entry (弱引用 - ThreadLocal key) └─ value (強引用 - 你塞進去的數據)弱引用的語義是當GC發(fā)生時如果一個對象只被弱引用指向沒有任何強引用它就會被回收。也就是說ThreadLocal對象一旦在業(yè)務代碼里失去外部強引用比如方法局部變量用完了GC就有資格回收它Entry的key就變成null。這看起來是個保護機制框架不知道業(yè)務什么時候不再需要ThreadLocal所以用弱引用保證ThreadLocal實例本身可以被回收。但value沒有這層保護。value是強引用只要Entry還在value就一直在。而Entry被線程的ThreadLocalMap持有ThreadLocalMap又被線程對象持有。只要線程還活著這條鏈就斷不開。3.2 泄漏的完整形成條件我見過很多人把ThreadLocal內存泄漏簡單歸結為用了弱引用這其實是誤解。弱引用恰恰是為了避免ThreadLocal對象本身泄漏真正的問題出在value的強引用鏈上。一個完整的泄漏需要同時滿足三個條件ThreadLocal對象失去外部強引用。最常見的是在方法內部直接new ThreadLocal()使用方法執(zhí)行完局部變量沒了ThreadLocal實例只剩Entry里的弱引用GC一發(fā)生就被回收。線程是長生命周期的。線程池里的worker線程、Tomcat的請求處理線程都是長期存活的只要線程不死它的ThreadLocalMap就一直在。沒有后續(xù)操作觸發(fā)清理。如果后面再也不碰這個ThreadLocalMap底層的expungeStaleEntry()清理邏輯永遠不會執(zhí)行value就變成永遠無法訪問但一直被強引用的垃圾。典型的業(yè)務場景長這樣public void handleRequest(Request req) { ThreadLocalbyte[] holder new ThreadLocal(); holder.set(new byte[1024 * 1024]); // 1MB // 業(yè)務處理... // 忘記remove方法結束后holder失去外部引用 }如果這個handleRequest被丟進一個線程池執(zhí)行每個請求都new一個ThreadLocal并set入大對象那么每次請求都會在線程的Map里留下一個key為null、value為1MB數組的過期Entry。線程池線程不死這些Entry就永遠躺在那里。QPS稍微高一點內存漲起來非???。3.3 線程池既是泄漏放大器也是臟數據制造機線程池把線程長生命周期這個條件放大了。普通線程執(zhí)行完一個任務就結束整個ThreadLocalMap隨著線程銷毀被回收根本談不上泄漏。但線程池的worker線程是復用的它們一直在等新任務threadLocals這個Map也跟著一直存活。線程池還會帶來第二個問題臟數據串線。假設你寫了一個登錄用戶信息上下文private static ThreadLocalUser currentUser new ThreadLocal();任務A里執(zhí)行了currentUser.set(userA)但忘了remove任務A跑完worker線程回到池子里待命。任務B被分配到同一個worker線程如果任務B的代碼路徑在某個分支沒有主動set用戶信息它currentUser.get()讀到的就是用戶A的信息。輕則業(yè)務數據錯亂重則出現越權訪問。這類問題在代碼Review里很難發(fā)現因為它不是必現的完全取決于線程池把哪個任務分配給哪個worker。所以在線程池場景下ThreadLocal的正確用法不是用完等GC而是用后必須remove甚至要在任務最外層做防御性清理。3.4 ThreadLocalMap的兜底清理機制能救命但不能依賴JDK的設計者當然知道這個坑所以ThreadLocalMap在幾個關鍵操作里內置了清理邏輯set()時如果發(fā)現相同key的Entry會用新值覆蓋并對探測路徑上的過期Entry做清理get()未直接命中時會在getEntryAfterMiss()里線性向后找遇到key為null的Entry會調用expungeStaleEntry()把value置null、槽位置空rehash()時也會先全面清理再擴容。這套機制確實能在很多情況下兜底比如你反復set同一個ThreadLocal舊的過期Entry大概率會被順帶清掉。它的問題是一切清理都必須由后續(xù)的set/get/remove操作觸發(fā)。如果線程執(zhí)行完任務后長時間閑置沒有任何關于這個Map的操作過期Entry就一直靜止在內存里。你指望GC救你但GC根本碰不到value——它有一條完整的強引用鏈。結論很明確底層清理是優(yōu)化不是保障業(yè)務側的remove()才是唯一靠得住的釋放手段。4. 實戰(zhàn)守則如何正確使用ThreadLocal而不埋雷4.1 remove是底線三種清理姿勢先說最基礎的姿勢也是我要求團隊必須遵守的用完之后在finally里remove無論正常返回還是拋出異常都必須執(zhí)行。private static final ThreadLocalString TRACE_ID new ThreadLocal(); public void process() { try { TRACE_ID.set(generateTraceId()); doSomething(); } finally { TRACE_ID.remove(); } }為什么必須在finally而不是在方法末尾因為方法中間拋了異常末尾的remove根本執(zhí)行不到然后殘留值就留在線程里了。線上拋異常是常態(tài)不是意外。很多泄漏就是在某個異常分支里漏掉了清理。第二種姿勢是在框架的攔截器或過濾器中統一清理。以Spring Web應用為例如果你需要請求級的上下文更推薦用HandlerInterceptor的afterCompletion方法public class TraceIdInterceptor implements HandlerInterceptor { Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { TraceContext.clear(); // 內部調用ThreadLocal.remove() } }Filter或者Interceptor的好處是入口和出口都在框架層面業(yè)務代碼不需要在每個方法里try-finally漏清理的概率大大降低。第三種姿勢是封裝成AutoCloseable配合try-with-resources使用public class AutoThreadLocalT extends ThreadLocalT implements AutoCloseable { Override public void close() { remove(); } }這種寫法適合那種只在單個方法里臨時用的場景代碼會更緊湊但我個人更推薦前兩種——因為try-with-resources要求每個用到的代碼塊都正確寫語法而Filter/Interceptor是集中式治理對團隊更友好。4.2 static修飾符到底該不該加這是一個經常被問到的點。結論分兩種情況。如果ThreadLocal是Spring單例Bean的成員變量那實例只有一份ThreadLocal對象長期存活相當于static。這種情況下用不用static修飾影響不大但為了語義清晰統一用private static final。真正危險的是在短生命周期對象里持有ThreadLocal。比如一個每次請求都new的Helper類里面定義了一個實例字段ThreadLocalString holder。Helper對象在請求結束時失去引用ThreadLocal對象也失去強引用GC把這key回收后Map里就剩一個value還在。如果這個請求跑在線程池里下次任務又new一個新的Helper、新的ThreadLocalMap里的過期Entry持續(xù)累積。這種寫法是我在代碼Review里看到最多的隱性雷。所以我的建議是ThreadLocal實例能定義為static final就優(yōu)先static final。它不會讓你少寫remove但能避免ThreadLocal對象本身被GC回收導致value失聯這條更隱蔽的泄漏路徑。4.3 統一封裝上下文工具類把ThreadLocal關進籠子業(yè)務代碼里散落使用ThreadLocal最大的問題不是語法錯誤而是管理混亂。今天你在A服務里set了個用戶ID明天B服務也想用又不好意思改A的代碼于是自己又new了一個ThreadLocal。線程Map里的key越來越多清理也越來越不徹底。我建議每個項目針對線程級上下文做統一封裝。比如這樣一個TraceContextpublic final class TraceContext { private static final ThreadLocalString TRACE_ID new ThreadLocal(); private TraceContext() { } public static void setTraceId(String traceId) { TRACE_ID.set(traceId); } public static String getTraceId() { return TRACE_ID.get(); } public static void clear() { TRACE_ID.remove(); } }然后在整個調用鏈的最外層——Filter、Interceptor、或者異步任務的入口——統一調用setTraceId統一在finally里調用clear。業(yè)務代碼只通過靜態(tài)方法讀寫不需要知道底層的ThreadLocal長什么樣。這樣做還有一個好處以后想換成TransmittableThreadLocal只需要改這一個類不用滿項目找散落的ThreadLocal.set/get。4.4 子線程與線程池的變量傳遞InheritableThreadLocal的局限和TTL的解法很多場景需要把父線程的上下文傳到子線程比如異步任務里記錄traceId。JDK提供的原生方案是InheritableThreadLocal。它的實現原理是父線程創(chuàng)建子線程時把父線程的inheritableThreadLocals里的Entry復制一份給子線程。注意是創(chuàng)建線程那一刻的快照而且這個復制是淺拷貝——如果value是可變對象父子線程持有的是同一個引用并發(fā)修改照樣有競爭問題。InheritableThreadLocal最大的局限在于線程池。線程池的worker線程不是每次任務都新建的它早在提交任務之前就創(chuàng)建好了。父線程想傳值給worker線程根本不觸發(fā)線程創(chuàng)建過程InheritableThreadLocal完全無效。而且即使你第一次提交任務時值傳過去了下次提交新值也不會更新因為worker線程不會再走創(chuàng)建線程復制這條路徑。這個場景下業(yè)界更常用的方案是阿里開源的TransmittableThreadLocal簡稱TTL。它的思路是在任務提交時捕獲當前線程TTL值的快照任務真正執(zhí)行前把快照回放到執(zhí)行線程上執(zhí)行結束后恢復執(zhí)行線程原有的值。使用方式很簡單ExecutorService executor TtlExecutors.getTtlExecutorService(executorService); executor.submit(() - { // 這里能正確讀到提交任務時的上下文 });不引入依賴包的情況下你也可以自己包裝Runnable在run()前后手動set/remove實現思路和TTL一致提交時快照執(zhí)行前回放執(zhí)行后清理。只不過TTL把這個邏輯封裝好了還支持Java Agent方式自動透傳。如果項目里大量使用線程池且需要傳遞traceId、用戶身份這類上下文建議直接把TTL納入基礎設施。5. 一次線上OOM排查實錄如何定位到ThreadLocal泄漏5.1 現象老年代持續(xù)上漲但GC后回不去之前接手過一個異步處理服務現象很典型JVM老年代使用率從啟動后一路爬升Full GC之后也只是從95%降到80%很快又漲回去。接口響應時間越來越長最后每天固定OOM一次只能靠重啟續(xù)命。第一反應肯定是先看GC日志和內存曲線。用jstat看一眼jstat -gcutil pid 1000輸出里重點觀察FGCFull GC次數和O老年代使用率。如果YGC很頻繁、FGC也在持續(xù)增長但老年代使用率始終處于高位說明堆里有大量對象無法被回收。這時候就要考慮是不是有對象被長生命周期對象比如線程、類加載器、緩存持有形成了事實上的泄漏。值得提醒的是不要一看內存高就無腦調-Xmx。調大堆只會推遲OOM時間不會解決問題。正確步驟是把堆dump下來看對象構成。5.2 用jmap導出堆快照再用MAT定位可疑對象低峰期用jmap導出堆快照jmap -dump:live,formatb,fileheap.bin pid注意live參數會先觸發(fā)一次Full GC生產環(huán)境盡量在業(yè)務低谷操作或者改用jcmd pid GC.heap_dump heap.bin。dump文件通常很大本地用MATMemory Analyzer打開。打開后先看Histogram直方圖按retained heap排序。在這個服務里我很快就看到了一個熟悉的自定義類RequestContext有幾萬個實例retained heap占了差不多1GB。這個類為什么會單例持有那么多實例肯定是被某個容器類緩存了。接下來右鍵這個類選擇List objects - with incoming references看看引用它的是什么。你會看到大量引用來自java.lang.ThreadLocal$ThreadLocalMap$Entry這就基本鎖定方向了這些對象都被ThreadLocalMap里的Entry強引用著。5.3 順著GC Roots路徑確認是ThreadLocal鏈確認這一步需要右鍵對象選Path to GC Roots - exclude weak references。如果之前看過一遍ThreadLocal的引用鏈此刻再看這條路徑會非常清晰Thread (worker線程) └─ ThreadLocalMap └─ Entry[ ] └─ Entry └─ value (RequestContext實例)路徑里能看到Thread對象是GC Roots因為線程池里的worker線程都活著正等著新任務。順著路徑往下還會發(fā)現一個關鍵細節(jié)很多Entry的key已經是null了。這說明ThreadLocal對象本身已經被GC回收但value還躺在Entry里。這就是典型的key弱引用被回收、value強引用殘留的泄漏形態(tài)。如果只看Entry數量還不足以定位到代碼就再切到線程棧視圖把目標Thread的線程棧打出來看看這個線程最近在執(zhí)行什么業(yè)務然后回代碼里找這個業(yè)務鏈路上的set()調用。我當時就是從worker線程綁定的任務名一路追到一個公共的異步切面發(fā)現在切面里為了記錄traceId每次請求都new ThreadLocal()set完之后沒有remove方法結束ThreadLocal失去強引用剩下的value就全留在線程池線程的Map里了。5.4 修復與驗證一行remove解決幾百MB內存修復方案很簡單把那個切面里的new ThreadLocal改成靜態(tài)常量并在finally塊里調用remove()。public class AsyncTraceAspect { private static final ThreadLocalString TRACE_ID new ThreadLocal(); public Object around(ProceedingJoinPoint point) throws Throwable { try { TRACE_ID.set(buildTraceId()); return point.proceed(); } finally { TRACE_ID.remove(); } } }改完之后再用jmap導一次堆用MAT對比修復前后的對象數量。最直觀的驗證指標有兩個一是RequestContext的實例數從幾萬降到了和線程數同一量級二是老年代使用率在幾次Full GC后穩(wěn)定在30%左右不再持續(xù)爬坡。這個效果不是靠調參數調出來的是真正把引用鏈斷了。排查過程中還有一個容易忽略的點如果你在MAT里用exclude weak references查不到GC Roots路徑不要慌。key為null的Entry本身已經斷開了對ThreadLocal的引用MAT的弱引用排除規(guī)則可能導致路徑不顯示。這時候換include all references再查或者直接在Dominator Tree里找ThreadLocalMap通常能看到完整的引用鏈。這次排查給我留下的最深印象是ThreadLocal泄漏很少是單個大對象的問題更多是業(yè)務對象被線程池線程長期持有的組合問題。你單看每個對象都不算大但線程池有幾百個線程每個線程攢幾百個過期Entry就是幾百MB甚至上GB的垃圾。它在代碼Review階段極難發(fā)現因為所有set/remove分散在各個方法里沒有一個集中的審視點。這也是為什么我會在前面的實戰(zhàn)部分反復強調統一封裝和攔截器清理——線上少踩一個坑比事后排查輕松太多。最后分享一個我個人的習慣線上服務里如果需要排查ThreadLocal相關的問題除了jmap和MAT也可以用Arthas的watch命令觀察某個上下文類的set和remove調用次數。如果發(fā)現set被瘋狂觸發(fā)但remove幾乎不觸發(fā)那基本不用dump堆也能判斷問題出在哪了。這套組合拳下來ThreadLocal這個線程私有的小籠子在你手里就不再是黑盒了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
4141514逼喷水三级片| 欧美色图综合| 人妻少妇久久久| 中国操逼无码| 精品国产乱码久久久久久久| 欧美亚洲综合999| www.狠狠干.coom | 美女网站黄页| 大香蕉 222| 久久精品国产亚洲AV嘿嘿| 天天爱天天操| 欧美国产操逼| 欧美亚洲宗合色性图| 这里有精品| 国产精品婬乱一级毛片彝族| 亚洲欧洲成人在线电影| 99在线精品视频| 国产熟女二区| 欧美色一二三| 欧美激情久| 爆乳免费黄网站| 国产精品久久久久av| 人妻一二三区| 欧美人与动性人交a| 亚洲性天堂| 人妻娇喘 激情视频| 绑缚麻绳人妻寝取完整版| 欧美亚性天堂| 大香蕉97久久| 色综合中文字幕不卡| 久久这里只精品99re66图| 大香蕉www.超碰| 女色综合| 国产久久久久久| 97操碰| 激情四射五月天| 亚洲永久永久永久永久一级一级一级精品 | 精品一区二区综合熟妇| 成人三级片无码| 国产成人手机视频激情| 操操吧亚洲乱伦视频| a级免费在线观看| 91bbb| 综合第一页| 五十路一区无码| 91亚洲电影| 国产又粗又长视频| 老妇女91| 国产精品免费1区2区视频| 黄片视频观看| 午夜AV人气不卡| 日韩在线一区高清在线| 国产小黄片在线免费观看| 久草视频在线视频在线视频在线观看| 国产91精品福利在线| 性爱乱伦视频免费| 嗯嗯啊在线视频| 超碰公开久久网| 宗合情欲网| 青青三级视频| 日本精品加勒比海一区| 国产女大学生AV| 国产精品com| 美女天天干| 91久久九九精品国产综合| 日日插夜夜| 欧美日韩国产高清在线一二三区 | 国产一区麻豆免费观看| 天天综合网AV91| 国产精品九九| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 94色色电影网| 日本狂喷奶水在线播放212| 国产自产自拍| 99ri视频| 日韩精品99久久久久久中文字幕 | 久久av一级av少妇av高潮| 乱伦AVxx| 少妇三P| 人妻少妇无码| 欧美操逼熟女| 天天添天天干电影| 久九九九九九九九热| 探花视频免费观看国产专区| 蜜臀操逼黄色视频操的好爽| 97视频观看| 天堂在线一区二区| 粉嫩AV一区二区夜夜| 亚洲精品一二牛牛| 亚洲欧洲综合视频在线| 日日骚 av| 日韩精品午夜操呦呦不卡影院| 在线视频亚洲无码| WWW4虎| 99日视频在线免费| 欧美成人四级在线播放| AND人妻系列| 加勒比综合a∨| 日日摸天天爽夜夜欢| 91爆操视频| 欧美色图亚洲色图成人在在线| 亚洲人码13| 东京热男人的天堂| 国产人妻精品久久久一区二区三区 | 密桃99999| 99精品伊人| 九九热三级片| 涩五月婷婷| 国模91| AV乱伦专区| 色噜噜综合在线| 中国熟女91| 99久久精品无码一区二区毛片免费 | 五月香婷婷| 老女人老91妇女老热女| 国内偷自视频区视频综合| 亚洲国男人的天堂| 91精片| 欧美精品第3页| 精品十八在线观看| 大香蕉乱伦视频网| 色婷婷日韩精品一区二区三区| 一级二级三级黑人无码| 婷婷五月天无码| 亚洲av无码成电影在线播放| 美日韩一卡二卡三卡免费人妻精品| 人妻久久| 久久免费中文字幕在线观看| 男人在线天堂| 麻豆AV一区二区| 久久久97| 91撸色网 玖玖网 欧美| 自拍偷拍国产欧美日韩韩| 日本天天吊| 蜜臀99久久| 国产精品情侣啪啪| 中国一级操逼视频| 久久久久人| av凤凰久久久| A片大香蕉在线| 五十路熟女工口| 爱av免费| 国产强奸乱伦第1页| 精品国产乱码久久久久久久久1| 久久久久久九九九| 国模不卡一本二本三电影| 天天操人人操狠狠插| 91人妻久久久久久久久久久久久| 日韩激情中文字幕有码| 国产精品福利视频| 欧美日韩亚洲电影| 色五月婷婷久久| 精品高潮| 久久精品中文| 天天日天天爽| 亚洲精品白浆高清久久久久久 | 亚洲欧洲成人在线电影| 99RE在线视频精品,这里只有精品| 亚洲av国产av综合av卡| 天美麻豆一区二区三区| 久久久久深夜无码| 高清不卡视频| 欧美十八禁网站| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 久热网| 日本天天人人狠狠在线日美女| 国产午夜精品理论片a大结局| 亚洲男人的天堂网| 色精品极品| 天天操夜夜嗨| 中文字幕黄片在线| 国产91 丝袜在线播放 | 午夜精品久久久久久久久久久久久 | 国产午夜视频| 99热9| 香伊人在线| 97久操| 久久久∴| 九九九久千久久激情蜜桃在线看 | 噜噜噜狠狠色综合| 东北丰满熟女国产一区| 性饥渴少妇av无码毛片| 超碰97欧美| 日日碰视频网| 欧美青青视频| 伊人青青一区成人视频在线观看区| 欧美午夜视频精品久久| 国产女s强制榨精视频| 欧美日韩欧美| 97超碰伊人| 妇女视频网站| 三级片大波波| 内射白嫩美女| 日韩影片中文字幕一区二区三区| 120分钟婬片免费看| 欧美顶级黄色大片免费| 思思热免费在线视频| dy888午夜老子影视达达兔 | 在线黄页看毛片| 操逼1区| 国产家庭乱伦性爱视频| 亚洲一区二区三区AV无码| 免费?级毛片无码?∨蜜芽试看| 中文字幕99999| 日韩本不卡视频在线观看 | 亚欧高清| 亚洲黄日韩无码专区| 国产精品精品系列在线观看| 欧美性夜| 毛片久久| 日本一级真人黄色性爱视频| 97视频在线看| 91精品国产91综合久久蜜臀| 亚洲人天堂| 亚洲少妇在线观看| 免费视频一二三区| 26uuu性| 亚洲AV无码AV吞精久久久久| 99操视频| 大香蕉男女超碰精品在线| 色情婷婷| 91激情网| 人妻精品一区一区三区蜜桃91| 久久久免费懂色| 伊人aaa| 91成人久久| 亚洲图片在线| 天天欧美| 免费中文综合精品| AA特级绝黄| 中文字幕亚洲在线一区| 99精品视频在线观看| 天天色综合图片| 天堂岛av| 无码视频一区二区| 亚春色色| 国产精品福利资源在线尤物| 成人av影院在线观看| 无码精品一区二区三区潘金莲| 郑州宾馆老熟女露脸啪啪| 高跟丝袜AV专区国产| 亚洲欧美精品福利在线| 国产女人高潮视频| 伊人伊人LD| 四虎免费视频| 韩国三级一线观看久| 天天艹天天日| 淮穴色AV| 欧美日韩天堂| 亚洲91在线| 制度丝袜99| 色啪网| 欧洲中文字幕| 国产精品久久久久久久久久久久久久吹| 久久久九九九| 在线观看黄色电话| AND人妻系列| 九九九九97| 色噜噜国产精品视频一区二区| 日本一区二区三区免费观看| 五月丁香色色网| 99热精品青草在线 | 操熟女91| 自拍偷拍 日韩无码| 91大学精品激情戏| 一级AAA片一区二区三区| 最新av网站在线观看| www九九热| 动漫区日韩区欧美区| 风韵犹存大大大大香蕉 | 综合欧美日本三级| 日本啊啊啊啊啊视频| 97狠狠| 久久亚洲AV无码专区国产精品| 大奶啊啊好爽| 久9综合在线| 亚洲乱伦图片视频| 天天看片麻豆| 最新岛国大片| 96免费视频在线| 亚洲在线a| 日韩人妻无码专区| 青青草久草AV| 色色色天美视频| 97自拍一区| 精品视频一区二区| 91婷婷伊人狠人| 99re99在线视频| 国产一级作爱毛片| h色99999| 午夜福利精品| 久久久成人免费av电影| 九九探花视频在线观看| 欧美成人国产精品| 中文字幕交换人妻| 亚洲精品 欧美精品| 香蕉热人人精品| 久草在| 国产福利电影| 91热情品| 亚洲综合另类小说色区亚洲成av人片在www | av在线人气| 97超碰欧美| 97天天摸天天碰| 亚洲色宗合| 天天看天天综合成人网| 久久久久久久强迫| 国产熟女二区| 色小视频蜜乳| 精品久久久久综合无码| 一牛影视久久久一区二区三区| 热思思免费视频| 亚洲不卡不卡中文字幕不卡| 欧美性爱日韩高清| 超碰欧美97资源| 久热这里| 国产日韩精品无码去免费专区国产| 高树玛利亚无码流出| 99久久久久久亚洲精品不卡| 亚洲熟久久| 久久精品国产亚洲AV片多多| 日韩本不卡视频在线观看| 免费精品99| 色色毛片| 视频二区熟女人妻| 激情五月综合网| 亚洲国产综合视频| 后入式五六区| 欧美精品在线观看| 欧美性爱中文字幕无线码| 懂色av中文字幕一区二区三区天美| 亚洲欧美国产其他二区| av网站免费看| 97综合久第一页| 欧美日韩丝袜 | 欧美日韩免费专区在线| 人人摸人人摸人人干| 亚洲久久久| 欧美色997| 国产成人自拍视频在线| 精品国模无码| 可乐操亚洲蜜911| 国产AV天美| 国产精品熟女乱伦| 永久免费av无码网站国产app| 中文无线日韩一区| xxx亚洲午夜天堂| 久久香蕉国产线看观看猫咪av| 91老熟妇| 好湿好紧视频| 人人九九精| 久草视频制服诱惑| 99超级碰免费视频| 精品亚洲国产成人av网站| 日日爱99| 中国91AV| 亚洲国产精品久久久久婷婷老年 | 国产一区二区免费福利片| 2020天天色综合| 抽查国产福利主播| 亚欧精品久久久久久久久久久| 强奸乱伦大香蕉| 日本操逼无码| 12一15性XXXX粉嫩国产| 快灬快灬 一下爽蜜桃在线观看| 国产精品久久久久久久久久久久久久久久 | 国产亚洲日韩欧| 99热婷婷一区二区三| 黑人精品久久97| 熟女一区二区| 人人喜人人妻| 久操高青| 亚洲国产一区二区三区在线| 亚洲男人天堂Av| 亚洲九九夜夜| 九九热超碰| 无码伊人久久大杳蕉中文无码| 高清一区AV无码| 大屁股人妻女教师撅着屁股| A 天堂| 日韩啊V| 立川理惠被中出无码| 熟妇一区二区| 亚洲一区二区三区婷婷| 日本综合色图| 国产毛片毛片4p懂色| 欧美96精品在线| 亚洲精品少妇| 人妻一区二区三区视频 | 99久久综合网| 99久久久| 9久超碰| 插入综合网| 91青视频| 日本好吊色视频| 中文字幕伊人| 青青操在线视频| 97日韩超碰超碰中文字幕| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 风韵犹存大大大大香蕉| 人妻精品视频一区二区三区| 人妻一二三区| 99爱爱| 中文字幕一区av| 久久久久性熟视频| 日本孕妇孕交| 97在线视频免费看| 色综合一本| 亚洲精品国产熟女久久久久久| www国产天美久久久| 亚洲AV无码国产精品久久久久 | 色五月第四色| 欧美性少妇| 99re9| 五十路六十路素人熟女| 亚洲欧美精品福利在线| 99国产精品人妻人伦| 97香蕉人人乳| 97网站在线观看| 亚洲精品99999| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 天天爽天天爽| 超碰在97| dy888午夜老子影视达达兔| 国产一级137片内射麻豆| 96久久精品一二三区色欲| 亚洲色吧网| 欧美精品双插| 97chaopengongkai| 精品国产人成在线| 精品国产网站| 黄页网站成人免费| 久久五月天婷婷丁香中文字幕| 日本欧美国内在线| 精久久久91| 久久超碰com| 欧美日韩香蕉| 久久熟女久| 亚洲爽图| 六月婷激情福利天堂69| av草草在线电影| 亚洲性爱乱操x| AV 少妇 人妻 偷拍| av线电影| 一级片在线观看高清无码| 色婷婷五月天| 极品美女嘿咻| 天天色综亚洲91污| 欧洲自拍色图gif在线| 91操熟女| 怡红院视频在线| 91亚洲黄色网| 日韩少妇一区二区三区| 少妇69中文| 精品视频在线观看| 好吊妞转入那个网| 国产嫩草精品A88AV| 欧美综合娱乐久久| 97久久久精品| 草莓精品视频在线免费观看| 丝袜综合色图| 级做a爱无码性色永久免费| 射 色综合| 91五十路| 91蜜臀熟女| 91高潮| 日韩国语字幕| 日产操逼| 久久亚洲天天做| 日韩欧无码一区二区三区免费不卡| 亚洲AV免费在线| 国产一区二区精品久久久不卡蜜臀| 亚洲第2页| 伊人视频| 五月婷婷丁香| 熟女人妻精品一区二区视频 | 欧美96精品在线| 久久人妻视频网| 精品97久久| 黑操B| 永久电影三级在线观看| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 啊啊啊好大好湿| 久久成人国产| 蜜桃午夜视频一区二区| 99热这里只有精品99| 亚洲丝袜少妇在线| 黄色成品网站| 17c在线成人免费A片观看| 日韩人妻精品中文字幕| 天天日B夜夜干B时时操B| 中文字幕日韩情色| 中文字暮97| 一级日本牲交大片好爽在线看| 九草在线大香蕉| 92午夜免费福利视频| 东北老熟女| 亚洲乱色视频一区、二区在线| 99e久久国产精品| 天堂综合| 久久久久久中文字幕中文字幕最新| 中文字幕人妻资源在线| 热久久无毒不卡| 成人在线视频二区| 97人人操人人摸| 夜夜欧美| 综合色拍| 欧美极品少妇交| 精品人妻一区二区视频| 东京热综合久久一区二区| 亚洲综合113页| 女同性恋久久| 亚欧高清| 男人的天堂com| 激情亚洲天堂| 综合色图区| 乳欲人妻办公室奶水| 综合欧美亚洲| 欧洲一区二区三区四区在线观看| 免费的av网| **一级毛片国产| 精品人妻1区| 夜夜欢天天干| 国内外激情在线| 熟妇一区二区三区| 五月丁香久久| 天天操天天舔| 亚洲一曲日韩精品| 福利视频香蕉免费一区二区在线| 2017,超碰| 99黄页网站| 青青草在线视频人人想人人上| 欧美成人一区二区三区在线播放| 狠狠操官网| 青青色在线观看| 欧美97免费| 日本顶级天天操狠狠操夜夜操中文字幕| 中文字幕一区av| 亚洲国产无码精品首页久久久| 精品久久久久久AV无码| 超碰在线一区| 色妇综合网| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 男人综合网| 久久9999| 看看日B真人视频| 老司机久久| 四虎免费看黄| 男人天堂日日夜夜| 男人天堂久久日韩| 91麻豆天美国产| 综合国产97| 久久婷婷国产一区二区色| 五月丁香成人网| 亚洲国产激情国产av| 亚洲欧美日韩精品久| 欧美aa一级片| 精品高清一区二区三区三州| 国产乱伦亚洲| 乱伦图一区| 鸡巴插逼视频| 国产精品岛国片在线观看| 99在线无码精品秘 入口黑人| 亚洲伊人a线观看视频| 日本高清免费一本视频在线观看| 国产亚洲深夜激情| 韩国一级婬片A片无码天美| 日本十八禁免费看污网站| 国产亚洲精品A在线观看下载| 久久在线观看免费视频| 国产v片在线免费观看| 伊人操你| 久久毛卡| 99综合网| 人人妻人人操人人乐| 亚洲综合在线高清| 色哟哟1区2区| 加勒比99999| 亚洲超碰97| 伊人操你| 天天干天天操天天干天天操| 狠狠五月天| 综合日本女人伊人| 亚洲精品美女操逼| 欧美在线亚洲| 69国产对白刺激| 欧美日韩日产免费网站看| 中国一区二区亚洲人妻| 亚洲第一综合| 欧美A√综合网 | 伊人aaa| 日本在线15p| 熟女探花啪啪| 久久性爱大全| 久久一二区四| 亚洲。天堂。日本在线观看| 亚洲丝袜综合| 日韩人妻中文视频| 1956日韩精品| 97超碰色中文字幕| 呦呦一区| www网站黄| 天天拍天| 亚洲色阁| 一级久久性爱视频| 亚洲一二三精品久久网| 激情婷婷丁香网| 亚洲日韩在线a不卡99精品| 看黄片视频免费| 色女女女导航| 久久精品成人| 日韩中文字幕人妻视频| 97天天摸天天碰| 亚州国产成人精品女人久久| 1769一区| 婷婷五月天久久久| 久久伦理视频久久大香蕉视频| 欧洲精品一级二级精品综合视频综合 | 99色在线| 爱丝福利| 欧美综合娱乐久久| 天色综合网| 色九久| 欧美特大黄一级片片免费| 大香伊人在线一区| 色综合加勒比| 99热这里只有精品9| 骚逼自拍99| 自拍偷拍亚洲熟女妇人精品| 极品丝袜无码| 欧美,日韩,中文,另类| 久久伊人亚洲AV无码网站| 欧美后进式| 超碰精品97| av天堂手机版追回 | 免费中文综合精品| 又黄又爽在线观看视频 | 黄页18禁| 精品久久久久久中文字幕视频免费| 国内毛片国产专区二| SS久久| 国产精品ww久久| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 成人一二| 射欧美综合| 熟女激情综合网| 久久9精品视频| 操国产高清| 天天日老熟妇| 免费精品无码一级毛片牛牛影视| 天美传媒国产原创中文字幕亚洲欧美另类| 大香蕉懂9| 黑丝少妇| 亚洲欧美另类激情小说| 国产av青草| 日韩免费高清大片在线| 97天天做| 最新中文字幕精品在线| 99re综合伊人| 97av在线视频| 香蕉人欧美综合| 1024亚洲中文字幕久在线看片你懂的 | 天天综合-91入口| 亚洲欧洲视频小说在线观看| 99精品国产户外露出| 美女97超碰| 欧美日韩在线国产在线| 中文字幕av一区二区三区人妻少妇 | 日韩不卡av一二三| 亚洲资源一区| 中文字幕加勒比海高清无码免费视频| 精品成人无码| 一本色道久久综合狠狠操| 日韩成人免费电影| 亚洲学生妹高清av| 欧洲与亚洲欧美精品中文字幕| 色欲天天综合网| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 热天堂一区二区| 日本性爱欧美性爱| 五十路成人在线视频二区三区| 99超级碰免费视频| 97超碰色| 久久久一区二区| 国产欧美伊人| 黄骗免费| 久久狠狠色噜噜狠狠狠狠97| 97丝袜亚洲在线播放| 大香蕉乱伦视频网| 久久av无码| 97在线亚洲| 人妻出轨一区二区三区| 人妻熟女av国产网站| 亚洲av噜噜噜噜噜噜| 97欧美色综合| 中文字幕片| 啊v视频在线观看| 黄人人操人人操| 超碰久超碰久| 99re99视频在线免费观看| 人妻久久久| 无码高清国产AV| 久久人妻| 国产又粗又长的视频| 日韩精品人妻中文字幕久久久| 大香蕉九九| 精品久久久久久中文| 校园春色 欧美| 97 国产精品| 九九九影院| 亚州操操穴网| 开心五月天激情网| 中文字幕亚韩| 久操com| 无码久久亚洲高清,| 老熟女天天操| 欧美性Fer办公室秘书| 天堂国产AV| 玖色AV| 狠狠操狠狠| 成人日本视频人妻在线| 高清无码一区二区三区| 九九九精品| 天天干人人乐| 青青草五月份天| 超碰到97情色| 综合97久久| 大香蕉青青9| 高潮综合网| 熟女自慰久久久| 亚洲男人的天堂V| 无码欧美有限公司| 久久婷婷国产一区二区色| 丁香五月社区| 啊啊啊啊嗯嗯嗯用力好爽 | 极品色社| 97人妻色| 久久啊哟| 一区麻豆 高清中文字幕| 一区黄二区黄| 成人女人国产| 日本99一区二区| 四虎国产成人精品免费一女五男| 韩日男人的天堂| 欧美色66| 校园春色亚洲无码| 色香综合天天影视综合 | 97超碰护士| 伊人天天久久动态图| 97综合久久| 超碰免费人妻人人| 亚洲国产av中文字幕久久 | 欧美性爱一区| 青木玲在线不卡| 青青草国产一区二区三区| 熟女高潮精品一区二区| 中国熟妇| 久久国产在线一区二区| 国内偷自视频区视频综合 | 亚洲成人色情五月天丁香花| 日韩不卡网操逼中文字幕日韩| 精品人妻一区二区三区视频| 校园春色家庭伦理欧美激情| 日本幼女18+| 夜色91| 7777奇米影视久久| 日韩成人大片在线观看| 熟妇熟女视频一区二区三区| 亭亭丁香激情| 国产精品午夜福利视频| 97超碰精品图片| 国产操逼网站亚洲一级黄色| 日韩国产不卡在线视频| 亚洲免费人妻在| 青青草九九九九九| 福利一级版子| 97国产精品一区| 色视频蜜乳| 精品区国产区一区二区三区| 大香蕉97久久| 亚洲国产青青| 囯产精品久久久久久久久久二区三区| 免费观看网黄| 久久女婷| 9999亚洲电影| 自拍六区| av在线一区二区三区| 99∨VTV| 亚洲成人妻日韩在线| 农村少妇久久久久久久| 国产黄色在线播放观看| 婷婷香蕉| 色色综合97| 亚洲精品人体| 丰满人妻一区二区三区大胸懂色 | 精品一级毛片在线观看| 老司机射| 9 7超碰在线免费观看| 欧成人在线| 人妻无一区二区三区| 久久XX| 素人无码中文字幕| 日本一级真人黄色性爱视频| 色综合网1| 国产白领连续中出在线播放| 好色综合| 欧美操逼一二三区| 少妇久久久免费| 吖在线不卡一区二区国产剧情| 丝袜 亚洲 偷拍| 在线观看啊啊啊啊啊| 成在线人在线观看视频| 丰满少妇一区二区三区专区| 亚洲无码一区成人免费午夜| 无码乱人伦中文视频| 亚州人妻| 日本操逼aaaaa| 九九热九九热| 男人天堂新在线| 欧美丰满熟妇XXXX性ppX人交| 日本五十路在线| www.久久制服糖| 色婷婷在线视频精品导航| 九热中文字幕| 女优免费一区二区永久| 日韩天天综合| 欧美一级黄色18片免费看| 欧美日韩青操| 亚洲第一狼人丝袜美女另类 | 无码天堂| 久操B网| 九九九久久久| 偷拍欧美激情| 百度百度日本操逼| 天天干天天日天天射黄色| 中国特猛少妇色xxx| 五月丁香啪啪网| 日本韩国五十路六十路七十路老熟女作爱视频网站| 国产亚洲中文不卡二区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 亚洲在钱| 久久久九九网站| 伊人宅男大香蕉 | 国产99999| 九九九午夜| 国产午夜精品理论片一二三区区| 久久久久久性爱视频| 高清国产无码av| 欧美色日本| 欧美强奸乱| 天天躁日日躁狠狠狠躁| 欧美视频在线第3页| 国产福利精品98视频| 四季AV综合网址| 日本一级婬片试看三分钟| 精品综合久久久久久97| 五月丁香啪啪网| 性色亚洲| 色 亚洲 91| 精品亚洲国产成人AV制服丝袜 | 香蕉热人人精品| 国产精品视频在线播放| 日韩中文字幕视频在线观看| 91欧美网| 天天干天天日天天射黄色片| 逼逼逼逼操操操操操操操操操午夜剧场| AV男人天堂网| 伊人成人中文字幕久久网| 精品无码秘 人妻一区二区| 大香蕉在线免| 欧美黄片视频在线观看免费| 啪啪综合网| 青青伊人久久| 黄污污污污| 免费av在线播放二区| 韩日自拍| 91N五十路| 在线国产一区二区av| 69一区二区| 热热色色综合| 97人肏| 亚洲黄色a级片| 亚洲色人| 亚洲情色综合网| 久久发布国产伦子伦精品| 国产自产一区视频在线| 国产AV中文| 97丝袜亚洲在线播放| av中文字幕在线熟女| 国产亚洲精品农村妇女| 精品国产AV一区天美传媒| 国产精品天干天干综合网麻豆| 婷婷精品| 97人人操人人摸人人爱| 欧美精品三区| 97久操| 国产1727欧美| 99.色网| 伊人久久婷婷| 日本高清_区二区三区| 五月婷亚洲精品天堂| 欧美高清在线| 丁香婷婷激情五月天无毒不卡| 色情成人五月天| 黄色大香焦1级‘′‘| 在线αⅴ| 啊啊啊无码| 婷婷精品久久av影视| 都市激情人妻一区二区青青操视频| 东京热男人的天堂网| 亚洲无码久久久久久久| 中文字幕日韩电影人妻| 久久这里只有精品9| 桑老女人九区| 啊啊啊啊好疼视频| 亚州色图欧美| 亚洲狼狼干综合1| 色av中文字| 色婷婷在线视频| 欧美啪啪女女| 欧美黄片欧美黄片xxx| 乱伦a片视频| 欧美爱三级日韩久久| 手机看片91人妻| 亚洲色婷婷久久久综合日本| 亚洲欧洲日韩中文字幕一区| 欧美性五月| 亚洲影视高清第一页| 欧美大色交| 制服中出中文人人精品| 欧美在线l亚洲| 97超碰巨乳| 老女人老91妇女老热女| 伊人操操| 综合视频91| 久久综合av| 国产精品第一页国产大屁股视频免费区i| 骚熟女吞| 2017超碰| 殴美色网| 91一区二匹| 中文操逼字幕| 欧美日韩性爱电影在线| 一级特黄aaa大片在线观看成人一级片在线观看 | 色黄污美女啪啪啪免费网站| 日本熟女不卡视频| 91香蕉视频在线观看免费| 黄色片,com| 综合欧美日韩在线观看| 欧美日韩岛国大片在线观看| 去干网最新版| 男人兔费天堂| 日产中文字幕2020| 国产精品久久久999| 长久操视频| 欧美丝袜中文字幕07在线| 久草免费在线视频| 家庭乱伦麻豆| 成人麻豆av电影网站| 蜜乳性色无码专日粉嫩骚逼AV| 欧美一级黄片免费播放| 婷婷激情五月| 91天天综合网,天天综合网| 97在线无精品| 男人天堂毛片| 欧美成人一级麻豆| AAAAAAAAA黄片| 99自拍视频| 欧美高清性猛交| 香蕉色网| 综合久久9| a一区二区三区乱码在线| 精品伊人久久久大香线蕉小说| 久久人人看| 人妻出轨一区二区三区| 久久精品视| 干少妇视频| 国产熟女完整版中字| 欧美婷婷| 97干天天| 另类欧美色| av绯色| 天天色香欲综合网| 亚洲污污网站| 国产伦精品| 在线国产福利网址导航| 欧美男人一区| 97精品在线| 人人操人人93| 亚洲日韩精品在线播放| 熟啊v色欧美热| 精品人妻久久久| 欧美国产欧美在线观看| 亚洲天堂男人在线| 人妻天天爽| 久久精品国产Aⅴ| 亚洲AV无码成人精品久久| 91最新综合| 日本不卡一二区| 黄页视频网站野外| 一区二区三区四区五区高清无码永久视频| 本道在线| 色色网91| 久久久久久亚洲精品中文字幕人妻| 夜夜做夜夜爽精品视频| 婷婷五月天AV| 久久原创中文| 樱花蜜乳av| 蜜桃久久久久久久| 97超碰9| 国产自偷自拍一区| 99re热| 欧美日韩不卡a片| 久久9亚洲| 免费试看60秒| 高清无码网址| 9久9久| 国产又粗又长又爽又色| 欧美少妇高潮久久91| 日本成人免费一区二区三区| 懂色AV一区二区三区| 久久婷婷一区| 91人人臊| 日韩专区久久久| 亚洲国产成人精品无码专区| 歐美性天天| 91av一区二区在线观看| 日本免费一区二| 日韩在线国产字幕| 国内91熟女人妻丝袜天天精品视频在线| 91天美免费| 97人人模人人爽人人| 国产精品午夜精品| 欧美人人AAA| 97中文综合| 亚洲久热| 热99re69精品8在线播放| 伊人AAA| 欧美色图第一页| 超碰三级秋霞| 超碰欧美| 日韩AV一区二区三区三州三州| 2024年最新色情网站在线观看| 麻豆黄色五月天| 中文字幕一区二区三区视频播放| 国产精品九九九| 欧美久久婷| 少妇熟女1区2区3区| 99999精品成人| 一级@啪啪视频| 亚洲天天影视色综合| 国产第25页在线观看| 蜜桃午夜视频一区二区| 91chinese在线| 97视频在线播放| AV一二区| 欧美操逼熟女| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 久久这里都是精品| 青青青国产手线观看视频2| 国产盗摄美女如厕大神作品在线观看| 在线观看免费视频国产| 大屁股熟女一区二区三区| 在线99热| 91欧洲国产成人久久精品网站| 97这里都是精品| 国产福利小视频高清在线观看| 亚洲少妇综合| 中文字幕视频一区视频二区| 欧美黄色大片在线观看 | 一区操逼日比视频| 欧美自拍网| 麻豆久久久久久久久丝袜 | 欧美大色交| 99热精品在线在线| PMv在线观看| julia ann久久| 吻戏激情性巴克| 欧美性爱第一区| 91熟女丨老女人| 最新精品久久蜜桃| 大香蕉乱伦视频网| 中文字幕精品免费一区二区| 欧美激情精品久久久| 丝袜熟女2P| 成人午夜小视频手机在线看| 91丝袜视频在线观看| 成人热久久精品| www久| ji熟女.com| 亚洲 在线| A一级色女| 伊人大香蕉在线| av资源在线播放天堂| 亚洲āv网址在线观看| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 久久女人视频| 欧美一区二区三区日韩| 欧美一区二区男人天堂| 福利五区| 欧美中字二区| 久7色| 91精品丝袜久久久久久| 欧美精品一区二区少妇免费A片| 欧美熟妇精品黑人巨大91| 欧美日韩青操| 日本不卡三级网在线播放| 久久久久国产无av| 五月婷婷六月丁香网址| 在线亚洲欧美| 国产美女自拍视频| 超碰在线1234区| oumeizonghese,www| 国产在线76页| 国产无马av| 国产麻豆福利av在线播放| 69视频入口| 日韩色香| 9久久久久久| 91模特在线观看| 国产精彩女在线观看视频| 欧美五区| 日韩影片中文字幕一区二区三区| 婷婷99| 日本久久精品| 国产日韩欧美三级片| 人妻在线视频| 夜夜影视四色| 亚洲最新av无码成人精品区 | 亚洲色图欧美另类在线| 亚洲欧美性生活| 按摩中文字幕| 熟妇高潮一区二区免费视频| 丁香激情网| 95人妻爽爽人人做人人澡| 91超级碰| 丁香六月婷婷久久综合| 巨爆乳肉感一区二区三区竹菊影视| 亚洲乱码国产乱码精网站| 欧美亚洲色图另类国产| 国产成人自拍视频视频| 俄罗斯一区二区视频在线观看| 色网站导航大全| 久久在线观看免费视频| 久久国产在线一区二区| 韩国三级一线观看久| 秋霞一集毛片观看| 国产一区二区免费福利片| 操逼视频国产无套| 18啪啪手机免费性爱| 欧美激情性爱视频网站| 另类小说综合网| 草草影院日本第一页| 韩日性爱av| 日韩不卡a级视频专区| 国产精品亚洲一区二区三区四区| 日本网色| 精品区9| 亚洲国产综合久久久性感熟妇| 91色爽欧美|