亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

ThreadLocal源碼級拆解:線程隔離、內(nèi)存泄漏與線程池實(shí)戰(zhàn)規(guī)范

ThreadLocal源碼級拆解:線程隔離、內(nèi)存泄漏與線程池實(shí)戰(zhàn)規(guī)范 ThreadLocal這個東西我一開始接觸的時候覺得它不過就是個線程隔離的變量盒子直到線上出現(xiàn)了用戶數(shù)據(jù)串號的故障我才把這玩意兒從源碼到實(shí)戰(zhàn)徹底翻了個底朝天。排查那次故障時我點(diǎn)開線程棧去看ThreadLocal.getMap到底返回了什么才發(fā)現(xiàn)問題遠(yuǎn)比想象中隱蔽。如果你在做Java后端開發(fā)尤其是寫完接口要處理并發(fā)、線程池、鏈路追蹤這些場景ThreadLocal絕對值得你花一天時間把它吃透。這篇文章我會把getMap背后的設(shè)計、內(nèi)存泄漏的坑、線程池下的實(shí)戰(zhàn)規(guī)范全部拆開講全部來自我真實(shí)排查和重構(gòu)代碼時積累的經(jīng)驗(yàn)。1. ThreadLocal到底是什么從一次線上問題說起1.1 共享變量為什么出問題先說那次線上事故。我們有一個報表服務(wù)每個用戶請求進(jìn)來之后攔截器會往ThreadLocal里塞當(dāng)前用戶的信息方便后續(xù)Service層隨時取用。上線一周后客服反饋用戶A登錄后看到了用戶B的訂單數(shù)據(jù)。這種情況屬于典型的用戶數(shù)據(jù)串號是并發(fā)場景下共享變量引發(fā)的隱性故障。裸用static變量肯定出事因?yàn)樗芯€程共享同一份內(nèi)存。局部變量又沒法在調(diào)用鏈里往下傳總不能每個方法都加一個參數(shù)帶上userId。那時候我們用的是ThreadLocal.set(userId)看起來隔離了但為什么還是串號呢因?yàn)榉?wù)器用線程池處理請求線程在處理完用戶A請求后不會銷毀而是被放回池里復(fù)用。如果下一次用戶B的請求被分配到同一個線程而ThreadLocal里的userId沒有清理B拿到的是A的殘留數(shù)據(jù)。這個案例引出了ThreadLocal的兩面性它確實(shí)能做線程隔離但如果不理解它的生命周期反而會制造地獄級Bug。1.2 ThreadLocal的解決思路與生活類比ThreadLocal的名字有點(diǎn)誤導(dǎo)直譯是“線程本地”但它本身不是線程它是存放在線程對象上的一個盒子。每個線程內(nèi)部都有一個獨(dú)立的Map叫ThreadLocalMapThreadLocal對象只是這個Map的key。當(dāng)你調(diào)用threadLocal.set(value)實(shí)際動作是把value放到當(dāng)前線程的Map里調(diào)用threadLocal.get()就是從當(dāng)前線程的Map里取出對應(yīng)key的value。我習(xí)慣用一個類比公司有一排儲物柜每個柜子對應(yīng)一個員工。員工往柜子里放私人物品別人看不到也拿不到。ThreadLocal就是那把刻著編號的鑰匙每個員工線程用自己的鑰匙打開自己的柜子存取東西。你絕不會因?yàn)槟缅e了鑰匙而打開別人的柜子因?yàn)楣褡颖旧砭玩i在員工的工位號上。這個設(shè)計解決的核心痛點(diǎn)只有一個讓同一份數(shù)據(jù)在同一個線程的整個執(zhí)行鏈路里可以被隨時訪問同時不被其他線程污染。注意“同一個線程”這句話它是后續(xù)所有原理和坑的基石。1.3 核心API與基礎(chǔ)用法ThreadLocal的API非常少就四個常用方法set(T value)把值寫入當(dāng)前線程的ThreadLocalMap中。get()從當(dāng)前線程的ThreadLocalMap讀取值如果key不存在或已過期會返回初始值。remove()把當(dāng)前線程ThreadLocalMap中對應(yīng)的key刪掉。withInitial(Supplier? extends S supplier)創(chuàng)建時指定初始值用lambda比重寫initialValue()更簡潔。// 最簡單的用法 public class UserContext { private static final ThreadLocalLong CURRENT_USER_ID new ThreadLocal(); public static void setUserId(Long userId) { CURRENT_USER_ID.set(userId); } public static Long getUserId() { return CURRENT_USER_ID.get(); } public static void clear() { CURRENT_USER_ID.remove(); } }注意set和get是實(shí)例方法但所有線程共享同一個ThreadLocal實(shí)例。同一個實(shí)例在不同線程里會映射到各自的ThreadLocalMap的獨(dú)立條目所以天然隔離。新手容易誤以為new ThreadLocal()就自動隔離了實(shí)際上隔離的是“訪問行為”不是“對象本身”。2. 源碼級拆解getMap方法背后的秘密2.1 ThreadLocalMap的數(shù)據(jù)結(jié)構(gòu)很多看源碼的人一開始都會卡在ThreadLocalMap上因?yàn)樗皇且粋€普通的HashMap而是一個自定義的靜態(tài)內(nèi)部類。它內(nèi)部維護(hù)了一個Entry數(shù)組Entry的key就是ThreadLocal對象value就是線程需要的值。關(guān)鍵代碼在Thread類里// Thread類內(nèi)部 ThreadLocal.ThreadLocalMap threadLocals null;每個Thread對象都持有這樣一個Map字段。而ThreadLocal.getMap(Thread t)就是把這個字段取出來// ThreadLocal類內(nèi)部 ThreadLocalMap getMap(Thread t) { return t.threadLocals; }這個方法就一行但它是理解ThreadLocal的鑰匙。因?yàn)閟et、get、remove所有操作的第一步都是先拿到getMap(currentThread)如果Map為空就創(chuàng)建并初始化。所以當(dāng)你使用ThreadLocal時實(shí)際上是在操作當(dāng)前線程對象里的一個Map字段而不是在操作ThreadLocal本身。ThreadLocalMap內(nèi)部為什么不直接復(fù)用HashMap因?yàn)樗鲆患绿綔y式清理過期Entry并且key需要專門用一個繼承WeakReference的內(nèi)部類來包裝。這兩個機(jī)制是專門為內(nèi)存生命周期設(shè)計的后面展開講。2.2 get() 與 set() 的完整鏈路看get方法的源碼public T get() { Thread t Thread.currentThread(); ThreadLocalMap map getMap(t); if (map ! null) { ThreadLocalMap.Entry e map.getEntry(this); if (e ! null) { SuppressWarnings(unchecked) T result (T)e.value; return result; } } return setInitialValue(); }流程很清楚拿到當(dāng)前線程。通過getMap(t)獲取當(dāng)前線程的ThreadLocalMap。如果Map不為空用當(dāng)前ThreadLocal實(shí)例作為key調(diào)用getEntry(this)查Entry。如果Entry存在直接返回value。如果Map為空或Entry不存在調(diào)用setInitialValue()設(shè)置初始值。getEntry(this)不是簡單的數(shù)組按下標(biāo)取值它先根據(jù)ThreadLocal對象的哈希值定位到數(shù)組下標(biāo)如果該下標(biāo)上的Entry是當(dāng)前ThreadLocal直接返回否則會從該下標(biāo)繼續(xù)向后遍歷尋找相同的key遇到Entry的key為null表示已過期時會調(diào)用expungeStaleEntry做清理。這是get操作會觸發(fā)清理的原因之一。set方法同樣先拿到getMap(t)public void set(T value) { Thread t Thread.currentThread(); ThreadLocalMap map getMap(t); if (map ! null) { map.set(this, value); } else { createMap(t, value); } }如果當(dāng)前線程從沒用過ThreadLocalgetMap返回null就會走createMap。createMap其實(shí)就是new ThreadLocalMap(this, firstValue)這個構(gòu)造器會初始化一個默認(rèn)大小16的Entry數(shù)組并設(shè)置閾值。注意一點(diǎn)set方法找到相同key時只覆蓋value如果key相同但value是null也會正常覆蓋不會觸發(fā)清理。只有key已經(jīng)是null的過期Entry才在set時被探測清理。2.3 為什么ThreadLocal的key是弱引用Entry的聲明長這樣static class Entry extends WeakReferenceThreadLocal? { Object value; Entry(ThreadLocal? k, Object v) { super(k); value v; } }key被包裝在WeakReference里ThreadLocal對象的強(qiáng)引用鏈斷掉后key就不會阻止GC回收。這是設(shè)計上最重要的決策。我打個比方ThreadLocalMap的Entry鑰匙是弱引用鎖柜子里的物品是強(qiáng)引用。如果ThreadLocal這個鑰匙在外面沒人拿著了Java隨手會把鑰匙收走但柜子里的物品還在這就產(chǎn)生了“鑰匙空位但值占位”的過期Entry。如果不清理這個物品就一直占著線程里的內(nèi)存。弱引用本身不是目的真正的目的是配合清理機(jī)制避免更嚴(yán)重的泄漏。但弱引用也讓過期Entry的識別變得容易key為null的Entry就是已回收鑰匙的殘留物。如果沒有弱引用而用強(qiáng)引用哪怕業(yè)務(wù)代碼里已經(jīng)把ThreadLocal對象設(shè)成null了Map里還牢牢握著key線程不被回收那它就一直在清理機(jī)制也無從下手。2.4 初始容量與閾值計算ThreadLocalMap的初始容量是16閾值是容量乘2除以3。這個0.66的負(fù)載因子比HashMap的0.75小是因?yàn)門hreadLocalMap的probe探測是線性尋址越早擴(kuò)容越能減少沖突和過期Entry堆積。在set過程中當(dāng)數(shù)組的size超過閾值時會執(zhí)行rehash()。rehash會先做一輪全量清理把所有過期Entry刪掉如果刪完之后size仍然超過閾值減閾值/4就擴(kuò)容。擴(kuò)容時容量翻倍并對所有Entry重新計算下標(biāo)。這里下標(biāo)不是普通的hash取模而是根據(jù)ThreadLocal的threadLocalHashCode位運(yùn)算得到的private final int threadLocalHashCode nextHashCode(); private static AtomicInteger nextHashCode new AtomicInteger(); private static final int HASH_INCREMENT 0x61c88647;0x61c88647是斐波那契散列的黃金分割數(shù)它能讓ThreadLocal哈希碼在數(shù)組長度取模后的分布比較均勻避免rehash和探測鏈過長。這個細(xì)節(jié)知道即可面試會加分但實(shí)戰(zhàn)中不需要重寫。3. 內(nèi)存泄漏與ThreadLocalMap的探針清理機(jī)制3.1 內(nèi)存泄漏場景重現(xiàn)很多人一提ThreadLocal就說“會內(nèi)存泄漏”這話只說對了一半。嚴(yán)格說ThreadLocal本身不會必然泄漏關(guān)鍵在于“Thread對象長命而ThreadLocal對象短命”的組合。出一個最經(jīng)典的場景你寫了一個靜態(tài)的ThreadLocal變量在線程里set了一個大對象比如幾十MB的List但用完后既沒有remove也沒法讓ThreadLocal對象被回收因?yàn)殪o態(tài)變量一直持有著它的強(qiáng)引用。線程回收到線程池后這個線程繼續(xù)生存于是它Map里的過期Entry就牢牢拽著哪個大對象。線程池里幾百個線程每個都?xì)埩魩资甅BOOM分分鐘的事。更隱蔽的是Tomcat這類Servlet容器它們默認(rèn)也會用線程池處理請求而且會根據(jù)并發(fā)量調(diào)整線程數(shù)量。線程不消亡ThreadLocalMap里的殘留值就一直占用堆內(nèi)存。3.2 expungeStaleEntry探測清理JDK在設(shè)計時已經(jīng)考慮了這種風(fēng)險所以提供了“探測式清理”的兜底。核心方法就是expungeStaleEntry(int staleSlot)。它做三件事把staleSlot位置上的Entry的value置為null并把這個位置清空。從staleSlot的下一個位置開始遍歷數(shù)組直到遇到null槽位。在遍歷過程中如果遇到Entry的key為null同樣釋放value并清空位置這叫連續(xù)清理如果Entry的key不為null會重新計算它的哈希下標(biāo)如果下標(biāo)和當(dāng)前槽位不一致就挪到更近的、更合適的空位這本質(zhì)是一次就地rehash。這個清理動作不是全表掃描整個Map而是從過期位置開始向后探測到第一個空槽為止。這樣在元素不多時清理成本可控。get和set方法里遇到過期Entry時都會觸發(fā)這個清理。還有一處叫cleanSomeSlots在每次插入或者替換value時對數(shù)級別的遍歷一些槽位來掃描過期Entry。這些機(jī)制合起來就是盡量降低過期Entry對內(nèi)存的長期占用。但它們都不是交易性的替代品只是“盡力而為”的清理。3.3 線程池復(fù)用場景下的致命坑線程池復(fù)用時線程本體存活期可能覆蓋幾十上百個業(yè)務(wù)請求。假如業(yè)務(wù)代碼里每個請求都set了一個新對象但不remove下一次請求復(fù)用這條線程時如果ThreadLocal實(shí)例是同一個靜態(tài)變量set會覆蓋舊value不會累積但如果你每次動態(tài)new ThreadLocal()只在一個請求里使用那這個ThreadLocal對象沒有外部強(qiáng)引用key變成nullvalue就殘留了。即使不new新ThreadLocal如果value是那種重型的、帶有連接資源或緩存內(nèi)容的引用舊的value被新value覆蓋前依然活著直到下一次set觸發(fā)覆蓋和清理路徑覆蓋本身其實(shí)沒問題問題在于生命周期被無謂拉長。我見過一個最典型的錯誤寫法是在RPC框架里用ThreadLocal存儲請求上下文代碼長這樣RequestContext context new RequestContext(); context.setTraceId(traceId); CONTEXT_THREAD_LOCAL.set(context); // 調(diào)服務(wù) Object result rpcService.call(); // 忘記remove這個RPC線程如果來自公共線程池traceId和整個請求上下文就會泄漏給下一個被復(fù)用同一個線程的請求。輕則日志串traceId重則權(quán)限上下文套用用戶數(shù)據(jù)串號。線程池場景下必須在finally里remove。正確模板try { contextHolder.set(userContext); doBiz(); } finally { contextHolder.remove(); }永遠(yuǎn)不要把清理動作放在try之外也不要放在if分支里。finally是唯一可靠的位置。4. 實(shí)戰(zhàn)業(yè)務(wù)系統(tǒng)中的ThreadLocal使用規(guī)范4.1 上下文信息透傳userId、traceId最常見的場景就是登錄態(tài)和鏈路追蹤。我在項目里通常封裝兩個獨(dú)立的上下文工具類一個存用戶身份一個存鏈路日志信息。用戶身份上下文的實(shí)現(xiàn)要格外謹(jǐn)慎因?yàn)樗婕皺?quán)限。我不建議直接把整個用戶對象塞進(jìn)去更建議只塞userId或userIdtenantId。對象塞進(jìn)去雖然方便但也會帶來兩個問題一是對象體積大殘留內(nèi)存更明顯二是如果對象里還掛著一堆懶加載的數(shù)據(jù)庫代理對象線程池場景下可能在讀的時候拋異常。鏈路追蹤的traceId也推薦用ThreadLocal因?yàn)橐粋€請求在同一個線程內(nèi)的所有日志關(guān)鍵字段都可以通過MDC切面自動注入。Spring Boot下用logback的MDC時底層就是ThreadLocalMap。如果不用MDC而是自己寫traceId透傳同樣要小心線程池場景下的隔離問題。4.2 線程池場景下必須remove嗎遇到“必須”兩個字我的回答是并不是所有情況下都必須要remove只要你的ThreadLocal的key是全局靜態(tài)的并且value可以被覆蓋不remove在大多數(shù)業(yè)務(wù)場景不會產(chǎn)生串號。比如只存一個當(dāng)前線程生成的隨機(jī)批次號下一個請求進(jìn)來set覆蓋了舊值舊值在覆蓋時被回收從功能層面看不出問題。但這樣寫等于把正確性押注在了“下一次一定會有set”這個假設(shè)上。如果代碼里有些分支根本不set,直接get那就會讀到上一個請求留下的值。這也是很多莫名其妙的偶發(fā)Bug的來源。所以我在團(tuán)隊里的編碼規(guī)范強(qiáng)制要求凡是在業(yè)務(wù)入口往ThreadLocal set了內(nèi)容必須在當(dāng)前處理流程結(jié)束時在finally里remove。不要依賴覆蓋不要依賴清理機(jī)制。理由很簡單remove的代價幾乎為零而不remove的風(fēng)險是串號和泄漏。4.3 InheritableThreadLocal和TransmittableThreadLocal的選型父線程想把自己的ThreadLocal傳給子線程最簡單的是InheritableThreadLocal。它在線程創(chuàng)建時用父線程Map里的值初始化子線程的Map。這在一個請求里創(chuàng)建少量子線程、且子線程不會復(fù)用時會比較有用。但I(xiàn)nheritableThreadLocal有兩個缺陷第一它只能在線程創(chuàng)建的那一瞬間拷貝一次線程池里的線程早就創(chuàng)建好了不會動態(tài)獲取父線程最新值第二拷貝是淺拷貝如果value是可變對象子線程改了會影響父線程反之亦然。真正應(yīng)對異步和線程池場景的是阿里開源的TransmittableThreadLocalTTL。它給線程池的每個任務(wù)包裝了一層裝飾器任務(wù)提交時捕獲當(dāng)前線程ThreadLocal快照任務(wù)執(zhí)行前把快照放到執(zhí)行任務(wù)的線程里任務(wù)結(jié)束再恢復(fù)。我做過一次選型對比結(jié)論是純串行執(zhí)行直接用ThreadLocal。簡單創(chuàng)建一次性子線程InheritableThreadLocal夠用。線程池異步執(zhí)行、需要透傳traceId或用戶上下文必須用TTL包裝線程池。TTL的使用很簡單比如TtlExecutors.getTtlExecutorService(executorService)或者用TtlRunnable.get(runnable)。這是目前解決線程池透傳最成熟的方案沒有之一。4.4 參數(shù)配置與性能影響ThreadLocal的讀寫性能非常高因?yàn)樗羌儍?nèi)存數(shù)組操作沒有鎖。在單線程持續(xù)訪問場景下要比ConcurrentHashMap快得多。但有些人誤以為ThreadLocal支持跨線程共享這是不準(zhǔn)確的。對性能影響最大的其實(shí)不是讀寫本身而是清理和擴(kuò)容。如果一個線程里使用的ThreadLocal數(shù)量極多比如超過16個Map就會反復(fù)觸發(fā)rehash和cleanSomeSlots每次插入都可能做額外的探測掃描。不過一般的業(yè)務(wù)場景里線程的ThreadLocal數(shù)量都在個位數(shù)完全不用焦慮。值得注意的倒是JVM參數(shù)和線程數(shù)量。如果你的線程池線程數(shù)很大又有大量大對象放在ThreadLocal里不清理老年代會快速膨脹。排查時可以堆dump看吧看到大量ThreadLocalMap$Entry帶著大對象指向業(yè)務(wù)類八成就是沒remove了。5. 常見問題與排查技巧實(shí)錄5.1 為什么ThreadLocal.get()返回nullget返回null常見有四種原因第一次調(diào)用get之前沒有調(diào)用過set并且初始值也沒有設(shè)置。當(dāng)前線程不是之前set的那個線程。比如你用異步線程執(zhí)行任務(wù)子線程里get不到父線程set的值。ThreadLocal對象不是同一個實(shí)例。比如每次方法里都new一個ThreadLocal后續(xù)自然讀不到。已經(jīng)執(zhí)行了remove后續(xù)又去get。其中第三點(diǎn)最隱蔽。尤其在一些工具類里寫成了靜態(tài)方法但方法內(nèi)部用new ThreadLocal()來存取那每次調(diào)用都是全新的key完全無法產(chǎn)生隔離效果。5.2 鏈路追蹤中ThreadLocal不生效我們遇到過的一個問題在主線程設(shè)置的traceId子線程打印時丟失。那時候根本沒用InheritableThreadLocal用的是普通ThreadLocal所以子線程的Map是空的自然get不到。后來用異步HttpClient或者M(jìn)Q生產(chǎn)者時也有類似問題。MQ生產(chǎn)者發(fā)送消息時消息體里需要攜帶traceId但如果traceId放在ThreadLocal且發(fā)送回調(diào)再另一個線程回調(diào)里get就是null。正確做法是在發(fā)送前的入口線程把traceId取出來顯式塞到消息頭不要等到發(fā)送回調(diào)再去ThreadLocal里找。排查這類問題可以在關(guān)鍵入口和出口打點(diǎn)打印線程名和Thread.currentThread().getId()立刻能看出是不是線程發(fā)生了切換。5.3 如何用arthas檢查ThreadLocalMap內(nèi)容線上排查ThreadLocal殘留我喜歡用arthas。用thread命令列出所有線程找到目標(biāo)線程ID后通過getstatic或者ognl表達(dá)式訪問Thread實(shí)例的threadLocals字段。示例thread -n 1 # 找到目標(biāo)線程的id之后 ognl -x 3 #tjava.lang.ThreadgetAllStackTraces().keySet()[0], #t.getThreadLocals()不過我實(shí)際中更常用的思路是直接heap dump后用MAT或jhat搜索ThreadLocalMap$Entry看它的value是否有業(yè)務(wù)對象殘留。arthas適合快速確認(rèn)某個線程里有沒有值但要把整個池子的殘留清點(diǎn)一遍還是dump更直觀。5.4 熱點(diǎn)排查速查表癥狀可能原因快速解法線程池復(fù)用時出現(xiàn)上一個用戶的數(shù)據(jù)ThreadLocal未remove在finally里remove日志traceId亂串線程池線程復(fù)用時traceId未清理用TTL或每次任務(wù)執(zhí)行前set老年代漲得快內(nèi)存泄漏ThreadLocal里放了大對象Dumpheap確認(rèn)并remove異步子線程get不到值線程切換用TransmittableThreadLocal或顯式傳參兩個類各自讀取的ThreadLocal相互覆蓋使用了同名靜態(tài)變量或非靜態(tài)實(shí)例確保ThreadLocal是final static且序號唯一最后再分享一個小細(xì)節(jié)我后來把所有ThreadLocal變量都封裝成獨(dú)立的Context類提供靜態(tài)方法對上層只暴露set/get/clear。初期多花一點(diǎn)建模時間能避免后面排查時滿世界找不到ThreadLocal的坑。每次清完用戶上下文記得在clear里順便把可能嵌套的其他ThreadLocal一并remove防住那種一個請求里同時用了多個上下文工具類卻只清理一個的場景。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧洲精品二区| 99在线精品观看99| 亚洲丝袜二区在线| 少妇69中文| 国产伦乱91| 亚洲人妻在线精品| 亚洲精品97久久中文字幕| 精品人人| 日韩人妻资源在线看| 精品久久久高清无码| 丝袜AV一区二区三区| 亚洲熟妇综合久久久久久| 小少妇| 91精品人妻电影| 日韩精品资源专区二区| 欧美伊人久久综合网| 91老熟女视频| 欧美91变态| 9997se| 久久草视频污视频| 天美传媒Av在线| 精品97久久综合| 五月丁香色综合| 国产黄色 A 片免费看| 天天日天天干天天操| 骚货 中文字幕 av| 男人天堂毛片| 长长久久88视频| 亚洲欧美在线观看无码| 手机在线大香蕉| 伊人96在线| 亚洲在高跟鞋自慰久久在色线| 黄污污污污| 大香蕉一线视频| 亚洲暴力强奸AV| 十八禁视频一区二区| 亚洲天天操| 性一级黄色录像片网站导航| 青青草国产欧美非洲黑人| 男人的天堂免费| 日韩精品人妻中文字幕不卡乱码| 精品二区三四区五电影 | 亚洲熟妇乱女区二区三区| 亚洲欧美一区二区三区一猛片| 最近2018中文字幕在线高清第一页| 91精片| 精品少妇一区二区| 上床啊啊啊| 美女9118禁| 欧美瑟综合| 人人妻人人澡人人爽人人精品浪潮| 综合网亚洲1| 欧美高清在线| 蜜臀AV午夜精品久| 亚洲欧美日韩中文播放| 亚洲无码成人精品| 日本色色色视频| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久毛卡| 超碰人人妻| 香一区二区三区| 欧美白嫩女HD| 亚洲,欧美,综合网| 久久女人| 欧美不卡在线一区二区| www国产天美久久久| 久久av成人无码免费| 免費黃色視頻觀看一| 国产高潮AA片免费看| 97操碰| 啊啊啊好湿国产一二| 久久免费看高潮毛片韩国| 欧美日韩国产男人| 久久久久成人网| 欧美Aⅴ| 久久久久国产一区二| 丁香五月婷婷基地| 色欲人妻一区二区在线| 激情婷婷黑人91| 91色拍| 天天色天天干天天射| 人人爱人人操人人性| 伊人AAA| 亚洲图片欧美制度| 精品国产乱码久久久影院| 精品97久久| 影音先锋每日最新资源在线观看| 99操逼| 9热9热综合网| 欧亚三区动漫| 老熟妇一区二区三区…| 亚洲人精品久久久喷水| 97超级久久| 欧美一区二区三区入口| 欧美日不卡| 超碰97欧美日韩| 丰满人妻一区二区三区免费 | 无码聚合| 秋霞男人网| 99久久久| 亚洲成人久久美女| 国产精品色约约| 久久久精品电影| 亚洲综合网电影91| 白丝av| 婷婷久久五月| 中出欧美| 成人精品在线观看| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | A片A5445444| 五月丁香久久| 玖玖草久草99蜜月一区二区三区| 为用户提供免费看黄网址在线观看| 在线观看一卡二卡| 一本色道综合久久欧美日韩精品| 欧美亚洲中文字幕| 欧美,日韩,中文,另类| 搞中出久久| 嗯嗯啊啊用力视频免费| 亚洲av性爱电影| 人妻AV在线| 欧美一区二区三熟女剧情| 久久久久免费看少妇A片特黄| 嗯嗯嗯啊啊啊在线免费观看| 免费观看成人www精品视频| 亚洲男人天堂Av| 极品出轨视频网站| 色999人与兽| 超碰2017| 今日头条成人一区二区三区四虎精品| 国产亚洲精品久久久久小 | 丰满人妻被猛烈进入中| 黄色不卡视频| 韩国一级做A片免费的| 国产乱码久久久久久| 中日韩久久久| 亚洲天天更新| 双插在线| 探花熟女,姿勢到位,體驗感也到位| 另类视频在线| 日本人妻A片成人免费看片| 高颜值美女口爆高潮浪叫| 欧美国产日韩高清在线| 91美女视频| 色呦呦、国产精品| 日韩不卡在线一区二区| 青草精品视频日本久久久久网站在线| 久久天天躁日日躁狠狠躁 | 性欧美体内射精| 91av一区二区在线观看| 无码人妻精品一区二区三区99不卡| 九九精品美女高溯喷水| 色五天伊人| 桑老女人九区| 成人热久久精品| 日韩免费性爱视频在线观看| 黄色AV免费| 精吧天堂| 内射日韩大臀美女| 久久精品中文字幕无码l| 五月天人妻综合| 红杏大香蕉| 内射夫妻三片| AV天堂因数| 蜜臀久久在线视频| 婷婷中文字幕| 久草国产在线视频| 亚洲天天在线| 婷婷精品国产欧美精品亚洲人人爽| 在线视频日韩欧美国产| 在线视频 亚洲精品| 九九九九九精品十六| 任你艹| 欧美国产精品| 中文字幕一区二区视频在线观看| 欧美人妻另类在线| 在线 亚洲 网爆 自拍| 国内三级自拍小视频在线观看| 欧美日韩在线视频网站| 84YTCOM性无码| 加勒比性爱成人在线| 十八禁网站在线| 日韩激情啪啪| 国产一区二区三区久久久精品| 国内毛片四区| 亚洲欧洲激情| 欧美91久久久久| 久久综合精品一区二区三区| 夜夜爽77777| 丝袜美腿制服人妻二区中文字幕| 三男一女不戴套的A片| 少妇特黄一区二区三区| 天天综合网AV91| 夜夜嗨一区二区| 国产成人精品日本视频| 久久国产热视频97电影| 日韩性爱视频在线免费观看| 香伊人在线| 91视频在线观看18| 天美传媒婬乱在| 国产蜜臀精品一区二区尤物| 亚洲精品97久久中文字幕| a人片中文字幕一区二区| 亚洲人在线| 操人妻逼91| 91在线视频免费中出| 九九热在线视频| 日本中文字幕在线电影| 中文字幕精品一区二区精品| 懂色AV一区二区三区| 激情五月天婷婷| 五月丁香六月婷综合成人综合 | 99xav| 色综合潮| 久久久久久波多野吉衣高潮| 超碰98综合网| 人妻熟女一区二区| 2020天天色综合| 国产精品69久久久久孕妇欧美| 天天操天天日天天干| 久久精品高清无码一区| 91综合天天看| 大鸡巴久久| 东京热双插| 天天综合网~91| 七月婷婷综合| 九九精品99| 色噜噜人妻丝袜a∨先锋影| 91精品无码人妻系列| 亚洲成人久久美女| 黄色污污污污污污网站| 秋霞午夜视频一区二区| 亚洲综合网91| 人人干黄色| 少妇xx精品| 天天做日日做天天欢。| 久99热| 久久久久免费少妇| 欧洲精品人妻| 老熟女阿 国产91| 风月影院十八禁| 91精品微拍福利| 黑人嘿嘿嘿超爽免费视频| 成人av动漫在线观看| 亚洲九区| 神马久久久久久久久久久久| 人妻 欧美亚洲| 欧美天天综合在线| 八人操人人摸人人看| 操逼逼无码| 亚洲av在线免费观看| 久久久久久久久久久久九| 大香蕉2017| 国产无吗在线播放| 婷婷五月天色色| 一级黄碟在线观看| 亚洲情色 欧美| 夜夜天天噜狠狠爱2021| 精品久一区免费| 国产黑白丝在线| 99久久国产精品免费高潮| 日本免费专区| 5252色欧美在线| 精品人妻少妇| 免费AV播放| 日韩美女高潮喷水视频| 婷婷久月| 国产激情综合五月久久| 国产乱子伦一区二区三区免看| 一区二区三| 国产小u女在线观看| 亚洲射综合网| 乱伦熟女论坛| 天天91~综合入口| …中文字幕亚洲乱,97人妻无码费视… | 97在线视频观看| 岛国片在线观看视频亚洲| 亚洲成人精品久久久| 欧美亚洲系列| 99热这里只有精品地址 | 影音先锋乱伦资源| 97 超碰 人人做 人人爱| 色香天天| 久久久久9999| 97在线免费看视频| 欧美成人精品A片免费一区99| 欧美在线 亚洲| 亚洲国产av中文字幕久久| 中文无码一二三区| 国产三级片在线观看| 性色av婷婷久久一区二区点复制| 色欲色香天天天综合网www-亚洲综合国| 殴美性天天| 欧美激情综合| 欧美激情精品| 欧洲乱码一区二区| 韩日性爱av| 91精产一区二区三区| 色y情视频免费看| 亚洲s在线观看| 久久婷婷电影网| 久久精品免费| 亚洲无码国产精品久久| 久久久久久波多野吉衣高潮| 韩日性爱av| 亚洲天堂日本| 國產尤物AV尤物在線觀看| 欧美熟女逼久久久久久| 丁香婷婷九月| 夜夜精品视频| 欧美精品偷拍| 国产成人www免费人成看片| 欧美 综合 亚洲| www国产天美久久久| 啊啊啊操死我了| 色色操| 欧美成人一级麻豆| 久久久久9999妇女| 丁香五月综合| 狠狠爱大香蕉| 午夜福利区| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 99碰碰| 国产精品白丝| 成人精品一区二区三区| 天天爽天天爽| 精品国产91内射久久| 国产av热热色| 91丨九色丨大屁股| 国产美女自拍AV| 久久九九精品一区二区| 日韩一级二级在线| 亚洲色图欧美视频| 亚洲欧美日韩激情不卡| 精品国产乱码久久久兰草影视| 国产一级不卡在线观看| 91无码精品| 麻豆婷婷成人一二三| 手机在线中文字幕国产| 97中文热色| 神马久久久久久久久久久久| 色色色网站| 性爱综合一区二区| 欧美色图第一页| 欧美天堂第二区| 五月天色图影视| 国产强奸乱伦xd| 中文字幕一区二区三区四五区| 富二代亚洲精品99| 丁香五月天堂| 人人潮人人摸| 麻豆国产视频精品观看| 久久久久久九| 婷婷探花久久精品一区| 99热免费精品| 欧美色三级片91| 国产区性爱在线视频秋霞豆| 人妻干天天| 中文字幕一二三| 自拍啪啪视频| 日本黄色天堂| 精品久久九| 久久久久久久九九九九九九| 久久精品人体AV| 777奇米影视777四色| 性videos欧美熟妇hdx| 欧美九九九| 99热国产精品| 国产免费一区| 蜜乳av一区二区三区四区不卡| 区一在线观看| 中文字幕精品丝袜| 九九久久首页| 91蜜臀在线久久久久| 色综合久久888| 欧日a| 日本操大逼| 亚洲国产91精品一区二区久久| 大香蕉中文在线| 97久久超碰国产精品| 国产精彩女在线观看视频| 熟女欧美日韩综合婷婷| 99热导航| 久污| 国产精品夜夜夜| 91视频综合在线| 偷拍片久久| 熟女高潮合集-永久久久-成人AV| 精品美女人人干| 国产麻豆一区二三区| 人妻超碰青青草98| 9ⅰ久久久天天| 91蜜桃传媒精品久久久一区二区| 欧美操逼录像国产黄色国产| 人人搞人人插人人操| 麻豆三极片| 亚洲开心网| 久久久久无码一妻区| 激情接吻视频久久久久久| 蜜乳AV网址| 日韩国产成人自拍视频| 国产又操| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 国产人伦精品一区二区三区| 女同性恋一区二区三区精品视频| 人妻 欧美 中文| 91欧美综合在线| 97超碰国产亚洲精品| 久草毛片| 无码人妻一区二区三区色欲aⅴ| 91看黄片| 成人黑料社久久| 久久婷婷一区二| 麻豆福利视频导航| 久久熟女嫩草成人片免费| 九九热av| 国产精品麻豆成人av| 亚洲高清无码在线桃色| 开心五月婷婷| 91麻豆天美传媒HD| 欧洲综合色| 91视频伊人| 日韩av影片在线观看| 激情一区二区三区在线观看| 久久综合女优| 日本一级真人黄色性爱视频| 欧洲一级性爱视频在线观看| 婷婷成人五月天| 欧美精品偷拍| 亚洲国产精品无石码久久| 激情熟女12P| 亚洲中文字幕精品久久久久久直播| 久久久草成人网站久久久草成人久久久草久久久 | 精品亚洲一区在线观看| 成人三级片无码| 中文字幕乱码人妻一区二区三区,99精品| 日韩欧美偷拍美女视频| 久久AV无码AV| 成人丁香五月| 另类老少妇| 日韩AV无码网站| 日本一级一级一级一级| 99re这里| 日本黄大片在线观看视频| 99操碰| 国产AV天美| 91青青| 日韩一性一交一A片俄罗斯| 久久久久久亚洲精品中文字幕人妻| 蜜臀aV午夜一区二区三区| 久久夜夜| 亚洲性综合9| 97精品一区二区视频在线观看| 中文字幕人成乱码熟女香港| 亚洲欧洲视频小说在线观看| 中文字幕黄色一起草| 中文字幕精品一区二区精| 99re6国产精品99re在线| 天堂av最新电影网| av片在线观看免费播放| 国产AV天美传媒一区二区三区| 人人干黄色| 欧美熟爽综合| 精品一区二区三区国产| 亚州精品一区二区三区香中文字幕在线| 9.1小视频| jizzjizz欧美| 舔舔啊| 久久九九国产精品| 操死我了啊啊啊| 亚洲无码一二三区| 人乳av| 熟女人妇一区二区三区| 日日干夜夜欢| 国产呦精品一区二区三区下载| 足交视频老司机| 波多野结衣先锋影音| 欧美夜色| 国产亚洲精品第一最新| 秘书高跟黑色丝袜国产91在线| 亚洲蜜桃V妇女| 中文子幕一二三| 乱伦3P视频| 青青草五月份天| 色优久久| 9久在线视频只有精品| 嗯……啊…嗯嗯…啊…好舒服| 国产成人亚洲精品无| 日韩内射视频| 色黄色美女大长腿午夜视频| 国偷自 一区| 色婷婷香蕉| 综合网 欧美| 久草精品热视| 成人aⅴ一区二区三区| 国产乱子伦一区二区三区免看| 丁香六月东京热| 中国熟妇| 亚洲美女色图| 一区二区娱乐网站| 日本一级真人黄色性爱视频| 九九九九九九九九九五码| 伊人五月天激情| 怡红院成人视频| 嗯……啊…嗯嗯…啊…好舒服| 韩国手机不卡无码三级视频| 综合色久欲| 91无码中出人妻视频| 久久精品人人做人人看| 中文字幕午夜精品久久久| 日韩97超碰中文字幕| 国产乱伦性爱区| 九九九九一区| 一区二区三区蜜桃成人撸久久东京热 | 国产家庭乱伦表演| 玖玖爱伊人玖玖爱| 青娱乐av在线| 中文久久爆乳| 三级特黄60分钟播放| 日韩日韩日韩-国产乱码精品一区二区| 97天天爽| 亚洲免费看片| 中文字幕一区二区三区高清| 欧美人妻少妇| 欧美综合网站999| 欧美 亚洲 大香| 婷婷亚洲综合| 精品亚洲黄色片 国产精品导航一区二区| 一本色道人妻久久| 欲女人妻性色av| 亚洲熟妇丝袜在线观看| 91丨九色丨东北熟女| 手机在线A片| 成人毛片免费| 69精品| 欧美96交| 亚洲日韩熟女人妻高清在线| 亚洲色欲一区二区三区| 国产精品电影| 99久在线精品99re8热| 亚洲国产精品有声| 日韩成人精品| 无码精品久久久久久亚洲| 中文字幕激情小说| 中文字幕欧美精品亚洲日韩蜜臀| 国产少妇高潮| 欧洲一区二区三区免费| 97操97色| 麻豆天美久久91| 婷婷五月天网| 婷婷精品| 日韩另类色图| 国产精品色色| 欧美性天天影视| 免费视频无码| 综合网,亚洲,欧美| 四虎影库国产精品免费| 热久久精品| 91美女在线精品视频| 玖玖人人爱| 男人亚洲91首页在线| 天天插天天插| 精品妇女一区二区三区| 久久久影院| 日韩99999色| 国产性刺激| 欧美成人亚洲精品| 99re这里| 一区二区三区四区五区久久久久久| 国产99999久久精品| 日本加勒比无码专区一二三| 亚洲色图欧美色图综合| 91精品丝袜久久久久久| 蜜臀久久99精品久久久电影| TS人妖另类精品视频系列| 国产精品直播在线观看直播| 性色av大全| 日韩av不卡在线看| 日本三级R| 91亚洲人电影| 麻豆AV短剧| 日韩丨制服丨中文|在线| 激情视频图片| 亚洲人妻在线精品| 高清成年美女黄网站免费大全 | 天天综合网~69| 九九十八精品| 色777999综合| 呦呦一区| 懂色AV蜜臀无码精品APP | 人妻内射一区二区在线视频| 男人天堂无码| 极品销魂美女一区二区| 91成人久久| 成人情色一区二区| 情色五月天网| 久久久久白虎| 成人性爱av| 99热色精品| 久久亚洲人妻| www欧美91| 国产日韩欧美中文在线播放| 亚洲啪啪性视频| 欧美性战999| 久久精品女同亚洲女同13| 97欧美| 国产精品一区二区三区,亚洲综合| 啪啪综合网| 国产亚洲日本| 美女被啪到深处抽搐视频| 蜜乳性色无码专日粉嫩骚逼AV| 五月天激情网站| 精品九九淫乱男| 探花精品 一区二区| 人妻在线视频| 高潮嗯啊性感美女久久久| 久区视频| 永久免费发布性爱网| 九久9热| 亚洲Av诱惑| 秋霞影音一区二区三区| 欧美午夜色妇色鬼| AV中亚| 综合色啪| 五月天亚洲网| 看大黄色大片原件| 午夜欧美J进J出白浆流出久久久 | 日本三级韩三级99久久| 96久久久精品| 亚洲啪AⅤ永久无码| 欧美少妇大量自拍视频在线观看| 91天堂丝袜美腿| 久久一区二区高清免费| 精品一久久久| 伊人网青青| 高清不卡视频| 中文字幕在线免费观看2| 日日干日日| 青青五月天| 五月婷婷丁香六月| 女生看匆91网站| 大香蕉五月天婷婷| 67914在线兔费成人视频| 国模无码一区二区三区在线| 中文久久96| 天天操夜夜嗨| daxiangjiao你懂的 | 97操综合| 在线v中文字幕一区二区三区| 97网址97| 久久婷婷综合国际产色怕| 久久偷偷色综合蜜桃| 色色香蕉| 亚洲AV色图一区| 亚洲AV无码国产成人| 亚洲第一视频 欧美风情 日韩| 亚洲αv一区二区三区| 亚洲伊人久久精品影院| 无码乱人伦中文视频| 久久华人网| 成人午夜无码视频| 欧美激情专区| 国产农村妇女精品一| 国产最火爆久久国产网站网站| 青青草五月天| 一区三区啪啪| 91亚洲人| 欧美狠狠弄| 国产一区在线观看无码AV| 成人片视频| 亚洲天堂 视频你懂的| 亚洲中文字幕av | 婷婷亚洲五月***久久| 上床啊啊啊| 国产四虎在线| 日本性爱网址| 老熟女网站| 91挑色欧美| 久久久久9| 国产真实子伦对白| 9精品久久| 婷婷色在线| 岛国片在线视频网站| 欧美黑人168页欧美黑人167| 91狠| 久久av成人无码免费| 国产馆| 久久超碰大香蕉| 久久婷婷伊人| 黄色av网站在线播放| 天堂亚洲精品| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 日本午夜操逼| 香蕉欧美| 91精品久久久久| 97看操| 国产丝袜视频| hd成人一区二区在线| 午夜精品久久一区二区| 二级毛片| 亚洲区限制级| 台湾佬激情综合| 在线看免费无码AV天堂的| 国产黄色剧情影片麻豆免费播放| 干妹子| 成人五月天色网| 999狠狠综合| 亚洲AV无码国产成人| 日欧操屄| 91高潮| 国产熟码AV| 日韩无码AB| 欧美色图中文字幕| 玖色AV| 久久xxxx| 激情久久av一区av二区av| 91伊人久| 国产在线综合网| 日夜精品| 欧美草草高清日韩视频| 91 国产丝袜在线播放-百度| 97爱亚洲综合色| 亚洲国产欧美日韩人妻日中文| 黄片不用下载在线观看| 日日噜噜夜夜狠狠视频无| 婷婷超| 亚洲人妻久久| 久久东京热久久| 精品少妇99| 亚洲精品电影| 亚州欧美另类| 97在线公开视频| 视频在线97| 99最新日韩偷拍视频| 国外91| 欧美亚洲激情一二三| 97看操| 久久久久久9999| 国产肏屁眼视频| 嗯嗯啊啊好疼| 麻豆国产成人精品| 亚洲情色一区二区三区| 色 亚洲 91| 久久久久久久久久黄色网| 丝袜综合| 蜜桃视频一区二区三区 | 少妇啪啪自拍| 狠狠中文字幕| 一区二区三区四区免费视频| 欧美激情中文字幕另类小说| 黄色一级视| 大香蕉av在线| 四月丁香婷婷| 久久综合女优| 色哟哟av网址| 欧美偷| 91精品国产一区三一| 清纯唯美亚洲综合| 一区AV| xxxx网站亚洲精品| 欧美久久伊人| 成人精品在线观看| 英伦大奶子熟妇吊带| 日韩懂色网| 加勒比色综合| 综合色一区三区二区| 亚洲天堂精品日韩电影| 亚洲精品白浆高清久久久久久| 亚洲国产ⅴ高清在线观看| 在线中文字幕极品av| 狠狠色丁香| 99爱久久视频频| 中文一区在线日| 久久国产精品一区二区| 日韩欧无码一区二区三区免费不卡| 日本国产亚洲一区在线观看| av在线一区二区三区| 国产超碰人人操| 青青草在线视频人人想人人上| 欧美A√综合网| 99re28在线观看| 欧美日韩午夜精品一区二区三区| 九月丁香综合网| 老鸭窝亚洲毛片| 中文字幕伊人| 俄罗斯及免费在线看| 乱伦图一区| 天天影视综合网欧美精品| 一区二区视频你懂的| 欧美se综合| 国产专区第一页| 日韩熟妇二区| 色香91| 日婷婷| 99精品在线| 久久久久网站-538在线视频-欧美永久乱码 | 一区二区三区蜜桃成人撸久久东京热| 97欧美色| 26UUU欧美激情一区二区| 五月丁香综合| 中文字幕免费看| 乱伦一二三区| 98色网| 亚洲激情深爱文学小说网站| 最新av中文字幕高清| 亚洲综合另类| 青青草国产一区二区三区| 无码久久国产 | 视频不卡中文字幕| 四色永久成人网站| 亚洲偷拍欧美激情| 成人精品久久久午夜福利| 五月丁香激情综合| 熟女熟妇一区二区三区视频| 八戒午夜福利理论片| 98一区二区精品| 哈哈操 大香蕉| 欧美日本国产日韩激情视频| 国产又大又粗又长视频在线| 好吊色综合| av九九| 久久熟女嫩草成人片免费| 岛国免费黄色网址| 91最新综合| 97在线视频观看| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 久草资源在线视频官方总站日韩丝袜美腿| 鸥美中出| 丁香六月婷婷久久综合| yazhououmeizongya| 少妇高潮对白在线观看| 免费成人在线熟妇网| 久久久久久久九九九九九九| 91色综合激情| 久久无码一区二区二三区性色| 国产超碰国产97| 国内外内射高清视频| 精品一区二区三区蜜桃臀赵总 | 深爱五月婷婷| 女生久久网| 伊色综合天堂色97| 久久久久久久9| 黄色污污污污污污网站| 青青草国产欧美非洲黑人| 亚洲一区深夜| 在线日韩日本亚洲国产| 麻豆AV一区二区| 国产v片在线免费观看| 懂色AV中文| 亚洲国产精品9999在线观看| 成人精品一区二区三区| 国产精品无码av| AV男人天堂网| 开心激情婷婷| 99热| av东京热男人的天堂| 欧美视频一区二区在线| 中文字幕色AV| 亚洲少妇喷视频看| 一区二区三区免费视频入口| 嗯嗯啊好大| 五月天玖玖资源站| 色欲久久99国产精品久久久久久| ′ !γ}丶。。久久精品欧美一区二区三区| 91黑丝在线| 久草在| 丁香六月啪| 天天干人人看综合| 亚洲色图伊人网| 五月丁香色综合| 欧美日韩插逼视频| 大香蕉92| 欧美中文字幕男人天堂久久精品| 18禁无码永久免费无限制| 天天插天天操天天摸天天射天天看| 午夜男女爽爽爽在线视频| 国产深夜福利| 亚洲熟久久| 99婷婷| 又粗又长又爽在线观看| 五月天日日操夜夜操| 中文字幕91综合| 逼逼逼逼操操操操操操操操操午夜剧场| 欧美97av| 一区二区不卡| 六月婷婷激情| 亚洲AV无线| 91情色| 亚洲激情深爱文学小说网站| 中文字幕91综合| 久久肏大逼| 国产成人亚洲精品无码最新在线| 中文字幕无码不卡啪啪| 欧美色图私拍91| 99精品热| 人妻系列无码专区中文有码| 黄骗免费网站| 婷婷久久久精品| 九九英色视频| 又黄又爽在线观看视频| 搡老人老9丨女老熟人| 久久精品黄色| 91大香蕉伊人| 亚洲伊人久久精品影院| 亭亭丁香激情| 亚洲 欧美 天天| 国产激情在线观看| 黄色AAAAA欧美| 国产精品黑人一区二区三区| 台湾佬大香蕉| 成人夜夜| 久久少妇人妻| 色av中文字幕| 97精品一二区| 国产九月婷婷| 六月色色| 精品一区二区亚洲国产| 久操网址| 欧美性生活免费网| 人妻二区| aaa亚无码专区| 黄骗免费网站| 91亚洲电影| 97视频免费| 无马一区二区| 人妻夜爽夜夜爽| 日韩干B| 久久成人网站| 97国产精品久久久久| 高清肉丝中文无码| 97超碰亚洲| 四季AV一区二区凹凸精品小说| 久久这里精品国产99丫e6| 91neishe| 在线啊啊啊啊| 嗯……啊…嗯嗯…啊…好舒服| 久久最新免费视频23| 超碰人人乐97| 四月丁香婷婷| 91欧美成人色站| 欧美 传媒 麻豆 日韩 偷拍| 亚洲五区熟女| 欧美成人色| 日本免费一区二区不卡| 色香91| 蜜桃AV天堂| 国产日韩怡红院| 97资源久久| 国产成人亚洲精品无| 色综合一区二区三区| 操国产高清| 日韩极品无码B| 欧美丰满少妇xx高潮| 日韩丰满熟妇| 精品久久99| AV色天香在线| 欧美一区二区传媒| 91在线/欧洲| 国产乱码久久久| 亚洲全色网| 在线人成亚洲视频免费观看| 国产女人和拘做爰视频| 白嫩国模丰满一二三区| 99精品网| 少妇诱惑视频| 久久视频,这里只有精品| 美女t无毒不卡不卡| 五月丁香激情四射| 亚洲激情综合另类男同| 欧美劲爆视频一区二区| 素人播放一区| 日本东京热大香蕉a片| 97超碰国产亚洲精品| 香蕉视频欧美一卡二卡| 日本操逼视频不卡直接放| 国产中文字幕曰本毛片| 久久啊啊啊视频| 丁香五月久久| 一道本东京热加勒比一区二区三区 | 超碰欧美| 黄片色区软件| 猛交交| 啊啊啊啊啊好舒服视频| 国产91丝袜 在线播放| 沈阳熟女高潮对白视频| 亚洲成a人在线观看久| 草草影院在线视频| 亚洲男人的天堂在线看| 99rre在线精品99re8| 黑人精品XXX一区一二区| 亚洲精品一区二区三区在线播放| 亚洲有薄码区日本系列中文字幕| 日欧毛片久久| 热99这里有精品综合久久 | 中文字幕亚洲欧美在线不卡| 久久久一二三四区| 亚洲国产成人精品999| 九九久久综合| 操死我了嗯嗯嗯| 啊啊啊啊啊在线| 亚洲超碰AV| 综合亚洲情色| 91成人无码| 亚洲AV无码成人精品久久| 日韩人妻网站| 夜色综合| 另类专区在线观看| 高清肉丝中文无码| 色呦呦国产精品免费看| 日韩无码成人电影| 五月天加勒比啪| 1000部熟女视频在线观看| 超碰在线国产| 加勒比综合a∨| 国产日韩色综合| 青青草视频爽一爽| 精品午夜福利| 日本一级一级一级一级| 蜜臀av网址| 人人操人人插人www| 射丝袜高跟鞋99| 97超碰香蕉| 亚洲黄色影视| 深爱伊人影院| 黄网色一区二区三区四区精品| 欧美韩国你懂得在线 | 激情视屏国产乱伦强奸| 天天影视射综合网| 黄色香蕉视频网站一区| 日本天天吊| 伊人操| 欧美.亚洲.另类.丝袜.制服.诱惑| 9美女超碰在线免费观看| 国产成人免费观看在线视频| 综合97亚洲| 久草国产在线视频| 裸体美女久久久| 亚洲一区二区三区中文字幕| 艳尻美人妻| 涩涩这里只有精品视频| 欲射影视| 99精品视频在线观看免费| 精品999日本| 国产欧美日韩一区二区三区| 天天插夜夜爽| 欧美日韩国产高清在线一二三区| 久9久精品视频| 午夜偷拍久久熟女| 亚洲图片欧美另类综合免费视频大大香| 久久激情亚洲精品无码?V| 国产AV人人夜夜澡人人爽麻豆| 51一区二区三区| 欧美成人精品一区二区男人蜜臀| 麻豆啪啪啪视频| 国产日韩怡红院| 97国产色综合| 国产无码高清操逼视频| 99热 按摩 日韩| 婷婷丁香五月天综合东京热| 夜夜嗨免费视频| 精品人妻伦一二三区久久| 九久精品| 97免费免费视频网| 无码天天操| 综合熟妇一区二区三区| 丰满人妻一区二区三区免费,| 国内外内射高清视频| 欧亚不卡| 国产精品岛国片在线观看| 欧美熟妇色| 亚洲成人一二三区| 操逼大黄片| 亚洲97资源| 丁香五月天婷婷姐| 国产日韩区| 欧美性第1页| 美女人妻色网站| 亚洲成a人片在线观看中文!!!| 欧美色老汉| 九九热五区| 粉嫩av在线一区二区| 成人久久久| 91精产一区二区三区| 久久人妻视频网| 18禁中文字幕| 亚洲女人91| 超碰碰激情97+久| 99色热| 欧美综合娱乐久久| 成人国产二区三区在线,男女精品。| 观看免费区二区三区二| 亚洲少妇综合在线播放| 久九九九| 色眯眯av| 精品久久久久瑟瑟| 8050午夜少妇无码| 国产黄色视频久久| 97在线/亚洲| av麻豆啪啪| 青草青青久久久久久国产| 色伊人91| 明星性猛交ⅹxxx乱大交| 91九色丰满高潮| 自拍欧美| 久久极品一区二区| 女同性恋久久| 免费观看网黄| 伊人加勒比| 一本大道青青| 亚洲色图综合网| 亚洲AV资源| 小少妇| 午夜天堂啪啪| 国产免费操逼| 国产精品人妻一区二区| 亚洲丝袜少妇在线| 美女骚尻视频| 金典av| 超硑97精品| 久久久精品国产亚洲伊人| 国产精品久久久久综合| 天天躁日日躁AAAAXXXX国产| 精品999一区二区| 亚洲乱熟女一区二区| 久草综合视频| 欧美激情超碰777| 最新一二三区视频| 伊人成人中文字幕久久网| 午夜男女爽爽爽在线视频| 乱伦av麻豆| 2019久久久久久久久福利| 国产9 9在线 | 亚洲| 狠狠婷婷亚洲中文综合久久| 精品视频久久| 精品国产乱码久久久A| 亚洲日韩资源| 色综合 加勒比| 台湾佬中文娱乐网久久久久久久久久com | 午夜视频久久久久一区| 国产午夜福利专区综合| 人人爱人人乐人人操| a'v在线资源| 日韩日本欧美在线观看| 中文字幕国产在线天堂| 欧美精品三级黄片| a级免费在线观看| 亚洲国产精品久久AV| 你草精品在线视频| 97久久综合网| 九久久九九久视频| 超碰色大香蕉| 亚洲交性| 亚洲国产成人精品女人久久久| 天天日夜干| 国产色产精品在线观看| 狠狠久久手机视频精品| 久久黄片国产一区二区| 国产精品原创巨作?v网站| 国产精品嫩草久久久久| 国产精品一级片在线看|