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

ARTICLE DETAIL

資訊詳情

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

Spring 面經(jīng)系列 · 第 9 篇(收官):跨域、防盜鏈、配置寫法、并發(fā)容量與事件機制

Spring 面經(jīng)系列 · 第 9 篇(收官):跨域、防盜鏈、配置寫法、并發(fā)容量與事件機制 Spring 面經(jīng)系列 · 第 9 篇收官跨域與防盜鏈、配置寫法、容量并發(fā)、批量插入、事件機制與源碼設(shè)計模式前面八篇走完了 Spring 主干Bean 生命周期、循環(huán)依賴、容器擴展點、AOP、事務(wù)、MVC、Spring Boot、微服務(wù)。這一篇收剩下的八道題它們有個共同特征——不是純八股面試官問它們時手里拿的是你的項目簡歷?!盖岸苏{(diào)接口跨域怎么辦」「防盜鏈做過嗎」「100 萬條數(shù)據(jù)怎么導(dǎo)」「你這服務(wù)能同時扛多少請求」「Controller是單例并發(fā)怎么處理」「讀配置有幾種寫法」「事件監(jiān)聽用過嗎」「源碼里有哪些設(shè)計模式」——這八問的殺傷力不在知識點而在它逼你給出具體數(shù)字、具體類名、具體取舍。說「用 CORS 就行」和「我用 Nginx 反代因為要兼容老瀏覽器」是兩個層次報「8192」和「8192 是連接上限真正并行的是 200 個線程瓶頸在數(shù)據(jù)庫連接池」也是兩個層次。素材是 P07、P08、P10、P11、P13、P16、P41、P42 八個分 P。凡視頻給的具體數(shù)字我一律標(biāo)注「視頻口述未復(fù)現(xiàn)」。1. 跨域與防盜鏈一個管瀏覽器放行一個管資源訪問這兩件事常被并成一句回答其實不在同一層。跨域CORS -- 瀏覽器同源策略 -- 決定「誰家前端能讀到我給的響應(yīng)」 -- 服務(wù)端只負責(zé)把響應(yīng)頭寫對 防盜鏈 -- 服務(wù)端資源訪問控制 -- 決定「誰在拿我的資源」 -- 需要真的攔下來1.1 先釘死「跨域只發(fā)生在瀏覽器」同源比協(xié)議、域名、端口作者補了二級域名不同、IP 不同也算跨域。值得記的是那個反問跨域一定有異常嗎不一定。異常只在前端發(fā)生因為瀏覽器有同源策略后端RestTemplate請求別的域也是跨域但不報錯——沒有瀏覽器就沒人執(zhí)行這條規(guī)矩。推出來的結(jié)論就是兩者的分界線服務(wù)端配 CORS 只是「給瀏覽器一個放行憑據(jù)」對 curl、爬蟲、服務(wù)器間調(diào)用完全無效。想白嫖資源的人根本不看你的響應(yīng)頭。所以「配了 CORS 就等于安全」是錯的作者也因此把防盜鏈單獨做成了一題。1.2 五種方式與各自的邊界方式寫法要點視頻口徑生效層限制與坑什么時候真用JSONP前端dataType指定 jsonp自動帶一個隨機值的callback后端聲明同名參數(shù)接住返回callback(數(shù)據(jù))拼成的格式前后端都寫只支持 GET參數(shù)名兩端耦合改一處改兩邊只剩維護上古系統(tǒng)作者明確它已被 CORS 替代CrossOrigin打在某個 Controller 或方法上后端注解一接口一注解量大了鋪不開只開放一兩個接口WebMvcConfigurer重寫「添加跨域映射」那個方法用注冊器按路徑前綴批量放行后端配置類全局配置類容易膨脹一批接口統(tǒng)一放行CorsFilter注冊一個CorsFilterBean過濾器層與其他 Filter 的先后順序會影響結(jié)果想在入口層全量解決Nginx 反向代理前端站由 Nginx 起舉例 8081帶約定前綴如/cors的請求轉(zhuǎn)到后端 8080接入層換部署拓撲要重配本地開發(fā)得靠 devServer 代理作者最推薦前后端代碼零改動瀏覽器側(cè)還有個細節(jié)復(fù)雜請求會被請求兩次。瀏覽器一旦發(fā)現(xiàn)跨域就自動附加請求頭復(fù)雜請求先發(fā)的第一次是OPTIONS探后端支不支持第二次才真正帶參。視頻強調(diào)這套「由瀏覽器決定」因此依賴瀏覽器版本支持作者口徑是 IE 不低于 10兼容矩陣未核實。再補一個真會被追問的坑這條我核過源碼帶 Cookie 時要設(shè)allowCredentialstrue此時allowedOrigins不能寫*——CorsConfiguration直接拋IllegalArgumentException得顯式列 origins 或改用allowedOriginPatterns?!竵碓慈_ 允許憑證」這個看著最省事的配法在框架層根本不成立。Q1跨域和防盜鏈?zhǔn)峭患碌膬煞N說法嗎不是判定方向還是反的。CORS 是默認禁止、顯式放行不在白名單響應(yīng)照樣發(fā)回去只是瀏覽器拒絕交給 JS 讀防盜鏈?zhǔn)悄J允許、主動攔截服務(wù)端自己判來源、身份或時間判不過就 403。兩者甚至?xí)ハ嗖鹋_——我見過服務(wù)端校驗Referer白名單卻沒寫自家前端域名跨域通了、資源全 403。工程上比較穩(wěn)的分工是跨域放接入層訪問控制靠鑒權(quán)、簽名與時效。1.3 三種防盜鏈本質(zhì)都是「提高破解成本」作者的場景很直白數(shù)據(jù)是網(wǎng)站的核心競爭力爬蟲偷資源既壓服務(wù)器又損利益。他也給了這篇最清醒的一句「哪怕你再怎么防也只能增加破解的難度」——只要數(shù)據(jù)能被正常訪問攻擊者就能偽裝成正常用戶。手段判定依據(jù)實現(xiàn)位置作者給的繞過方式Referer 校驗請求頭Referer是否在允許來源不在直接拒Nginx 校驗或 Boot 里聲明一個過濾器取頭判斷直接偽造RefererToken 校驗登錄后下發(fā) token轉(zhuǎn)寫作 “GWT”疑為 JWT未核實每次攜帶缺失或校驗失敗即拒后端攔截器攻擊者打登錄接口拿 token 再帶上時間校驗響應(yīng)時給前端埋時間戳請求回來算差值作者口徑是「停留超過允許時長舉例 300ms判為正常否則視為盜鏈」前端埋點 后端算差值每次偽造請求前sleep一秒共性是單點必破所以作者的落點有兩處值得記時間校驗一定有誤判要疊加拖動驗證碼讓人證明是真人大廠再疊一層行為風(fēng)控——用大數(shù)據(jù)分析行為異常沉淀成黑名單每次請求過濾。合起來就是防盜鏈的真實定位分層疊加 持續(xù)對抗沒有銀彈。300ms 那個閾值方向在轉(zhuǎn)寫里含糊我按「間隔過短判為機器」理解屬筆者判斷。2. 讀配置的六種寫法只談寫法與選型加載原理與優(yōu)先級在 第 7 篇 §7 講過這里不重復(fù)。這題問的是另一個層面同一個 key 落到代碼里有六種寫法。#寫法粒度前提與坑典型場景1Value(${xxx.name})單個 key所在類必須是 Bean配置里必須有這個 key否則啟動報錯故要給默認值${a:b}static/final不生效視頻口徑一兩個開關(guān)、閾值2ConfigurationProperties(prefixxxx)前綴下整棵子樹需可綁定的屬性結(jié)構(gòu)批量綁定作者原話一二十個字段不用寫一二十個注解3注入Environment調(diào)getProperty運行時任意 key它本身就是 Bean直接裝配運行時決定作者舉例配一個目標(biāo) class 加isEnable動態(tài)控制某個 Bean 是否生效4實現(xiàn)EnvironmentAware#setEnvironment同上容器回調(diào)賦值不靠注入寫組件的人自定義 starter、自動配置類里取底層 Bean作者說「耦合更低」5PropertySourceValue自定義外部文件作者明確這注解只吃.properties要讀 YAML 得配PropertySourcesPlaceholderConfigurerBean往里放YamlPropertiesFactoryBean指定外部 YAML全局配置之外還有獨立文件6JDKPropertiesInputStream任意文件與 Spring 無關(guān)無占位符無 profile工具類、單測、容器還沒起來的早期作者的選型一句可用前三種最實用后三種都是「讀外部自定義文件」才動。我再加一條新業(yè)務(wù)配置一律走ConfigurationProperties成組、可校驗、IDE 能提示Value只留零散項。最容易出事故的是寫法 1 的兩個靜默失效——類不是 Bean自己new的、字段是static配置就是注不進去且不提示。3. 容量題Spring Boot 可以同時處理多少請求作者開場就承認這題有歧義這個判斷對。歧義在「同時處理」指哪個數(shù)能被接受的連接數(shù) -- maxConnections店里能坐多少桌 真正并行執(zhí)行的 -- maxThreads幾個廚師同時在炒 一秒吃下的請求 -- QPS 并發(fā)數(shù) / 平均耗時出菜速度3.1 四個參數(shù)與帶版本的默認值視頻的比喻很好背Web 服務(wù)器是飯店線程是廚師正式 兼職連接數(shù)是店里能坐的桌數(shù)等待數(shù)是門口能排的隊伍。參數(shù)Boot 屬性名Tomcat 屬性官方默認值飯店比喻最大線程數(shù)server.tomcat.threads.maxmaxThreads200正式兼職總數(shù)真正「同時處理」的量最小空閑線程server.tomcat.threads.min-spareminSpareThreads10常駐正式員工最大連接數(shù)server.tomcat.max-connectionsmaxConnections8192店里能坐的桌數(shù)最大等待數(shù)server.tomcat.accept-countacceptCount100門口能排多少隊連接超時server.tomcat.connection-timeoutconnectionTimeout文檔 60000ms發(fā)行版server.xml寫 20000ms排隊者的耐心默認值不是我的印象是查的Tomcat 9.0 與 Tomcat 10.1 的 Connector 文檔四條一致Spring Boot 2.7 屬性附錄 同值。報數(shù)帶版本是這題的基本禮貌。一條請求的判定順序請求到達 -- ① 連接數(shù) maxConnections 否 -- OS 隊列(acceptCount)再不滿直接拒 ↓ 是 ② 有空閑線程minSpare 都忙則擴到 maxThreads -- ③ 不夠則進線程池隊列 -- ④ 耐心用完 -- connect timeout3.2 視頻的答案和我的不同意見視頻的答法是從 Spring 的配置元數(shù)據(jù) JSON 里查默認值得maxConnections8192、acceptCount100于是「8192 100 8292就是這題的答案」。查元數(shù)據(jù)這個動作值得學(xué)但算法口徑我不認同8292 是「被接受 排隊」的連接總量不是「同時處理」同一刻真正在跑業(yè)務(wù)的線程最多只有 200。只報 8292被追一句「那你的 200 個線程在干什么」就露餡。作者隨后壓了一輪視頻口述未復(fù)現(xiàn)演示配maxConnections30、acceptCount10、maxThreads20、minThreads10接口sleep2 秒壓測線程 100另配連接超時 300ms結(jié)果 140 請求里 40 成功、60 失敗異常率 60%。這組數(shù)字正好把四參數(shù)演完100 請求 -- 30 桌 10 隊 40 被接住 -- 其余 60 耐心只有 300ms、業(yè)務(wù)要 2s -- 全超時 40 里真正并行是 20 個線程 -- 另 20 個進線程池隊列等前一個炒完他的收尾意見很實在這幾個參數(shù)在高并發(fā)應(yīng)用里肯定要調(diào)但要「結(jié)合硬件性能、網(wǎng)絡(luò) IO 模型、實際壓測與監(jiān)控」才能定最優(yōu)。Q2那這題面試?yán)锏降自趺创鹑?。先糾口徑三個概念不是一回事再帶版本報默認值Tomcat NIO 連接器maxConnections8192、acceptCount100、maxThreads200、minSpareThreads10所以理論并行度是 200最后給真正的算法并發(fā) ≈ QPS × 平均響應(yīng)時間一個 200 線程、單請求 100ms 的服務(wù)理論吞吐就在 2000 QPS 附近而實際瓶頸通常在下游數(shù)據(jù)庫連接池、遠程調(diào)用、GC。收尾一句「我們項目實測是……」比背 8292 有效。至于參數(shù)怎么調(diào)到最優(yōu)我的態(tài)度和作者一致點到為止比硬講 IO 模型安全。4. 線程并發(fā)Bean 那半在第 1 篇這半講處理鏈路分工先說清第 1 篇 §6 講「單例 Bean 的字段怎么被并發(fā)讀寫」第 6 篇 §2 講「控制器單例的狀態(tài)問題」。P16 是緊接著追問下來的——除了把成員變量挪進方法還有什么辦法視頻給了四種我按代價排方案做法為什么就安全了代價消滅狀態(tài)變量只聲明在方法里每線程一個棧幀無共享幾乎為零首選換多例Scope(prototype)線程一、二各拿一個新實例操作自己那份每次走完整創(chuàng)建鏈、容器不留引用被單例持有則等于白配ThreadLocal字段包成ThreadLocalset賦get取兩條線程雖共用同一個單例但值綁在各自線程上必須清理線程池復(fù)用會串?dāng)?shù)據(jù)同步鎖synchronized方法或代碼塊線程二被擋在外面等前者return釋放鎖才進并行變串行影響吞吐量視頻原話要記的是這四種解法暴露的判斷力多例把并發(fā)壓力換成了創(chuàng)建開銷同步鎖把接口吞吐手動砍成 1。4.1 線程和狀態(tài)在哪兒相遇這題的深度在這張圖Tomcat worker 線程 -- Filter -- DispatcherServlet -- Controller單例 -- Service單例 -- JDBC / 遠程調(diào)用 一條請求 一條線程從頭走到尾同步阻塞模型單例 Controller/Service 是全進程共享的協(xié)作者而請求級狀態(tài)本來就該住在每請求一條線程上。所以 Spring 自己就是ThreadLocal的重度用戶請求上下文RequestContextHolder第 6 篇點過、事務(wù)與那條連接的復(fù)用TransactionSynchronizationManager第 5 篇 §5、語言區(qū)域LocaleContextHolder、AOP 暴露的當(dāng)前代理exposeProxy第 4 篇。一句話理解框架用線程隔離的上下文放請求級狀態(tài)用無狀態(tài) Bean 放協(xié)作者兩者配合才讓單例 Bean 在高并發(fā)下成立。這才是「Spring 怎么處理并發(fā)」的答案。4.2 ThreadLocal 的兩條風(fēng)險線一是泄漏與臟讀。線程池里線程不銷毀跑完一個任務(wù)接著跑下一個上一次的 value 還掛在ThreadLocalMap上既占內(nèi)存連帶其引用的對象圖又能被下個請求讀到。JDK 17 文檔 能核到的表述是「線程消失后它的 thread-local 副本才會被回收除非還有其他引用」——反過來說線程不死清理只能靠你。寫法沒得商量try { ... } finally { HOLDER.remove(); }或者別自己造用框架給好的上下文。二是異步鏈路踩空。Async方法、DeferredResult、自己提交進線程池的任務(wù)都跑在另一條線程上前面那套上下文一律拿不到。這個坑我在SimpleApplicationEventMulticaster的 javadoc 里看到同一邏輯的官方表述設(shè)了異步 executor 后調(diào)用方不再阻塞但異步執(zhí)行不帶調(diào)用線程的事務(wù)、類加載器等上下文除非 executor 支持。解法是把數(shù)據(jù)當(dāng)參數(shù)傳或用TaskDecorator復(fù)制上下文ThreadPoolTaskExecutor確有這個字段其余未逐行核對。5. 工程性能線程池把 100 萬條插入從 90 秒壓到 17 秒P08 全程在給數(shù)字均為視頻口述筆者未復(fù)現(xiàn)做法關(guān)鍵配置視頻里的耗時單線程循環(huán)批量插 100 萬無并發(fā)90 多秒接近 100切 100 份 × 每份 1 萬逐份異步批量保存線程池核心 32 / 最大 6616 核17 秒左右繼續(xù)加線程核心 100 / 最大 20016 秒幾乎沒變第三步才是重點作者結(jié)論一句可背「線程并不是越多越好改善不大反而浪費資源這些資源該留給別的業(yè)務(wù)」。5.1 抽成可復(fù)用套路造數(shù)/讀源 -- 切片每片 1 萬 -- 線程池逐片提交 -- 每片一次批量寫 countDown -- latch.await() 收口 -- 統(tǒng)計耗時切片大小一片對應(yīng)一次批量寫。太大容易撞報文長度限制和長事務(wù)max_allowed_packet的具體值未核實太小則網(wǎng)絡(luò)往返占大頭。用CountDownLatch收口計數(shù)等于片數(shù)這里是 100每份保存完countDown()主線程await()到全部異步線程跑完再統(tǒng)計耗時。我補一句await()不配超時一個卡死的任務(wù)會讓主線程永遠掛著。線程數(shù)按任務(wù)性質(zhì)定作者先分兩類——IO 密集讀文件、走網(wǎng)絡(luò)會阻塞、CPU 反而閑與 CPU 密集數(shù)據(jù)處理、排序、分析CPU 滿載并判定操作數(shù)據(jù)庫是 IO 密集于是核心線程按核數(shù) ×2他補 1 是「防不可預(yù)料的阻塞時 CPU 能切給多余線程」16 核給 32/33。他講最大線程數(shù)時前后不一先說四倍又說「也就是核心的兩倍66」我按 66 理解成 2 倍加余量這類公式在面試?yán)镎f「按任務(wù)類型定、壓測收口」更穩(wěn)。Async要配自定義線程池作者口徑是「Async默認不推薦直接用但在 Boot 里太方便只要把自定義線程池 Bean 設(shè)成它用的線程池就沒問題」。他還點了ThreadPoolTaskExecutor與 JDKThreadPoolExecutor的區(qū)別核心數(shù)、最大數(shù)、阻塞隊列、空閑等待、拒絕策略都有額外能給每個線程設(shè)名字前綴——排線上堆棧時這條特別值。5.2 它和事務(wù)一致性是什么關(guān)系這段必須主動交代。任務(wù)丟進線程池后執(zhí)行線程變了事務(wù)上下文就斷了這 100 份是 100 個互不相干的事務(wù)完全可能 99 份成功、1 份失敗。多線程事務(wù)為什么保不了一致、那「兩句代碼」的解法第 5 篇 §7 已成篇P39、P03不重復(fù)。所以套路的定位要說準(zhǔn)它適合初始化導(dǎo)數(shù)、離線灌數(shù)據(jù)、報表落庫這類「能重跑」的任務(wù)不適合業(yè)務(wù)寫單。真要在業(yè)務(wù)里并發(fā)寫得配三件事——每片冪等重跑不產(chǎn)生重復(fù)、失敗記錄與重試、斷點續(xù)跑或者讓一片要么全成要么全敗靠重跑收斂。別指望線程池替你保住 ACID。Q3為什么開到 100、200 反而不比 32 快因為收益來源不是線程數(shù)而是把串行等待的 IO 時間重疊掉。100 份數(shù)據(jù)、32 并發(fā)已經(jīng)把網(wǎng)絡(luò)和磁盤等待填滿再加線程只是讓更多線程一起去堵同一個瓶頸——數(shù)據(jù)庫連接池上限、單條 INSERT 還是 multi-values、MySQL 服務(wù)端的日志與索引維護。前 32 個是重疊等待后面的是排隊等待切換開銷和鎖競爭還往上加。筆者補一條常被拿來同類優(yōu)化的項Connector/J 的rewriteBatchedStatements視頻沒提默認值與效果未從官方文檔核實。作者的落點是對的參數(shù)靠壓測加上線后監(jiān)控來定大項目還要上動態(tài)線程池——參數(shù)改了不可能重啟而線上線程池的使用情況對程序員是黑盒得在用量觸閾值時告警下發(fā)那套可看 第 8 篇的配置中心如 Nacos。6. Spring 事件機制進程內(nèi)解耦的那一檔作者開場替讀者說了實話大部分同學(xué)不知道事件監(jiān)聽因為學(xué) Spring 時不講、寫代碼也很少用。但它源碼里出現(xiàn)頻率極高——視頻原話是Spring 集成其他框架大量用事件監(jiān)聽做擴展Boot 和各微服務(wù)組件都靠它看源碼繞不過。6.1 三件套與觀察者角色映射組成你要寫的觀察者模式里的角色事件Event繼承ApplicationEvent或直接用內(nèi)置的被發(fā)布出來的通知監(jiān)聽器Listenerimplements ApplicationListenerXxxEvent或方法標(biāo)EventListener觀察者發(fā)布者Publisher容器已建好業(yè)務(wù)側(cè)調(diào)publishEvent()被觀察者 分發(fā)器ApplicationEventMulticaster業(yè)務(wù)的例子是「下單后減庫存」想把減庫存和下單解耦就發(fā)一個下單事件監(jiān)聽器做后續(xù)。作者的用途判斷也直白——就是給業(yè)務(wù)之間解耦順帶提高可擴展性與可維護性。發(fā)布路徑可以畫成一條鏈publishEvent(event) -- SimpleApplicationEventMulticaster.multicastEvent -- 按事件類型篩監(jiān)聽器 -- 依次 onApplicationEvent默認在調(diào)用線程同步跑完除了自己發(fā)容器在 IOC 加載的多個位置已替我們發(fā)好了。視頻給的數(shù)字是「內(nèi)置五個事件」點名了上下文刷新完畢、啟動、停止、關(guān)閉以及請求處理那一類想在容器 refresh 完成后擴展監(jiān)聽對應(yīng)事件就行——跟第 3 篇 §5 里ContextRefreshedEvent那個收尾擴展點是同一件事數(shù)量與類名清單我未逐一對照 API 核數(shù)。6.2 同步是默認異步有兩條路最容易答錯的就是這點。視頻表述很準(zhǔn)事件默認同步發(fā)布——你在這里發(fā)事件必須等監(jiān)聽器代碼執(zhí)行完發(fā)布點后面的語句才繼續(xù)。這點在SimpleApplicationEventMulticaster的 javadoc 里能對上默認所有監(jiān)聽器在調(diào)用線程里被調(diào)用好處是開銷小風(fēng)險是「一個失控的監(jiān)聽器可能堵住整個應(yīng)用」。同一個 javadoc 還給了常被忽略的一條異常處理器默認是 none監(jiān)聽器拋異常會中斷本次廣播并拋回發(fā)布者——所以監(jiān)聽器里必須自己兜異常。改成異步視頻給兩條路給監(jiān)聽加注解或給分發(fā)器設(shè)一個TaskExecutor——底層判斷到你配了 executor就用它起子線程執(zhí)行監(jiān)聽器這就是「異步事件發(fā)布的核心機制是多線程」。要注意的正是 §4.2 那句一旦異步監(jiān)聽器就不在調(diào)用線程的事務(wù)上下文里了。事務(wù)綁定事件視頻未展開實踐最有用的一塊我核過 javadocTransactionalEventListener默認階段是AFTER_COMMIT等事務(wù)提交后才觸發(fā)fallbackExecution默認false當(dāng)前沒有事務(wù)在跑就把事件丟掉——線上最常見的一類靜默失效就是它。更要緊的是那段警告AFTER_COMMIT/AFTER_ROLLBACK/AFTER_COMPLETION階段事務(wù)已提交或回滾但事務(wù)資源可能仍活躍此時在監(jiān)聽器里繼續(xù)寫庫改動不會被提交要接著落庫得另起事務(wù)REQUIRES_NEW或走異步。Q4事件監(jiān)聽能替掉 MQ 嗎作者取舍很務(wù)實小型應(yīng)用用事件解耦「大一點的應(yīng)用一般用 MQ 替代事件監(jiān)聽」因為分布式場景下 MQ 性能和能力都更合適。我把「不能替」寫成三條① 事件只在當(dāng)前進程內(nèi)傳多實例部署時另一個實例根本收不到② 沒有持久化和重試進程一重啟還沒跑的監(jiān)聽邏輯就沒了③ 沒有削峰同步模式下發(fā)布者線程直接承擔(dān)監(jiān)聽器耗時。反過來它的價值也明確零外部依賴不必為「下單成功后干點啥」引入 Kafka/RocketMQ 一整套集群、天然貼著事務(wù)邊界、以及它是 Spring 生態(tài)自己擴展自己的方式。判斷標(biāo)準(zhǔn)一句同進程、允許一起掛 → 事件跨進程、要求不丟 → MQ。7. 源碼里的設(shè)計模式十個但別說十個作者的開場條件是「你簡歷寫了熟讀 Spring 源碼」這題就跑不掉。他說整理了十個并給出體現(xiàn)位置轉(zhuǎn)寫里能確認的落點我列全模式視頻給的落點我的口徑與核實狀態(tài)簡單工廠BeanFactory類名可核按 beanName 定義產(chǎn)出實例「它就是簡單工廠」屬模式歸類是口徑工廠方法FactoryBean類名可核容器給外部的是getObject()的產(chǎn)物而非工廠單例單例 Bean / 單例池第 1 篇 §4 已辨析這是容器管的單例不是 GoF 單例模式別混著答代理AOP 底層JDK 動態(tài)代理 / CGLIB代理在哪一步創(chuàng)建見 第 4 篇 §5觀察者事件監(jiān)聽就是本篇 §6 那三個角色能連起來講最好模板方法「幾乎所有外接擴展」各類后置處理器refresh()里一串doXxx、BeanPostProcessor前后兩段第 1、3 篇畫過標(biāo)簽是視頻口徑責(zé)任鏈AOP 的方法調(diào)用過程攔截器鏈依次往下調(diào)第 4 篇 §6 那條鏈?zhǔn)欠駠?yán)格算責(zé)任鏈?zhǔn)枪P者判斷適配器Spring MVC作者還沒看 MVC 源碼可以先不說常指HandlerAdapter——視頻中提到筆者未對照源碼核實裝飾器BeanWrapper視頻中提到筆者未對照源碼核實策略把配置類注冊成BeanDefinition時用的excludeFilters/includeFilters轉(zhuǎn)寫作 exclude field體現(xiàn)不同導(dǎo)入導(dǎo)出策略視頻中提到筆者未對照源碼核實這兩個數(shù)組與FilterType確實存在歸類按視頻口徑作者的答題策略建議照搬記住五六個就夠——工廠、單例、代理、觀察者、責(zé)任鏈這五個基本白撿模板方法屬于「任何框架都用了無腦答」真把十個背滿「面試官已經(jīng)沒耐心聽下去了」。我和他的用法略有不同這題的加分點是模式 具體類名 它解決了什么這三件套。講清兩個FactoryBean解決「實例化過程要我自己控制」SimpleApplicationEventMulticaster解決「發(fā)布方與訂閱方互不知曉」比報十個名字有效。本文覆蓋分 P分 P視頻原始標(biāo)題本文對應(yīng)小節(jié)P07SpringBoot防盜鏈的3種方式1.3三種手段與「只能增加破解難度」P08springboot線程池百萬數(shù)據(jù)插入5三段耗時、切片 線程池 CountDownLatch套路P10SpringBoot解決跨域的5種方式1.1、1.2五種方式對照表、預(yù)檢與瀏覽器限制P11SpringBoot讀配置的6種方式2六種寫法對照表與選型P13SpringBoot可以同時處理多少請求3四參數(shù)默認值、飯店比喻、8292 的口徑爭議P16Spring如何處理線程并發(fā)問題4四種解法 鏈路上的 ThreadLocal、泄漏與異步P41Spring事件監(jiān)聽的核心機制是什么6三件套、同步默認、異步兩條路、事務(wù)綁定P42Spring源碼用到了哪些設(shè)計模式7十個模式對照表與答題策略最后總結(jié)這八題串起來是同一類問題面試官在驗證你有沒有把框架放進真實流量里跑過。我的判斷分四層。第一跨域與防盜鏈必須一起講跨域是瀏覽器的規(guī)矩、服務(wù)端只是配合防盜鏈?zhǔn)欠?wù)端的判定、得自己攔。五種跨域里真正只剩兩條能用——CorsFilter/WebMvcConfigurer管開發(fā)期Nginx 反代管部署期JSONP 是歷史。第二容量題和并發(fā)題都埋著口徑陷阱。8292 是連接數(shù)不是并發(fā)數(shù)同步鎖是安全但不是方案能立住的表達是并行度看maxThreads容量看 QPS × RT瓶頸看下游以及Spring 靠「無狀態(tài) Bean 線程隔離上下文」支撐并發(fā)你寫的 ThreadLocal 只在同一線程內(nèi)成立異步一律踩空。第三性能類題目必須答成「數(shù)字 歸因 收口方式」。17 秒比 90 秒快靠的是重疊 IO 等待不是線程多歸因講清了作者那句「參數(shù)要靠壓測和監(jiān)控定、大項目上動態(tài)線程池」才不是套話。批量插入還要補一條邊界它是能重跑的任務(wù)不是能保整體一致的業(yè)務(wù)寫單——主動交代事務(wù)邊界比等追問好。第四P41、P42 是源碼收尾。事件機制一句話同進程、允許丟、零依賴 → 事件跨進程、不能丟、要削峰 → MQ。設(shè)計模式別貪多能連著類名講兩三個比背十個名字更像看過源碼的人。事實說明視頻里給的事實只代表轉(zhuǎn)寫表述錯字我已按書面術(shù)語修正跨域異常只在前端發(fā)生后端RestTemplate/HTTP client 請求別的域不報錯五種方案為 JSONP只支持 GET、兩端耦合、CrossOrigin單接口、WebMvcConfigurer按前綴批量、CorsFilter全量、Nginx 反代作者最推薦前后端零改動復(fù)雜請求先OPTIONS預(yù)檢、可能請求兩次且需瀏覽器版本支持舉例 IE 不低于 10。三種防盜鏈為 RefererNginx 或過濾器校驗可偽造、Token登錄下發(fā)可合法獲取后攜帶、時間戳差值舉例 300ms可被「請求前睡一秒」繞過并建議疊加拖動驗證碼、大廠再疊行為分析與黑名單。讀配置六寫法為Value、ConfigurationProperties、注入Environment、EnvironmentAware、PropertySource作者稱只吃 propertiesYAML 需PropertySourcesPlaceholderConfigurerYamlPropertiesFactoryBean、JDKProperties手讀流結(jié)論是前三種最實用Value須是 Bean、key 缺失啟動報錯、static/final 不生效。容量題飯店比喻與四參數(shù)含義演示配置 30/10/20/10、超時 300ms、sleep 2s、壓測 100 得 40 成功 60 失敗查元數(shù)據(jù)得默認值 8192 100 8292。并發(fā)題局部變量、prototype、ThreadLocal、synchronized四種解法作者明確最后一種影響吞吐。批量插入90 多秒 → 切 100 份 × 1 萬 線程池核心 32/最大 66CountDownLatch→ 17 秒 → 核心 100/最大 200 → 16 秒Async默認不推薦直接用、需自定義線程池 BeanThreadPoolTaskExecutor比 JDK 的多線程名前綴IO 密集可核數(shù) ×21 兜底后續(xù)靠壓測、監(jiān)控與動態(tài)線程池。事件監(jiān)聽三部分為事件、監(jiān)聽器、發(fā)布者核心機制是觀察者模式內(nèi)置約五個事件默認同步阻塞異步靠加注解或給分發(fā)器配TaskExecutor小應(yīng)用用事件、大應(yīng)用用 MQ。設(shè)計模式整理十個轉(zhuǎn)寫能確認的落點見 §7 表建議答五六個即可。官方文檔 / 公開事實本次親自核實鏈接見文末① Tomcat 9.0 與 Tomcat 10.1 的 Connector 文檔NIO 連接器默認maxThreads200、minSpareThreads10、acceptCount100、maxConnections8192connectionTimeout文檔默認 60000ms發(fā)行版server.xml寫 20000ms達到maxConnections后「接受但不處理」再一個連接、之后由 OS 按acceptCount排隊② Spring Boot 2.7.18 屬性附錄 中對應(yīng)四項同值③ Spring Framework APIcurrent頁面顯示 7.0.9的SimpleApplicationEventMulticaster默認在調(diào)用線程通知所有監(jiān)聽器原文警告失控監(jiān)聽器可堵住應(yīng)用setTaskExecutor可改異步、但異步執(zhí)行不參與調(diào)用線程的事務(wù)/類加載上下文ErrorHandler默認 none、監(jiān)聽器異常中斷本次廣播并拋給發(fā)布者④ 同版本TransactionalEventListenerphase默認AFTER_COMMITfallbackExecution默認false無事務(wù)時事件被丟棄并警告此階段繼續(xù)寫庫的改動不會被提交⑤ v6.1.14 源碼ThreadPoolTaskExecutorcorePoolSize1、maxPoolSizeInteger.MAX_VALUE、keepAliveSeconds60、queueCapacityInteger.MAX_VALUEqueueCapacity0時用SynchronousQueue有taskDecorator字段⑥ 同 tag 源碼CorsConfigurationallowCredentialstrue且allowedOrigins含*時拋IllegalArgumentException并提示改用allowedOriginPatterns⑦ JDK 17ThreadLocalAPI線程消失后其 thread-local 副本才可被回收除非存在其他引用。源碼原文因raw.githubusercontent.com連接被重置改由 jsDelivr 的 GitHub 鏡像按同一 tag 拉取。筆者判斷 / 未核實① 「8292 是本題答案」是視頻口徑我判定它混淆連接上限與并行度該反駁屬筆者判斷② P13 的 40 成功/60 失敗/異常率 60%以及 P08 的 90 多秒/17 秒/16 秒與 32、66、100、200 這些線程數(shù)全是視頻口述、未復(fù)現(xiàn)的觀察值不構(gòu)成性能結(jié)論③ 壓測工具轉(zhuǎn)寫作 “g matter”我按 JMeter 理解屬推測④ 「CORS 需 IE10 及以上」的兼容矩陣、Nginx 校驗 Referer 的指令名與寫法、max_allowed_packet默認值均未核實⑤ 時間戳防盜鏈 300ms 的閾值方向在轉(zhuǎn)寫里含糊我按「間隔過短判為機器」理解改用服務(wù)端下發(fā)帶時效的一次性簽名屬筆者建議⑥PropertySource只支持 properties、YAML 必須靠YamlPropertiesFactoryBean是視頻口徑Value在 static/final 上失效的確切成因、ConfigurationProperties需要哪些開啟方式如EnableConfigurationProperties未核對⑦Async未指定 executor 時底層退化成什么執(zhí)行器我沒核到源碼v6.1.14 里該類父類文件的路徑與我嘗試的不一致故只轉(zhuǎn)述作者的「默認不推薦直接用」Boot 自動配置那個線程池的默認參數(shù)也未核實⑧ThreadLocalMap「弱鍵強值」這條常見表述我只核到 JDK 文檔「線程消失后才回收」那句Entry 引用強度未看源碼⑨ MySQL 的rewriteBatchedStatements、以及數(shù)據(jù)庫連接池上限如 HikariCPmaximumPoolSize會卡住并發(fā)寫都是筆者補充默認值與效果未從官方文檔核實⑩ 「200 線程 × 100ms ≈ 2000 QPS」是我給的分析框架視頻沒有且假設(shè)了純阻塞、無下游瓶頸? P41「內(nèi)置五個事件」的確切數(shù)量與類名清單、以及 Boot/Spring Cloud 各組件靠事件集成的具體落點未逐一對照源碼? P42 表中標(biāo)「視頻中提到筆者未對照源碼核實」的三處MVC 適配器HandlerAdapter、BeanWrapper歸裝飾器、excludeFilters/includeFilters歸策略以及把BeanFactory/FactoryBean歸為簡單工廠與工廠方法、把后置處理器歸為模板方法、把 AOP 調(diào)用鏈歸為責(zé)任鏈都屬模式歸類源碼里不會有這種注釋? 文中判定鏈與流程示意是我按轉(zhuǎn)寫描述和文檔行為重繪的不代表視頻畫面原圖。參考資料 致謝[1] Spring面經(jīng)-嗶哩嗶哩77 個分 P 的 Spring 面經(jīng)合集本文取材其中 P07、P08、P10、P11、P13、P16、P41、P42 八段文中一律稱「視頻作者」感謝他每題都配了可跑的例子。[2] Apache Tomcat 9.0 配置文檔 · The HTTP Connector / Tomcat 10.1 同頁線程數(shù)、連接數(shù)、acceptCount、connectionTimeout默認值。[3] Spring Boot 2.7.18 參考文檔 · Application Properties 附錄server.tomcat.*屬性名與默認值。[4] Spring Framework API · SimpleApplicationEventMulticaster / TransactionalEventListener同步默認、異步 executor 的上下文限制、AFTER_COMMIT與fallbackExecution。[5] Spring Framework v6.1.14 源碼 · ThreadPoolTaskExecutor / CorsConfiguration線程池默認值、allowCredentials與*的沖突經(jīng) jsDelivr 鏡像核對原文。[6] Spring Framework 官網(wǎng) / Spring Boot 官網(wǎng) / Nginx 官網(wǎng) / MySQL 官網(wǎng) / Apache JMeter 官網(wǎng) / Apache Kafka 官網(wǎng) / Apache RocketMQ 官網(wǎng) / Nacos 官網(wǎng) / Oracle JDK 17 API。[7] 同系列前八篇Bean 生命周期、循環(huán)依賴、容器擴展點、AOP 與代理、事務(wù)、Spring MVC、Spring Boot、微服務(wù)本篇所有交叉引用只給一句指向不重復(fù)展開。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩精品大香蕉伊人在线| 久久伊人大香蕉| 天天爽天天操啊啊啊| 国产精品麻豆免费视频| 91女神在线视频| 久久久久久久久久久精| www.av在线视频| 最新欧洲欧美日本激情网站| 亚洲国产精品久久久久婷婷老年| 17c在线成人免费A片观看| 97天天爽| 亚欧操逼片在线观看| 美女诱惑久久| 亚洲不卡av在线| 色97综合中文字幕| 国产大陆天天艹| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产精品一二三免费网站| 人妻素股| 人人艹亚洲| 超碰97资源中文字幕| www.男人的天堂| 欧美人人AAA| 亚洲精品黑丝| 亚洲AV永久无码一区仙野| 亚州欧美综合| 粉嫩av平台| www色色com| 亚洲骚男同com| 另类小色呦| 乱色老一区二区三区的观看方式 | 天天内射| 青娱乐国产精品| 天天舔九色婷婷| 日韩视频精品在线观看| 91老熟女老女人国产老太| 免费αV在线视频| 91jk色拍| 激情五月天丁香社区| 亚洲国产青青| 偷看洗澡一二三区美女| 中欧人妻丝袜中文字幕| 一区,二区,三区网站| 视频不卡中文字幕| 青娱乐 成人娱乐在线| 丰满人妻-区二区三区| 夜夜操av亚洲一区二区| 美女午夜福利免费视频| 在线观看啊啊啊啊啊| 97色色色| 超碰国产精品无码| 久久久天美| 五月婷婷六月色| 91丰满| 91久久久久免| 99久久久久久亚洲精品不卡| 午夜毛片高清免费不卡| 一区二区娱乐网站| 国产精品第一页国产大屁股视频免费区| 国产超碰国产97| 国产中文字幕在线点播| 久久是精品| 久久久久久午夜男人的天堂| 另类图片欧美激情综合| 亚洲资源网| 精品一区二区亚洲国产| 中文字幕一区二区视频在线观看| 欧美暴力猛交| 国产欧美伊人| 免费a在线播放v| 羞涩视频| 欧美成人国产精品| 久7色| 国产精品盗摄 偷窥盗摄| 国产热av| 日韩传媒在线| www.丁香五月| 草草影院最新网址| 好爽视频在线观看| 青青欧洲黑| 六月丁香五月婷婷| 操逼www.| 尹人免费观看视频在线| 丝袜美腿91| 亚洲精品一二三四区| 综合五月婷婷亚洲一区| 五月天亚洲色图| 色麻豆AV| 亚洲网自拍| 欧美精品999| 7777奇米影视久久| 欧美色网络| 亚洲综合情色| 后入内射蜜桃臀| 操www| 一区二区三区高清| 亚洲 欧美 日本 国内 首页| 精品人妻一区二区三区-国产| 久久精品国产亚洲AV无码电影| 男女啊啊啊| 不卡一区视频| 精品人妻一区二区三区夜夜| 欧美午夜视频| 久久人妻四季| 亚洲日韩肥臀视频在线观看| 亚洲操操操| 国内毛片热久久思思热| 熟妇高潮一区二| 久久人人爽人人爽人人片Ⅴ| 秋霞久久亚洲精品成人| 国产二区三区免费视频| 一区二区三区视频| 亚洲情色综合网| 亚洲情色在线| 白丝AV网站| 国产一区二区欧美日本| 思思热在线cao| 久久亚洲中文字幕视频| 午夜美女诱惑电源网| 老司机免费视频在线91| 亚洲欧美色综合| 欧美三级一级| 99色色网| 丁香五月天啪啪| 可以在线观看AV的网站| av无码精品久久久久| 翔田千里无码中出中文字幕| 日韩av性爱在线播放| 综合久久9| 欧美高清第一页| 亚州欧美在线| 97操97干| 猛猛干| 加勒比aⅴ| 欧美同性恋 的搜索结果 - 91n| 欧美猛交黑寡妇中文字幕| 成人日韩中文字幕| 中文字幕少妇色| 免费看污网站| 艳尻美人妻| 国产美女激情| 99在线啪| 巨乳特殊服务按摩| 国产精品白领在线观看| 人人看黄色视频| 国产精品成久久久久午夜午夜| 色噜噜国产精品视频一区二区| 九九热re99re6在线精品| 久夜操| 午夜传煤十二区精品| 久久日韩肥臀| 久久久久亚洲Av无码专区老牛影视 | 欧美97免费| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 在线免费试看60秒| 国产熟女无套内射| 操人人| 亚洲中文一区二区三区| 欧美日韩岛国大片在线观看| 操人91| renqi久久久久久久久久久久| 2020国产精品| 欧美第38页| 午夜福利在线视频1000| 欧美综合色综合| 五月天久久人妻| 97干97色| 日本一区视频在线观看| 婷婷五月综合在线| 日韩精品一区二区三区四虎影视| 日本精品人妻少妇一区二区| 9 9无尺码天堂网| 国产九九九九九九| 麻豆成人影音在线| 国产成人自拍视频视频| 丁香五月影院| 色哟哟-国产专区| oumeizonghese,www| 亚洲偷91色| 99热婷婷一区二区三| 国产激情视频一区区三区| 天天色图| 国产精品成人无码av无码免费| 九九aV| 夜夜爽妓女| 久久骚| 97欧美日韩综合| 岛国黄片网站| 大香蕉亚洲中文| 九九九九日本 | 99九九精品| 久久视网78| 久久99干一本高清| 国产一区二区在线播放量| 日韩久久.一级黄色片| 开心五月婷婷激情| 97在线青| 国产午夜精品理论片a大结局| 免费av大片| 四虎 精品 WWW| 人人操人人精品影片| 性综合网| 性爱1区| 2017大香蕉国产精品久久| 日日躁狠狠躁天天躁精品| 探花精品 一区二区| 国产美女mm131爽爽爽爽| 在线观看十八禁| 夜夜国自区| 人人做天天爱| 欧美熟妇精品黑人巨大一二三区| 欧美激情 亚洲色图| 国产精品一区二区亚洲人成毛片| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 久久国产99精品72福利| 欧美色图20P| 国产精品999zyz| 久久夜嗨| 日韩精品字幕| 综合国产97| 天天干人人乐| 67914亚洲精品| 久久机热| 亚洲强奸乱伦影视网| av午夜玫瑰| 欧美亚洲天堂| 欧美亚州手机在线| 欧美综合色,www| 大地资源在线观看中文第二页| 欧美最婬乱婬爆婬性视频 | 狠狠干狠狠色| 激情文学亚洲| 另类一区| 91欧美巨乳| 操婢日韩| 天天看高清麻豆| 日熟女| 美女人妻色网站| 久久精品久久久久久久| 免费视频无码| 欧美激情区| 91chinese在线| 亚洲极品| 天天做天天爱| 后入式免费视频| 大香蕉宗合网在线| 国产精品第一页国产大屁股视频免费区 | 无码91| 啊啊啊免费| 亚洲成人碰碰| a级免费在线观看| 大香蕉免| 波多野结衣一级视频| 性无码专区2020| 婷婷亚洲中文字幕在线| 免费家庭乱伦视频| 小草av不卡亚洲二区 | 日韩精品碰碰| 视频黄站| 色色丁香| 凹凸视频在线一区二区| 婷婷色香| 老熟妇一区二区三区…| 日本免费二区三区| 日韩人体偷拍| 欧美A片中文字幕| 午夜AV污污污| 91色久| 亚洲欧美天堂| 九九久久99| 91高清无码下载| 久久久久国产精品人妻aⅴ天堂| 91在线精品| 色哟哟精品1精品2| 人妻天天爽夜夜爽爽| 国内精品久久人妻性色av| 亚州综合图片| 婷婷五月成人| 国产精品久久久久久久无码AV| 人人爱夜夜爱| 中国探花熟女| 人妻少妇久久中文字幕一区二区 麻豆 | 91老女人| 人人操人人射人人干| 久久ww| a片自拍直播视频| 亚洲熟久久| 激情丁香五月婷婷| 欧美一区二区日韩三区| 亚洲天堂另类| 精品97精品97| 天天日天天色| 美女尤物人人操| 欧美色性情| 偷拍欧美激情| 久久鲁干| 国产精品女同| 美女操逼福利视频| 曰韩人妻中文字幕在线| 少妇高潮喷水无套久久久久久| 91色情黑丝搞鸡在线观看一区二区三区三州| 国内外内射高清视频| 一区二区不卡| 精品国产嫩穴视频| 亚洲成人性爱在线观看| 亚洲图片欧美色图| 男人天堂毛片| 好看的久久不射无码影视影院| 国产精品999zyz| 国产精品成人午夜福利| 91狠狠狠| 91天美传媒在线观看| 一区二区 韩日AV| 日本三级A片网站com| 大香蕉伊人75| 亚洲风情综合网| 国产污视频麻豆传媒一区二区| 精品久久人妻成人网| 极品色综合| 在线情色电影 91大 | www.狠狠| 在线中文字幕极品av| a片 xxxx受爽视频| 天堂性色| 久区视频| 久久9精品网站| AV天天在线观看| 亚洲各类熟们中文字幕| 国产精品麻豆视频网站| 激情五月综合开心五月| 少妇被c 黄 免费观看| 亚洲资源吧| 人妻激情在线视频| 亚洲综合图片在线| 九九热视频这里只有精品| 久久精精区一区二区一蜜桃一区二区| 99操视频| 亚洲欧美经典一区二区| 日韩中文字幕在线视频观看| 亚洲免费在线探花| 亚洲性网| 91色色网站| 九九九九AV| 99超碰网| 在线洲亚线| 国内成人圈中文字幕无码视频| 制服少妇欧美| 国产在线精品电影观看| 啊啊啊啊好疼视频| 免费97视频| 少妇专区一二三四五| 97超碰色屌| 99国产天美| 日日日啊啊啊| 日夜久久久九九九久| 欧美夜夜狠| 欧美激情综合色综合啪啪五月| 国模精品一区二区三区苹果色戒| 日韩av在线播放不卡| 久久久精品无码亚免费| 国产精品视频精品一二| 日本免费亚洲欧美| 日本网色| 青青草中文-久久青草精品一区二区三| 探花精品视频| 夜夜爽33333| 天天欧美色| 日韩情色视频| 91电影色诱| 97人亚洲综合字幕| 使劲用力艹少妇视频一区二区| 伊人久久大香线综合无码| 天天干人妻| 啊操爽品善一区二区三区| 少妇毛片久久| 1024午夜激情男人的天堂| 97网址97| 天天综合网91| 亚洲欧洲自拍图片专区满春格| 中文字幕人妻资源在线| 91精品人妻电影| 美女刺激久久国产欧美| 中文字幕 一区二区 亚洲无码| 18岁禁 茉莉成人久久| 夜夜做夜夜爽精品视频| 视频国产成人精品日本亚洲18 | 黑人嘿嘿嘿超爽免费视频| 日韩AV片| 精久久久| 天天激情干| 久妇网| 精品一国2| 大香蕉久久| 天天插夜夜操| 在线黄页看毛片| 久久夜精品一区二区三区| 亚州男人天堂| 久久精品国产亚洲AV片多多 | 97色婷婷| 夜夜爽夜夜摸夜夜操免费视频| 日少妇亚洲版| 老熟女91视频| 国产亚洲99久久精品| 女同亚洲欧美一二三区久久电影| 亚欧洲一区二区视频| 亚洲欧洲自拍图片专区满春格| 天天射影院| 欧美女同在线| 日韩性爱小视频在线观看| 久久久久久91香蕉国产| 亚洲国产熟妇综合色专区| 国产精品久久久久久久黄无码| 久久久久久性爱视频| 国模无码人体一区二区三| 蜜臀精品1区2区| 国产精品视频内谢女人| 色婷婷综合久久中文字幕雪峰| 伊人91| 国产大学生高潮在线播放| 偷拍片久久| 手机看片1024你懂的国产| 青青草女人天天干| 极品色www影院| 日韩欧美~中文字| www欧美性爱| 97在线欧| 成年女人一区| 九九精品99| 98福利在线视频| 婷婷视频在线免费观看| 欲香欲色综合天天伊人| 亚洲综合另类| 日日夜夜草草草| 久久久久久69国产一区二区| 超碰在线1234区| 激情五月天视频| 欧美一级A一级a爱片久久| 亚洲情色五月天 | 怡红院视频在线| 免费操逼91| 伊人网在线观看| 国产精品岛国片在线观看| 人人操人人摸超碰| 成人热久久精品| 亚洲av淫乱| 600国产精品视频| 欧美天堂日韩三级国产传媒| 日韩人妻中文视频| 久久久久久999| 色婷婷综合久久久久中文一区二区| 国产亲戚伦亲在线| 亚洲AV麻豆Aⅴ无码电影一| 97网站在线观看| 亚洲一区二区三区麻豆传媒| 99热99在线| AA特级绝黄| 91中出| 蜜臀网址在线| 欧美精品不卡一二三四在线91| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 极品一区二区三区免费| 日本999精品视频| 啊啊啊啊视频免费| 色婷婷影视| 国产成人精品日本亚洲语言 | 日韩性爱人人爱人人操| 一区二区三区黄色片a| 超碰在线人妻中文字幕| 内射小黄片| 亚洲国产尤物yw在线观看| 国产高清午夜成人在线观看| 在线日韩精品一区二区三区| 久9re热视频这里只有精品| 欧美精品三级黄片| 91午夜无码| 久久久无码av精| 亚洲一区二区三区欧美日韩| 欧美一级黄片免费播放| 亚洲人成网www| 午夜男人天堂| 黄色十八禁| 久久久涩| 日韩三级在线观看网站| 欧美系列在线一区二区| 99这里有精品| 日本999精品视频| 午夜一区二区三区国产| 久久久久久AV无码免费网站| 日韩在线视频1234| 亚洲日韩乱码中文无码蜜桃臀网站| 欧美色图亚洲色,麻豆| 天天看片青娱乐| 国产亚洲精品一区二区三区| 国产99久久99热这里只有精品15| 婷婷五月天成人| 久久久穴999| 精品人妻一二三四区视频| 超碰色图| 网页导航五月天免费一二三区| 欧美亚洲日韩人妻在线观看| 嗯嗯啊好大| 久久久一区二区三区四区五区| 欧美 亚洲 综合 制服 另类| 搡老女人老91二区| 久久久精品视频免费观看| 欧美老熟另类| 丰满人妻-区二区三区| 乱伦av麻豆| 嗯嗯啊操我| 日本熟妇自慰性高潮一区二区三区| 九九九色| 蜜色网色哟哟| 大香蕉日韩| 秋霞影音一区二区三区| 伊人精品视频| 青娱乐欧美激情一区二区| 亚洲少妇视频| 99热在线播放| 亚洲一区二区中文字幕| 成人三级片无码| 亚洲人码13| 国产精品亚洲无码| 性色国产东北露脸精品视频| 熟妇的味道HD中文字幕| 人人澡综合涩| 国产强奸AV在线| 国产欧美伊人| 96精品久久久久久久久久| 丝袜美腿诱惑亚洲欧美视频在线观看| 丰满少妇精品一区二区| 国产一区二区av综合| 啊啊啊啊啊舒服| 日本护士高潮| 蜜臀久久99精品久久久久久-DVD| 日韩精品 资源| 超碰美国| 丝袜综合| 久久‘黄片视频| 极品少妇久久久久| 无码9区| 一起草三级AV电影在线观看| 乱码熟妇人妻久久久| 成人麻豆av电影网站| 骚女高跟AV在线| 人妻精品一区二区在线| 我要色综合网站| 蜜臀久久99精品久久综合| 国产白丝精品在线观看| 欧美国产有色电影| 久久男女激情视频网站| 欧在线一二区| 好爽免费视频,| 99热网站| 在线观看免费视频国产| www.99热| 久久男人的天堂| 久久综合女优| 日韩欧美视频青青| 中日亚韩免费视频| 99人妻| 99久国产精品午夜性色福利| 婷婷五月天激情网| 91九色在线| 欧美一二三区四五区| 中文一区二区| 98久久| 夜夜爽夜夜高潮夜夜爽| 亚洲少妇中文字幕网址| 豆花视频操逼网址| 亚洲少妇综合| 91精品免费| 久九九九九九九热| 大奶啊啊好爽 | 伊人91| 免费男人的天堂| 日本不卡二三区| 久久香蕉国产传媒一区剧情天美| 久久久国产亚洲精品系列| 青娱乐老司机视频| 国产精品久久久久久久久久久久| 91制服丝袜| 欧洲精品欧洲精品| 亚洲情色一区二区三区| 亚洲美女30b| 看黑人AV不卡| 久久人妻办公室视频| 九九无码视频| 日本三级中国三级99人妇网站| 精品毛片av一区二区| 狠狠色伊人亚洲综合网站色| 亚洲高清综合网| 欧美草草高清日韩视频| 偷拍99| www欧美91| 欧美草草| 91亚洲图片| 91丝袜在线播放| 性猛交| 亚洲丝袜综合| 天天日天天操天天射河南省| 女人天堂av在线播放| 一区二区三区美女超清| 欧美一级A一级a爱片久久| 欧美亚洲天堂| 日韩欧美俄罗斯A片| 亚洲精品丝袜-不卡成人免费……| 九九玖玖精品| 91在线一起| 人人玩人人添人人澡免费| 人人看人人摸人人色| 精品国产一区二区久久| 天天天堂影视日韩亚洲91| 九九碰九九爱97超碰| 欧美顶级黄色大片免费| 精品射1999| 97chaopengongkai| 国模不卡| 麻豆黄四叶草网站| 97爱| 天天影视色香色欲| 99热在线只有精品| 国产东北女人在线视频| 日本一二区免费| 精品人妻av区天天看片| 人人操人人摸人| 亚洲色图欧美另类在线| 欧美AAAA黄片| 大香蕉伊人网WWWn0n| 国产免费小视频| 啊v视频在线观看| 日韩中文9| 做爱A级亚欧| 国产AV天美| 五月丁香黄色网| 久久精品免费| 超碰在线人妻中文字幕| 日韩在线女优天天干| 蜜臀AV午夜精品久| 免费观看有码高清视频| 欧美精品庄| 天美av在线观看| 91天天看| 91网亚洲| 超碰在线观看av不卡| 无码视频一区二区| 亚洲啪啪视频一区二区| 久久久久久久久国产| 日韩不卡a级视频专区| 久久久草草精品| 五月天成人综合| 91香蕉国产尤物视频| 九九九九九九成人| 亚洲欧美在线观看2021| 熟人人妻少妇精品久久| 狠狠综合网| 911粉嫩人妻| 91撸色网 玖玖网 欧美| 91精品久久久久久77777| 男人a天堂手机在线版| 青青操97| 人人操我人人干| 一区二区三区四区姦女| 欧美一区二区三区不卡高清视频| 黑操B| 国产深夜福利| 欧美成人亚洲精品| 日韩在线一区高清在线| 国产在线综合网| 18精品一区| 九九精品99| 啊啊啊好大好湿| 激情网色| 丝袜美腿操av| 一区在线观看中文字幕| 午夜美女诱惑电源网| 六月婷婷五月丁香| 亚洲春色欧美激情自拍| 激情久久日韩精品中文字幕麻豆| 能看的AV| 99久久久无码精品国产人| 后入式五六区| 中文字幕艹艹| 第四色奇米影视777| 欧美性Fer办公室秘书| 久久无码电影| 亚洲黑人在线| 精品乱码在线观看| 精品无吗久久| 日韩精品区二区三区不卡| 欧美亚洲一级在线观看| 精品97久久| 欧美在线视频观看一二三四区高清| 99色色网| 国产小黄片在线免费观看| 精品亚洲天堂| 精品一区99999| 天天操天天射青青草| 91在线超高颜值国产| 嗯嗯不要视频| 欧美在线|亚洲| 欧美后入视频| 内射黑人| 久妇网| 男人夜色天堂ss| 99ri在线视频| 最新日韩黄片| 黄色小视频日本txt| 为用户提供免费看黄网址在线观看| 精品日日人妻| 毛片99-全集电影手机免费观看完整-B029AV | 亚洲色图欧美色图制服丝袜| 长长久久免费视频| 操碰91| 97人人模人人爽人人| 黄色视频特级毛片| 高清国产av无码| 日本肉体xxxx裸交| 日本人妻A片成人免费看片| 高清国产av无码| 狠狠操狠狠插| 欧美少妇高潮视频| 国产男女无套视频免费观看| 成人女人国产| 色哟哟1区2区| 亚洲性猛交| 中文字幕精品三级久久久| 欧洲精品欧洲精品| 欧美日韩亚洲少妇寂寞影院正在播放 | 在线播放成人网站| 人妻丝袜无 码视频专区| 久操大香蕉手机视频在线看| 校园春色之综合网| 日日干男人的天堂| 很狠操| 男同专区一区二区三区在线| 国产精品午夜AV完会免费| 日韩高清黄片| 天美麻花大全视频| 九九热免费国产视频婷婷伊人| 搡老女人老妇女老妇老熟女怎么读| 嗯嗯,啊啊,国产精品| 91中文精品日韩欧美在线| 淫乱图区| 97干在线视频| 日韩熟女操逼| 91在线无码精品秘 软件| 97色婷| 亚洲妇色| 少妇色欲综合网2| 一区二区三区国产在线播放| jizz啪啪| 无码少妇精品一区二区60岁老人| 亚洲第一成人影院色播| 亚洲影视综合网| 色综合99999| 麻豆天美传媒毛片| 亚洲精品精品一区二区| 日韩精品99久久久久久中文字幕| 尤物视频偷拍免费| 色翁荡息又大又硬又粗又爽| 91久久久久久久| 97精品综合久久网| 欧美成人精品欧美一级乱黄一区二…| 都市久久精品激情亚洲| 欧美做爰无码A片视频| 亚洲综合另类欧美久久久| 97天天插| 欧美性爱18观看| 国产一级αv免费看片| 成人五月天色网| 中文字幕欧美丝袜07资源| 一级A啪啪啪啪| 亚洲熟久久| 呦呦影院| 久久久com| 午夜一区| 人人操人人狠狠操| 老熟妇一区二区三区| 正在播放国产精品一区| 97久久超碰国产网站| 777超碰| 99re视频在线观看这里只有精品| 无码久| 乱伦av国产| 欧美人妻二区三区| 日本孕妇一区二区视频操逼免费看 | 人妻丝袜日本| 欧美日韩丝袜| 色牛aV| 日本天天吊| 少妇熟女一区二区三区| 人人天天欧洲| 啊啊啊慢点| 麻豆 欧美 日韩| 免费操逼91| 日本久久综合| 东北丰满熟女国产一区| 啊啊啊啊好疼视频| 久草免费在线一区二区| a啊啊啊啊啊啊啊啊一区二区| 久操大香蕉| 绯色一区二区三区不卡少妇 | 亚洲资源吧| 久久女人一区二区三区| 午夜视频黄| 亚洲加勒比色图| 毛片视频白嫩| 国产精品婬乱一级毛片彝族| 91狠狠综合久久| 久久精品国产99国产精品亚洲| 日韩一级成人毛片免费观看 | 国产视频97| 老师充足的奶水小说| 亚洲黄网在哪免费看| 96精品久久久久久久久久| 加勒比人妻综合| 欧美性特| 一区二区娱乐网站| 翔田千里A片一区二区| 久久精品无码熟妇一区二区三区视频导航 | 成人亚欧免费视频| 日本性爱视频一级| 中文乱码字幕观看视频| 熟妇激情| 91无码人妻| 日韩精品人妻中文字幕有码午| 婷婷色中文字幕| 色噜噜人妻丝袜a∨先锋影| 久久成人国产精品| 91白虎| 无码人妻毛片丰满熟妇精品区| 2025亚洲男人天堂| 色蜜AV| 六月天婷婷| 大香蕉黄色一区| 人人操人人狠狠操| 天天色综合天天操| 福利在线观看一区二区| 岛国在线免费视频| 老子午夜伦不卡影院| 精品九九| 看日韩黄片| 欧美综合1性辶| 亚洲精品蜜桃久久久| 久操影视| 999国产精品999久久久久久| 超碰在线综合97| 中文字幕1区2区| 一区二区视频在看| 亚洲欧美另类图片| 人妻天天爽天天爽三区| 色牛aV| 黄色片一区二区三区四区五区| 不卡中文字幕aⅴ在线| 无码外流操逼视频| 国产女人和拘做爰视频 | 啊啊嗯嗯好爽| 探花视频免费观看国产专区| 91欧美大片| 中文字幕乱在线伦视频中文字幕乱码在线| 草草影院最新网址| 天天看,天天做| 中文字幕一区av| 97碰碰日本乱偷人妻中文的| 亚洲欧洲第二视频在线观看色图| 欧美综合传媒| 男人天堂新在线| 日本色色视频网站| 欧美在线干| av情色影音| 久久九操在线观看| 亚洲中文字幕一区二区| 日韩国产不卡在线视频| 国产小视频91| 国产有码一区| 亚洲亚洲亚洲天堂天堂| 毛片一区二区| 色婷婷丁香五月| 欧美猛交黑寡妇中文字幕| 九九九九九九九九九国产精品| 欧美v日韩v亚洲v最新在线| 国产AV毛片| 亚洲 欧美 中文 日韩超碰| 亚洲性少妇| 久久婷婷电影网| 一区二区 韩日AV| 久草成人影片| 欧美亚洲| 日韩精品第3页| 一区二区高清视频| 亚洲中文字幕av| 蜜臀无码一区二区| 九九精品99| 欧美熟妇人体| 免费精品国偷自产在线在线 | 中文字暮97| 神马麻豆福利院| 欧美日韩性爱无码| 欧美日韩亚洲高清不卡一区二区三区| 日天天九九天堂666| 人人天天干干| 欧美青青草视频| 天堂无码精品国产久| 亚洲色图a| 欧美日韩一二三| 一级黄色影片| 精品久久97| AV中文在线可看| 激情小说亚洲| WWW4虎| 麻豆国产视频精品观看| 操香逼| 最新av网站在线观看| 久久爽爽精品| 国产午夜激片Av毛片不卡| 91蜜桃传媒精品久久久一区二区| AAA久久| 性猛交| 美骚妇av高清在线| 岛国AB视频| 香蕉精品二区二区| 五月天激情网站| AA级电影三区| 超碰伊人在线| 色色亚洲| 国产乱伦性爱区| 免费亚洲国产精品久久一区| 亚卅熟女乱色| 91丝袜| 91强在线播放| 精品少妇后入一区二区三区四区人妻巨乳| 婷婷综合伊人一区| 天天激色| 欧美亚涩| 日本国产欧美高清在线| 欧美激情高清性猛交| 妇女视频网站| 亚洲综合色男人网| 中国zzijzzijzzwww精品| 精品一级| 欧美骚少妇| 97se综合网| 91爱综合| 操逼逼无码| 俄罗斯一区二区视频在线观看| 91白嫩| 大但人体久久久久| 欧亚日韩三区| 婷婷五月天av| 欧美亚洲日本视频久久久| 日韩综合无码一区久久92| 一卡二卡在线播放| 99999这里都精品| 人妻夜夜爽天天爽麻豆三区网站 | 熟女精品va中文字幕| 1769一区| 97碰久久| 野狼福利社区| 天天色综合影视网| 亚洲drav色图| 日韩不卡一二三四| 熟女网站最新| oumeizonghese,www| 日韩三级在线观看mp4| 九色 人妻 大香蕉| 欧美视频在线第3页| 99热综合| 欧美成人9797| 国内精品999| 91人妻人人妻| 亚洲色图 欧美热图 清纯唯美 另类自拍| 免费观看有码高清视频| 清柠毛片| 免费人人搞97| 啊啊啊啊在线观看网址| 九九拍拍精品视频在线播放 | 国产情侣自拍在线播放| 国产精品无码AV网站| 婷婷午夜| 天天射网| 国产精品扒开腿做爽爽爽视频| 国内一级精品| 青娱乐淫乱1314| 亚洲国产成人福利在线观看| 天天插夜夜操| 五月天色色色| 艳尻美人妻| 老鸭窝成人| 久久久久久久强迫| 欧美性爱第一区| 国产 无码 一区二区| 婷婷综合在线| 欧美久久毛片基地| 好一吊区二区| 99e久久国产精品| 亚洲图片偷拍视频区| 成 人 影视 一区 二区 三区 四区| 东北老女人的激情视频| 亚洲日本大香蕉1| 日韩熟女操逼| 狼人久草| 亚洲欧美日韩电影网站一区 | 天天影视之亚洲综合网| 九九AV| 全球成人中文在线| 蜜桃视频精品一区二区三区| 桃色人妻在线视频| 麻豆精品一区二区三区四区免费观看| 国产精品探花视频| 99.色网| 天堂性色| 欧美婷婷| 国产91丝袜在线播放蜜月| 一级做a爰片性色毛片久久| 五月丁香亭亭| 蜜桃臀AV在线| 久久久久久久亚洲Av无码| 中文字幕少妇色 | 狠狠狠狠狠| 蜜桃久久精品一区二区三区| 啊啊啊好大好深| 蜜桃视频成a人v在线| 性吧在线视频| 久久αⅴ| 亚洲中文日韩精品| 大香蕉色欲AV| 日本色色色色色视频| 9热9热综合网| 在线观看一级α片刺激高潮视频| 婷婷色网| 99超碰碰| 亚州精人品大香蕉| 国产精品久久久啊| 加勒比大香蕉视频在线| 亚洲黄色电影| 天美麻花大全视频| 少妇特黄一区二区三区| 久精品无码av一区二免费国产在线观看| 国产精品天干天干综合网麻豆| 精品毛片av一区二区| 欧州激情视频在线一区二区| 久久午夜鲁丝片| 激情综合网一盗摄| 亚洲最大无码中文字幕网站| 熟妇一区,二区,三区。| 人妻AV 中文字幕的| 亚洲加勒比久久日本道| 嗯嗯啊啊啊好舒服| 亚洲国产婷婷在线播放| 夜夜免费视频| 日本高清久久| 热久久国产| 亚洲日本大香蕉1| 小草精彩毛片| 亚洲免费成人精品电影| 亚洲色图欧洲| 91丝袜激情在线| 丁香九月激情啪| 五月天我淫我色av| 性欧美| 九一精品牛牛一区二区| 五月天久久久| 91免费看一区二区三区| 日韩中文9| 性色avv| 丰满高潮18xxxx| 五月婷亚洲精品天堂| 看大黄色大片原件| 五月天亚洲网| 日本精品国产视频| 色性综合| 图片区小说区| 一个国产在线综合网站| 久久久96| 色吊丝 日日骚 清纯唯美| 亚洲人91| 中国黑人三级片网站上区| 大香蕉AV丝袜| 久久久九九网站| 亚洲精品aa久久伊人| 亚洲成人日韩小说| 免费岛国一级片| 久久啊啊啊| 丝袜亚洲综合| 91亚洲人| 熟妇色99| 九九九色| 富女玩鸭子一级毛片| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 激情小说日韩无码| 男人天堂网站| 久久无码精品| 热99re69精品8在线播放| 中文字幕丝袜| 色综合加勒比| 热99这里有精品综合久久 | 午夜国产成人福利视频| 亚欧韩av| 情侣开房子拍 日韩无码 女的很漂亮| 婷色五月| 久久久九97| 久久超碰、| 九一精品牛牛一区二区| 激情露脸爱| 99热免费精品| 妇人噜噜| 欧美色日| 丝袜 中出 制服 人妻 美腿 中文字幕| 欧美翘臀视频网站一区二区三区| 极品国产内射| 日本黄色精品专区网站| 天天干天天燥| 99久久久久| 青青草在线成人视频| 性生活无遮挡纯毛片在线看| 中文字幕精品专区搜索结果91| 蜜臀久久99精品久久久久久成人小说 | 淫色网综合| 加勒比久久av| 亚洲黄片免费在线播放| 日本一区二区三区四区免费观看| 大香蕉五月天| 午夜天堂精品久久| 男人的天堂kva| 蜜臀无码视频在线观看| 欧美日韩香蕉| 欧美日本久久精品一区 | 黄久在线| 欧美日韩在线视频网站| 啪一啪免费视频| 中文字幕av久久爽Av| 67914在线兔费成人视频| 精品三级在线专区| 97自拍视频在线| 日本天堂在线播放| 一区二区乱码福利| 思思热在线| 午夜美女诱惑电源网| 欧美日韩国产高清在线一二三区| 97色冈| 97免费在线观看| www.激情| 综合色久欲| 久久亚州精品成人Av无| 97色插| 欧美性爱精品七区| 十八禁网站在线| 中文久久久| 综合色图区| 亚洲国产成人综合碰碰三级经典| 99热只有| 超碰美国| baisiav| 韩国三级一线观看久| 97久久超碰国产网站| 大香蕉乱级| 在线一区| 人人天天干干| 亚洲色图欧美色18直播在线| 夜夜影视四色|