1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        7種方式,教你提升 SpringBoot 項(xiàng)目的吞吐量

        共 9488字,需瀏覽 19分鐘

         ·

        2022-04-07 14:58


        作者:灬點(diǎn)點(diǎn)

        來(lái)源:xhcom.blog.csdn.net/article/details/88046026



        、步執(zhí)行

        實(shí)現(xiàn)方式二種:

        1. 使用異步注解@aysnc、啟動(dòng)類:添加@EnableAsync注解
        2. JDK 8本身有一個(gè)非常好用的Future類——CompletableFuture
        @AllArgsConstructor
        public?class?AskThread?implements?Runnable{
        ????private?CompletableFuture?re?=?null;
        ????public?void?run()?{
        ????????int?myRe?=?0;
        ????????try?{
        ????????????myRe?=?re.get()?*?re.get();
        ????????}?catch?(Exception?e)?{
        ????????????e.printStackTrace();
        ????????}
        ????????System.out.println(myRe);
        ????}

        ????public?static?void?main(String[]?args)?throws?InterruptedException?{
        ????????final?CompletableFuture?future?=?new?CompletableFuture<>();
        ????????new?Thread(new?AskThread(future)).start();
        ????????//模擬長(zhǎng)時(shí)間的計(jì)算過程
        ????????Thread.sleep(1000);
        ????????//告知完成結(jié)果
        ????????future.complete(60);
        ????}
        }

        在該示例中,啟動(dòng)一個(gè)線程,此時(shí)AskThread對(duì)象還沒有拿到它需要的數(shù)據(jù),執(zhí)行到myRe = re.get() * re.get()會(huì)阻塞。我們用休眠1秒來(lái)模擬一個(gè)長(zhǎng)時(shí)間的計(jì)算過程,并將計(jì)算結(jié)果告訴future執(zhí)行結(jié)果,AskThread線程將會(huì)繼續(xù)執(zhí)行。

        public?class?Calc?{
        ????public?static?Integer?calc(Integer?para)?{
        ????????try?{
        ????????????//模擬一個(gè)長(zhǎng)時(shí)間的執(zhí)行
        ????????????Thread.sleep(1000);
        ????????}?catch?(InterruptedException?e)?{
        ????????????e.printStackTrace();
        ????????}
        ????????return?para?*?para;
        ????}

        ????public?static?void?main(String[]?args)?throws?ExecutionException,?InterruptedException?{
        ????????final?CompletableFuture?future?=?CompletableFuture.supplyAsync(()?->?calc(50))
        ????????????????.thenApply((i)?->?Integer.toString(i))
        ????????????????.thenApply((str)?->?"\""?+?str?+?"\"")
        ????????????????.thenAccept(System.out::println);
        ????????future.get();
        ????}
        }

        CompletableFuture.supplyAsync方法構(gòu)造一個(gè)CompletableFuture實(shí)例,在supplyAsync()方法中,它會(huì)在一個(gè)新線程中,執(zhí)行傳入的參數(shù)。在這里它會(huì)執(zhí)行calc()方法,這個(gè)方法可能是比較慢的,但這并不影響CompletableFuture實(shí)例的構(gòu)造速度,supplyAsync()會(huì)立即返回。而返回的CompletableFuture實(shí)例就可以作為這次調(diào)用的契約,在將來(lái)任何場(chǎng)合,用于獲得最終的計(jì)算結(jié)果。

        supplyAsync用于提供返回值的情況,CompletableFuture還有一個(gè)不需要返回值的異步調(diào)用方法runAsync(Runnable runnable),一般我們?cè)趦?yōu)化Controller時(shí),使用這個(gè)方法比較多。這兩個(gè)方法如果在不指定線程池的情況下,都是在ForkJoinPool.common線程池中執(zhí)行,而這個(gè)線程池中的所有線程都是Daemon(守護(hù))線程,所以,當(dāng)主線程結(jié)束時(shí),這些線程無(wú)論執(zhí)行完畢都會(huì)退出系統(tǒng)。

        核心代碼:

        CompletableFuture.runAsync(()?->
        ???this.afterBetProcessor(betRequest,betDetailResult,appUser,id)
        );

        異步調(diào)用使用Callable來(lái)實(shí)現(xiàn)

        @RestController??
        public?class?HelloController?{??
        ????private?static?final?Logger?logger?=?LoggerFactory.getLogger(HelloController.class);???
        ????@Autowired??
        ????private?HelloService?hello;??
        ????@GetMapping("/helloworld")??
        ????public?String?helloWorldController()?{??
        ????????return?hello.sayHello();??
        ????}??
        ??
        ????/**?
        ?????*?異步調(diào)用restful?
        ?????*?當(dāng)controller返回值是Callable的時(shí)候,springmvc就會(huì)啟動(dòng)一個(gè)線程將Callable交給TaskExecutor去處理?
        ?????*?然后DispatcherServlet還有所有的spring攔截器都退出主線程,然后把response保持打開的狀態(tài)?
        ?????*?當(dāng)Callable執(zhí)行結(jié)束之后,springmvc就會(huì)重新啟動(dòng)分配一個(gè)request請(qǐng)求,然后DispatcherServlet就重新?
        ?????*?調(diào)用和處理Callable異步執(zhí)行的返回結(jié)果,?然后返回視圖?
        ?????*??
        ?????*?@return?
        ?????*/
        ??
        ????@GetMapping("/hello")??
        ????public?Callable?helloController()?{??
        ????????logger.info(Thread.currentThread().getName()?+?"?進(jìn)入helloController方法");??
        ????????Callable?callable?=?new?Callable()?{??
        ??
        ????????????@Override??
        ????????????public?String?call()?throws?Exception?{??
        ????????????????logger.info(Thread.currentThread().getName()?+?"?進(jìn)入call方法");??
        ????????????????String?say?=?hello.sayHello();??
        ????????????????logger.info(Thread.currentThread().getName()?+?"?從helloService方法返回");??
        ????????????????return?say;??
        ????????????}??
        ????????};??
        ????????logger.info(Thread.currentThread().getName()?+?"?從helloController方法返回");??
        ????????return?callable;??
        ????}??
        }??

        異步調(diào)用的方式 WebAsyncTask

        @RestController??
        public?class?HelloController?{??
        ????private?static?final?Logger?logger?=?LoggerFactory.getLogger(HelloController.class);??
        ????@Autowired??
        ????private?HelloService?hello;??
        ????????/**?
        ?????*?帶超時(shí)時(shí)間的異步請(qǐng)求?通過WebAsyncTask自定義客戶端超時(shí)間?
        ?????*??
        ?????*?@return?
        ?????*/
        ??
        ????@GetMapping("/world")??
        ????public?WebAsyncTask?worldController()?{??
        ????????logger.info(Thread.currentThread().getName()?+?"?進(jìn)入helloController方法");??
        ??
        ????????//?3s鐘沒返回,則認(rèn)為超時(shí)??
        ????????WebAsyncTask?webAsyncTask?=?new?WebAsyncTask<>(3000,?new?Callable()?{??
        ??
        ????????????@Override??
        ????????????public?String?call()?throws?Exception?{??
        ????????????????logger.info(Thread.currentThread().getName()?+?"?進(jìn)入call方法");??
        ????????????????String?say?=?hello.sayHello();??
        ????????????????logger.info(Thread.currentThread().getName()?+?"?從helloService方法返回");??
        ????????????????return?say;??
        ????????????}??
        ????????});??
        ????????logger.info(Thread.currentThread().getName()?+?"?從helloController方法返回");??
        ????????webAsyncTask.onCompletion(new?Runnable()?{??
        ????????????@Override??
        ????????????public?void?run()?{??
        ????????????????logger.info(Thread.currentThread().getName()?+?"?執(zhí)行完畢");??
        ????????????}??
        ????????});??
        ??
        ????????webAsyncTask.onTimeout(new?Callable()?{??
        ????????????@Override??
        ????????????public?String?call()?throws?Exception?{??
        ????????????????logger.info(Thread.currentThread().getName()?+?"?onTimeout");??
        ????????????????//?超時(shí)的時(shí)候,直接拋異常,讓外層統(tǒng)一處理超時(shí)異常??
        ????????????????throw?new?TimeoutException("調(diào)用超時(shí)");??
        ????????????}??
        ????????});??
        ????????return?webAsyncTask;??
        ????}??
        ??
        ????/**?
        ?????*?異步調(diào)用,異常處理,詳細(xì)的處理流程見MyExceptionHandler類?
        ?????*??
        ?????*?@return?
        ?????*/
        ??
        ????@GetMapping("/exception")??
        ????public?WebAsyncTask?exceptionController()?{??
        ????????logger.info(Thread.currentThread().getName()?+?"?進(jìn)入helloController方法");??
        ????????Callable?callable?=?new?Callable()?{??
        ????????????@Override??
        ????????????public?String?call()?throws?Exception?{??
        ????????????????logger.info(Thread.currentThread().getName()?+?"?進(jìn)入call方法");??
        ????????????????throw?new?TimeoutException("調(diào)用超時(shí)!");??
        ????????????}??
        ????????};??
        ????????logger.info(Thread.currentThread().getName()?+?"?從helloController方法返回");??
        ????????return?new?WebAsyncTask<>(20000,?callable);??
        ????}??
        }??
        二、增加內(nèi)嵌Tomcat的最大連接數(shù)
        @Configuration
        public?class?TomcatConfig?{
        ????@Bean
        ????public?ConfigurableServletWebServerFactory?webServerFactory()?{
        ????????TomcatServletWebServerFactory?tomcatFactory?=?new?TomcatServletWebServerFactory();
        ????????tomcatFactory.addConnectorCustomizers(new?MyTomcatConnectorCustomizer());
        ????????tomcatFactory.setPort(8005);
        ????????tomcatFactory.setContextPath("/api-g");
        ????????return?tomcatFactory;
        ????}
        ????class?MyTomcatConnectorCustomizer?implements?TomcatConnectorCustomizer?{
        ????????public?void?customize(Connector?connector)?{
        ????????????Http11NioProtocol?protocol?=?(Http11NioProtocol)?connector.getProtocolHandler();
        ????????????//設(shè)置最大連接數(shù)???????????????
        ????????????protocol.setMaxConnections(20000);
        ????????????//設(shè)置最大線程數(shù)???????????????
        ????????????protocol.setMaxThreads(2000);
        ????????????protocol.setConnectionTimeout(30000);
        ????????}
        ????}
        }
        三、使用@ComponentScan()定位掃包比@SpringBootApplication掃包更快
        四、默認(rèn)tomcat容器改為Undertow(Jboss下的服務(wù)器,Tomcat吞吐量5000,Undertow吞吐量8000)
        <exclusions>
        ??<exclusion>
        ?????<groupId>org.springframework.bootgroupId>
        ?????<artifactId>spring-boot-starter-tomcatartifactId>
        ??exclusion>
        exclusions>

        改為:

        <dependency>
        ??<groupId>org.springframework.bootgroupId>
        ??<artifactId>spring-boot-starter-undertowartifactId>
        dependency>
        五、使用 BufferedWriter 進(jìn)行緩沖
        六、Deferred方式實(shí)現(xiàn)異步調(diào)用
        @RestController
        public?class?AsyncDeferredController?{
        ????private?final?Logger?logger?=?LoggerFactory.getLogger(this.getClass());
        ????private?final?LongTimeTask?taskService;
        ????@Autowired
        ????public?AsyncDeferredController(LongTimeTask?taskService)?{
        ????????this.taskService?=?taskService;
        ????}
        ????
        ????@GetMapping("/deferred")
        ????public?DeferredResult?executeSlowTask()?{
        ????????logger.info(Thread.currentThread().getName()?+?"進(jìn)入executeSlowTask方法");
        ????????DeferredResult?deferredResult?=?new?DeferredResult<>();
        ????????//?調(diào)用長(zhǎng)時(shí)間執(zhí)行任務(wù)
        ????????taskService.execute(deferredResult);
        ????????//?當(dāng)長(zhǎng)時(shí)間任務(wù)中使用deferred.setResult("world");這個(gè)方法時(shí),會(huì)從長(zhǎng)時(shí)間任務(wù)中返回,繼續(xù)controller里面的流程
        ????????logger.info(Thread.currentThread().getName()?+?"從executeSlowTask方法返回");
        ????????//?超時(shí)的回調(diào)方法
        ????????deferredResult.onTimeout(new?Runnable(){
        ??
        ???@Override
        ???public?void?run()?{
        ????logger.info(Thread.currentThread().getName()?+?"?onTimeout");
        ????//?返回超時(shí)信息
        ????deferredResult.setErrorResult("time?out!");
        ???}
        ??});
        ????????
        ????????//?處理完成的回調(diào)方法,無(wú)論是超時(shí)還是處理成功,都會(huì)進(jìn)入這個(gè)回調(diào)方法
        ????????deferredResult.onCompletion(new?Runnable(){
        ??
        ???@Override
        ???public?void?run()?{
        ????logger.info(Thread.currentThread().getName()?+?"?onCompletion");
        ???}
        ??});??
        ????????return?deferredResult;
        ????}
        }
        七、異步調(diào)用可以使用AsyncHandlerInterceptor進(jìn)行攔截
        @Component
        public?class?MyAsyncHandlerInterceptor?implements?AsyncHandlerInterceptor?{
        ?private?static?final?Logger?logger?=?LoggerFactory.getLogger(MyAsyncHandlerInterceptor.class);
        ?@Override
        ?public?boolean?preHandle(HttpServletRequest?request,?HttpServletResponse?response,?Object?handler)
        ???throws?Exception?
        {
        ??return?true;
        ?}
        ?
        ?@Override
        ?public?void?postHandle(HttpServletRequest?request,?HttpServletResponse?response,?Object?handler,
        ???ModelAndView?modelAndView)
        ?throws?Exception?
        {
        //??HandlerMethod?handlerMethod?=?(HandlerMethod)?handler;
        ??logger.info(Thread.currentThread().getName()+?"服務(wù)調(diào)用完成,返回結(jié)果給客戶端");
        ?}
        ?
        ?@Override
        ?public?void?afterCompletion(HttpServletRequest?request,?HttpServletResponse?response,?Object?handler,?Exception?ex)
        ???throws?Exception?
        {
        ??if(null?!=?ex){
        ???System.out.println("發(fā)生異常:"+ex.getMessage());
        ??}
        ?}
        ?
        ?@Override
        ?public?void?afterConcurrentHandlingStarted(HttpServletRequest?request,?HttpServletResponse?response,?Object?handler)
        ???throws?Exception?
        {
        ??
        ??//?攔截之后,重新寫回?cái)?shù)據(jù),將原來(lái)的hello?world換成如下字符串
        ??String?resp?=?"my?name?is?chhliu!";
        ??response.setContentLength(resp.length());
        ??response.getOutputStream().write(resp.getBytes());
        ??logger.info(Thread.currentThread().getName()?+?"?進(jìn)入afterConcurrentHandlingStarted方法");
        ?}?
        }
        參考
        • https://my.oschina.net/u/3768341/blog/3001731
        • https://blog.csdn.net/liuchuanhong1/article/details/78744138


        如有文章對(duì)你有幫助,

        在看”和轉(zhuǎn)發(fā)是對(duì)我最大的支持!

        1、SpringBoot + Elasticsearch7.6 實(shí)現(xiàn)查詢及高亮分詞查詢,超級(jí)詳細(xì)!
        2、MyBatis 二級(jí)緩存 關(guān)聯(lián)刷新實(shí)現(xiàn)
        3、一個(gè)很酷的圖床系統(tǒng)(自帶鑒黃功能)
        4、用了 HTTPS 就一定安全嗎?
        5、單點(diǎn)登錄系統(tǒng)用幾張漫畫就解釋了 。。。


        點(diǎn)分享

        點(diǎn)收藏

        點(diǎn)點(diǎn)贊

        點(diǎn)在看

        瀏覽 23
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产av网站大全| 中文字幕熟女人妻| 强伦轩人妻一区二区三区四区| 欧美成人电影在线观看| 狠狠撸综合| 久久丁香五月天| 国产一级在线观看| 韩国无码人妻| 日本成人黄色视频| 操逼视频观看| 日韩精品一二区| 少妇人妻av| 黄色大片网址| 无码人妻91| 天天干强奸视频在线综合| 黄片免费大全| 亚洲天堂网在线观看| 丝袜足交视频| 亚洲自拍无码| 狠狠干五月天| 五月天色色网站| 大鸡巴久久久久久久| 欧美成人综合一区| 欧洲无码一区二区三区| 久艹久| 无码秘蜜桃一区二区| 久久国产无码| 亚洲69| 91亚洲国产成人精品一区| 超碰碰碰碰碰| 精品一区二区三区在线观看| 亚洲伊人综合| 女人18片毛片90分钟免费明星| 日韩毛片一区二区| 国产在线视频第一页| 高清色视频| 日本午夜三级视频| 久久人搡人人玩人妻精AV香蕉| 青娱乐精品视频| 西西人体444大胆高清张悠雨| 成人内射视频| 日本精品码喷水在线看| 男人天堂无码| 成人AV中文解说水果派| 成人精品无码免费视频| 成人首页| 久草视频网| 围内精品久久久久久久久久‘变脸 | 黄色片免费看| 成人视频网站在线观看| 日本超碰| 中文字幕二区| 国产无码激情视频| 中国老女人操逼| 亚洲一区二区在线免费观看| 在线a视频| 色二区| 西西西444www无码视| 久久aa| 999一区二区三区| 在线观看无码av| 精品一区二区三区在线观看| 欧美成人怡红院| 丁香婷婷激情五月| 亚洲熟女av中文字幕| 三级片亚洲| 男人的天堂在线播放| 国产成人精品一区| 免费国产三级片| 蜜桃成人无码区免费视频网站| 欧美日韩亚洲成人| 婷婷午夜精品久久久久久性色| 91丨国产丨白浆| 亚洲精品观看| 91福利网址| 狠狠色噜噜狠狠狠888米奇视频| 国产传媒一区| 天天干天天操天天爽| 久久久77| 黄片高清无码在线观看| 伊人逼逼| 鸡巴操骚逼视频| 国产草莓视频| 中文字幕在线观看二区| 97人人人人人人| 福利视频一区二区| 国产亚洲久一区二区三区| 亚洲成人内射| xxxxx日韩| 欧美a√| 国产一区二区三区视频在线观看| 成人操B| 成人网站一区| 欧美成人无码A片免费| 伊人网在线视频观看| 国产秘久久一区二区| 亚洲第二页| 亚洲在线视频观看| 久久精品一区二区三区四区五区| 99国产视频| 国产激情视频在线免费观看| 天天爽夜夜爽AA片免费| 欧美精品一区二区三区蜜臀| 自慰一区| 成人无码影院日韩,成人年… | 色综合天天综合| 豆花视频logo| 最新中文字幕在线视频| 国产91在线播放| 青青久草| 国产小视频在线观看| 中文字幕观看| 少妇人妻一区| 黄页网站视频| 亚洲日本三级| 久草在| BBB搡BBB搡BBB搡BBB| 日韩在线视频中文字幕码无| 中文无码一区二区三区| 色色丁香| 大鸡吧在线观看| 久久久一区二区| 999日本不卡影院| 婷婷激情中文字幕| 人人人干| 激情小说在线视频| 亚洲天堂视频在线播放| 人人爱人人爽| 综合在线视频| 人妻无码免费视频| 九九毛片| 国产A级成人婬片1976| 西西人体BBBBBB| 黄色视频免费观看国产| 人妻少妇精品无码| 69AV视频在线观看| 俺来也俺去了| 囯产精品宾馆在线精品酒店| 国产熟妇码视频黑料| 久久人妻无码中文字幕系列| 黄色视频高潮| 中文字幕第一页av| 欧美黄色片网站| 国产Av高清| 色性网| 日本黄色三级片| 亚洲一级二级| 日韩网站在线| 欧美高清一区二区| 欧美一区三区| 臭小子晚上让你爽个够视频| 男女啪啪免费网站| 亚洲无码二区| 精品一区二区三区av| 婷婷V亚洲V丁香月天V日韩V| 99免费热视频在线| 五月婷婷国产| 免费的毛片| 久久av一区二区三区| 婷婷色网| 久久天堂影院| 国产A∨| 国产精品自拍三级| 怡红院一区| 国产无码久久| 欧美日韩逼| 无码AV天堂| 免费成人在线看片黄| 97精品人妻一区二区三区在线| 日本久久网站| 日本a在线| av在线影院| 欧美成人A片AAA片在线播放| 午夜福利播放| 激情五月天色| 国产性爱网| 伊人操逼网| 婷婷成人综合网| 2014av天堂网| 99精品免费| 影音先锋成人AV| 国产变态另类| 在线播放高清无码| 欧美一级婬片AAAAAA片| 色色看片| 久久草成人网| 亚洲jiZZjiZZ日本少妇| 国产精品毛片视频| 亚洲无码成人视频| 亚洲天堂久久| 中国熟女视频| 无码国产精品一区二区视频| 新妺妺窝窝777777野外| 黄色www| 午夜国产精品AV| 91蝌蚪在线视频| 欧一美一婬一伦一区二区三区自慰,| 波多野结衣av在线播放| 日韩欧美在线播放| 少妇熟女视频| 成人无码精品亚洲| 国产一区二区成人久久919色| 日韩黄色电影在线观看| 亚洲人妻免费视频| 亚洲男同Gay一区二区| 深夜福利网| 丁香五月欧美| 操美逼| 免费AV成人| 欧美综合视频在线观看| 国产成人777777精品综合| 成人片免费看| 骚逼av| 国产码在线成人网站| 婷婷好色五月天| 2024国产精品| 狠狠综合网| 99色视频| 超碰在线观看2407| 91在线你懂的| 久久一卡二卡| 九九成人网站| 999久久精品| 99三级片| 天堂一区二区三区18| 在线看色| 人妻丝袜中出北条麻妃| 亚洲精品福利视频导航| 中文字幕国产AV| 成人电影一区| AV天堂影视在线观看| 成人动漫免费观看| 日本做爱视频| 97人人爱| 日本高清视频网站网wwwwww| 欧美一级高清片免费一级a| 亚洲有码中文字幕| 亚洲国产av一区| 嫩BBB槡BBBB槡BBBB百度| 欧美成人午夜福利| 波多野结衣不卡| 人妻无码精品久久人妻成人| 免费无码网站| 影音先锋成人资源网| 中字无码| 国产无遮挡又黄又爽又色视频软件| 99九九视频| 无码人妻丰满熟妇区毛片视频| 欧美城综合在线观看网| 可以看的黄色视频| 特级A级毛片| 日韩黄色电影在线观看| 狼友视频免费观看| 欧美日韩中文在线| 人妻互换一二三区免费| 色逼综合| 成人无码www在线看免费| 人人爱人人爽人人操| 好吊妞视频在线| 欧洲一区二区三区| 草比网| 午夜精品久久久久久久91蜜桃 | 精品乱子伦一区二区三区下载| 一级黄色片网站| 亚洲日韩影院| 高清无码学生妹| 无码国产av| 亚洲欧美日韩一区| 日韩黄色片| 99久久人妻无码中文字幕系列| 日韩av中文字幕在线| 国产精品色哟哟| 亚洲Av在线观看| 一区在线免费观看| 国产人成一区二区三区影院| 婷婷五月天综合网| 色妞视频精品一区| 久草视频在线免费看| 特一级A片| 一区二区三区四区视频在线| 日逼黄片| 五月天无码免费视频| 嫩BBB槡BBBB槡BBBB撒尿 | 人人干人人干| 国产51视频| 少妇厨房愉情理伦BD在线观看| 免费三级网址| 国产极品久久久| a欧美| 国产传媒自拍| 在线播放毛片| 欧美亚洲日韩成人| 天天干夜夜爽| 亚洲AV成人片色在线观看高潮| 北条麻妃在线观看| 女人的天堂AAA| 麻豆一二三区| 午夜成人毛片| 成人三级片视频| 奇米97| 大香蕉777| 中文字幕免费毛片| 亚洲电影中文字幕| 操逼AV无码| 精品成人在线视频| 欧美77777| 色婷婷欧美| 黑人狂躁女人高潮视频| 一本大道香蕉av久久精东影业 | 国产精品在线观看视频| 欧美日韩午夜福利视频| 伊香蕉大综综综合| 大香蕉尹人视频| 日皮视频免费观看| 久久艹精品视频| 老婆中文字幕乱码中文乱码| 成人性生活A级毛片网站| 香蕉综合在线| 中文字幕+乱码+中文乱码www| 国产欧美在线免费观看| 亚洲秘一区二区三区-精品亚洲二区- | 51精品日本| 西西特级无码444www| 亚洲第一福利视频| 大BBBw大BBBW另类| 特级毛片WWW| 玖玖爱av| 囯产精品99久久久久久WWW| 国产九色91回来了| 日韩精品无码AV| 特级av| 人人操天天干| 麻豆二区| 黄色视频免费观看| 69婷婷国产精品| 天堂AV色| 99热碰| 99热免费| 国产在线一| 亚洲国产精品视频| 综合伊人大香蕉| 东北嫖老熟女一区二区视频网站| 国产成人自拍视频在线| 影音先锋无码专区| 免费黄色视频观看| 欧美后门菊门交4| 日韩高清无码一区二区三区| 手机免费Av| 欧美成人免费A级在线观看| 日本操逼在线播放| 亚洲精品免费在线观看| 久久成人免费视频| 内射老太太| 亚洲视频在线观看免费| 多啪啪免费视频| 蜜桃视频一区| 99久热在线精品| 久久激情网| 污视频网站免费在线观看| 91偷拍网| 国产香蕉视频在线播放| 日本欧美在线视频| 日本精品人妻无码77777| 国产1级片| 亚洲AV成人无码久久精品麻豆| 中文字幕免费在线观看| 嫩BBB槡BBBB槡BBBB百度| 国产综合第一页| 91影音先锋| 91视频播放| 永久免费AV| 码人妻免费视频| 91亚洲视频| 国产农村妇女精品一二区| 69天堂| 久热精品在线观看视频| 乳揉みま痴汉电车羽月希免费观看| 免费无码国产在线55| 日本少妇视频| 欧美在线免费视频| 日韩欧美视频一区国产欧美在线 | 日日搔AV一区二区三区| 91玖玖| 亚洲日逼网| 亚洲性爱电影| 日本一级片| 人人色人人操| 亚洲国产精品二二三三区| 国产和日韩中文字幕| 中文字幕第一| 摸BBB槡BBBB搡BBB,,,,,| 国产精品香蕉| 97精品国产| 人妻少妇偷人精品久久| 91传媒在线观看| 九九九九九九精品| 国产婷婷色一区二区三区| 国产午夜影视| 99在线视频精品| 中文字幕一区二区三区人妻电影| 亚洲精品一区二三区不卡| 看国产AA免费| 黄色永久网站| 无毛无码| 亚洲无码精品一区二区| 国产一二| 嫩草亚洲小泬久久夂| 丰满熟妇人妻无码视频| 乱伦自拍| 欧美亚洲成人网| 久久日韩视频| 久久午夜无码鲁丝片| 日本无码成人片在线播放| 色情五月| 亚洲黄色电影网| AAA片网站| 婷婷五月天网址| 日韩视频在线观看一区| 成人无码中文字幕| 九九小视频| 青青草人人| 岛国片资源| 四虎亚洲无码| 操操操操操| 蜜桃性爱视频| 加勒比日韩无码| 3D动漫啪啪精品一区二区中文字幕| 人人爽人人操人人爱| 日本超碰| 激情视频免费在线观看| 麻豆精品在线播放| 精品码A片18| 国产一区二区三区在线| 欧美一区二区三区成人片在线| 国产一级A片视频| 波多野结衣亚洲无码| 国产日韩中文字幕| 亚洲中文字幕在线播放| 91爱搞| 18禁在线看| 蝌蚪窝视频在线观看| 东方av在线免费观看| 成人免费观看的毛视频| 在线观看免费黄网站| ⅴA日本成人| 蜜桃av一区二区三区| 久久久久久久久久久久成人| 男人的天堂在线视频| 午夜在线观看视频| 国产美女做爱| 黄色午夜福利| 黄视频免费| 婷婷五月在线视频| 国产成人无码精品| 久久久精品999| 殴美老妇BBBBBBBBB| 四川少妇BBBB| 99国产高清| 伊人免费视频| 日批免费网站| 97人人干人人| 国产一级电影网站| 8050午夜网| 密臀av在线| 男人的天堂视频在线| 国产高清秘成人久久| 91成人电影在线| 在线三级片视频| 亚洲欧美手机在线| 日日夜夜精品视频| 国产精品美女视频| 青青青国产在线| 欧美韩日高清精彩视频| 色午夜| 久久综合久| 天堂成人AV| 日韩激情无码| 国产精品二区高清在线苍井空| 亚洲成人午夜电影| 操B五月天| 亚洲无码动漫| AV大全在线观看| 国产精品小电影| 欧美自拍视频| 射久久| 簧片网站在线观看| 九色PORNY丨自拍蝌蚪| 九九九九精品视频| 日韩一区二区三区视频| 狠狠色狠狠干| 超碰操一操| 亚洲高清无码在线观看视频| 伊人成人在线观看| 超碰九九| a√免费看| 亚洲精品视频在线观看免费| 亲子乱婬一级A片| 最近2021中文字幕免费| 亚洲色,天堂网| 成人性爱视频在线| 日韩在线中文字幕亚洲| 五月伊人网| 国产亚洲精品码| AV在线四季综合网站| 日韩无码不卡电影| 国产91在线视频| 岛国A片| 国产无码小视频| 熟女视频网| 大香蕉亚洲成人| 成人黄色A片| 久久免费视屏| 日韩中文字幕网| 中文资源在线√8| 免费一级无码婬片A片AAA毛片| 国产精品成人免费精品自在线观看 | 操操操AV| 欧美视频一区| 大香蕉久久爱| 偷拍777| 无码a级| 无码欧美精品一区二区| 三级AV在线免费观看| 免费黄色毛片| 欧美丰满老熟妇XXXXX性| 久久婷婷国产麻豆91天堂| 另类老妇奶性生BBwBBw偷拍| 91人妻无码一区二区久久| 操逼天堂| 99精品免费| 一二区免费视频| 蜜桃91精品| 大香蕉操B| 男女嫩草视频| 午夜福利院| 人妻少妇一区| 亚洲成人视频免费在线观看| 先锋资源久久| 亚洲在线观看网站| 亚洲欧洲无码在线| 午夜18视频在线观看| 看看AV| 97乱伦| 欧美精品乱码99久久蜜桃| 激情二区| 无码日韩av| 18禁黄网站| 91偷拍网| 国产精品成人无码a无码| A片免费观看视频| 91久久精品日日躁夜夜躁欧美| 永久免费黄色视频网站| 91免费观看国产| 成人在线视频免费观看| 天天干天天拍| 好色婷婷| 无码123区| 成人伊人综合网| 国产思思99re99在线观看| 操逼第二页| 天堂在线视频| 青青久草| 操欧美老女人| 伊人久久中文字幕| 天天爱综合| 黄色视频免费在线观看网站| 91日韩高清| 电家庭影院午夜| 综合站欧美精品| AV中文在线| 国产精成人品| 92丨九色丨偷拍老熟女| 99无码人妻| 中文字幕亚洲视频在线观看| 无码三级av| 国产精品毛片VA一区二区三区| 美女啪啪网站| 成人av黄色三级片在线观看| 天天操天天干天天日| 免费日逼视频| 免费成人黄色网址| 伊人国产女| 日产精品久久久久| 精品国产va久久久久久久| 大香蕉色视频| 国产日韩欧美成人| 色久悠悠综合网| 韩国中文字幕HD久久精品| 黄片视频在线观看| 成人在线黄色视频| 无码人妻丰满熟妇区毛片视频| 中文字幕第12页| 欧美色视频在线观看| 日韩高清无码毛片| 欧美日韩中文字幕在线视频| 中文熟妇| 国产在线观看无码| 在线观看免费a片| 大香蕉玖玖| 日日Av| 婷婷五月在线播放| 色丁香视频在线观看的| 亚洲不卡| 亚洲成人av| 91国产爽黄在线相亲| 久热无码| 五月婷婷六月激情| 国产精视频| 91精品国产麻豆国产自产在线| 蜜桃网站在线观看| 国产麻豆性爱视频| 黄色片在线观看视频| 91精品无码一区二区| 亚洲人妻有码| 色情小电影免费网站观看网址在线播 | 国产香蕉视频在线观看| 热久久伊人| 人人爽人人操人人| 亚洲无码专区视频| 另类老妇性BBwBBw图片| 亚洲秘无码一区二区三区电影| 免费在线观看Av| 青青青国产在线| 看免费操逼视频| 噜噜| h在线网站| 色婷婷AV在线观看| 亚洲日韩网站| 射射AV| 国产一级A片免费看| 亚洲日韩中文字幕无码| 91探花精品偷拍在线播放| 亚洲无码激情在线| 亚洲91黄色片| 无码伦理电影| 人妻精品电影| 亚洲日韩免费在线观看| 久久99久久视频| 天天视频狠狠狠狠| 国产Av大全| 蜜臀AV成人| 免费看三级网站| 五月婷婷免费视频| 人妻av一区二区三区| 麻豆传媒av| 超碰在线最新| 西西444WWW无码视频软件功能介绍| 亚洲色婷婷五月| 成人黄网站免费观看| 五月丁香在线播放| 96精品久久久久久久久久| 五月丁香在线播放| 香蕉国产精品| 动漫操逼视频| 久久青青草在线视频| 久久五月天综合| 丰满人妻-区二区三区| 久久青娱乐| 性色A| 91蜜桃视频在线观看| 国产香蕉91| 国产精品无码在线播放| av资源在线看| 日韩精品一区二区三区黄冈站长 | 一本色道久久综合无码| 无码视频在线看| 国产精品视频网站| 日韩欧美视频在线| 狠狠干2021| 丁香五月色情| 色色视频网站| 黄色国产在线观看| 国产乱妇乱子伦视频免费观看| 六月丁香五月婷婷| 成人一级片| 99精品六月婷婷综合在线 | 欧美一级黃色A片免费看蜜桃熟了 一级a一级a免费观看免免黄‘/ | www.日批| 91超碰人人操| 91成人导航| 国产AⅤ爽aV久久久久成人| 在线观看者亚洲| 射久久| 欧美成人一区二区三区| 看国产AA免费| 日韩不卡精品| 国产精品扒开腿| 五月丁香中文| 亚洲免费AV在线| 久久精品波多野结衣| 无码区一区二区| 国产香蕉视频在线观看| 欧美插逼视频| 精品视频久久久| 久久中文视频| 一区免费视频| 色男人天堂| 日韩99在线观看| 爱逼爱操| 日本一级婬片A片免费播放一| 丝瓜视频黄| 午夜视频免费| 国产高潮白浆喷| 无码人妻精品一区二区三区蜜桃91| 久久久久久久91| 一二三四在线视频| 足浴小少妇-88AX| 大香蕉国产| 11孩岁女精品A片BBB| 成人性生交大片免费看小芳| 天堂AV无码AV| 特级西西人体444www高清| 影音先锋成人无码| 少妇白洁视频| 亚洲黄色免费在线观看| 天天拍夜夜操| 欧美中文字幕| 3d动漫一区二区| 午夜精品久久久久久久99热精东 | 欧美黄色激情视频网站| 操小逼视频| 久久久女人| 日韩AV无码成人精品| 欧美日韩亚洲中文字幕| 亚洲精品国产成人综合久久久久久久久 | 成人AV午夜福利| 悠悠久久久| 久久色资源| 亭亭五月丁香| 日韩无码影院| 欧洲成人在线播放| 人人爱人人操人人爽| 在线播放高清无码| 日本一级婬片免费放| 自拍偷拍AV| 91精品人妻一区二| 国产九九| 不卡无码免费| 大香蕉色婷婷| 黄色视频日本免费| 日韩天堂网| 免费a片视频| 欧美精产国品一二三| 亚欧av无码| 午夜激情福利| 亚洲无码av中文字幕| 欧美午夜成人一区二区三区| 日本特级片| 国产黄色自拍视频| 最近中文字幕在线视频| 色婷婷欧美在线播放内射| 国产乱子伦精品久久| 五月天丁香网| 性无码一区二区三区无码免费| 亚洲免费在线观看视频| www天天操| 日本大香蕉在线视频| 久久艹伊人| 青草青在线视频| 激情性爱五月天| 国产精品自拍视频| 蜜桃网一区二区| 日韩中文字幕国产| 欧美黄页| 啪啪视频免费观看| 国产激情自拍| 影音av在线| 国产精品自拍在线观看| www.簧片| 无码乱伦视频| 日逼视频网站| 91九色精品女同系列| 91妻人人澡人人爽人人精品| 三级无码电影| 91亚洲在线| 国产性爱精品影片免费看| 99精品一区二区| 中文字幕VA| 日本五十路熟女视频| 91亚洲成人| 欧美精品久久久久久久久爆乳| 岛国无码AV在线观看| 色色五月天视频| 67194熟女| 在线观看国产| 国产老女人操逼视频| 婷婷五月天色播| 无码中文字幕在线播放| 黄色亚洲| 无码三级AV| 一本一道久久综合| 日皮视频在线| 免费操逼视频网站| 色色欧美色色| av天堂资源在线| 天堂AV在线免费观看| 成人精品午夜无码免费| 国产精品视频一区二区三| 大陆搡BBBBB搡BBBBBB| 亚洲AV黄片| 88AV在线| 成人一级精品| 高清无码视频免费版本在线观看| 一级a免一级a做免费线看内裤的注意事项 | 精精国产| av网站在线免费观看| 欧美熟妇精品一级A片视色| 亚洲AVwww| 先锋AV资源网| 国产精品久久久久精| 无码中文av| 国产乱码精品一区二区三区的特点 | 97无码精品人妻| 久久成人在线视频| 国产网站免费| av无码电影| www.亚洲无码| 日韩视频在线观看一区| 日韩三级AV| 91丨九色丨熟女老版| 中文字幕88页| 亚洲色图1| 少妇视频一区| 日韩三区| 一本色道无码人妻精品| 免费视频无码| 搡BBBB搡BBB搡五十| 熟妇人妻久久中文字幕| 国产口爆视频| 亚洲AV无码成人精品区| 亚州AV操屄| 最新中文| 日本久久综合| 伊人成人在线观看| 北条麻妃无码视频在线| 四川少妇bbbbbbbbb| 黄片小视频| 黄色A网站| 免费国产在线视频| 精东影业秘国产传媒| 日本一区二区三| 日本一级黄| 国产毛片毛片毛片| AV大香蕉| 欧美MV日韩MV国产网站| 超碰人人爽| 天天色播| 伊人色综合网| 北条麻妃无码一区二区| 久久免费高清视频| 欧美日韩亚洲另类| 亚洲自拍网站| 免费观看毛片| 超碰av电影| 欧美日韩精品在线视频| 99久久九九| 中文字幕资源在线| 国产日韩一区二区| 精品无码一区二区三区爱与| 西西337| 怡春院亚洲| 久久亚洲视频| 日韩做爱网站| 日本伊人大香蕉| 91AV视频| 蜜臀AV在线观看| 91精品导航| 香蕉av在线播放| 三级内射| 操逼无码视频| 色五月婷婷五月天激情| 久久一区二区三区四区五区| 日韩视频一区二区| 超碰v| 99精品在线观看视频| 99re视频| 人妻人操| 99热超碰在线| 88海外华人免费一区| 精品成人影视| 2025中文字幕| 国产AV无码一区| 欧美高清无码在线观看| 东京热综合| 日韩av无码电影| 东方AV在线播放| 91羞羞网站| 激情久久av| 亚色天堂| 91香蕉在线看| 天天插天天狠天天透| 正在播放吴梦梦淫行| 国产成人午夜高潮毛片| 69AV在线视频| 中文字幕精品综合| 欧美性色网| 无码网址| 北条麻妃三区| 精品一区二区视频| 东京亚洲无码|