精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

不停機還能替換代碼?6年的 Java程序員表示不可思議

新聞 開發工具
相信很多人都有這樣一種感受,自己寫的代碼在開發、測試環境跑的穩得一筆,可一到線上就抽風,不是缺這個就是少那個反正就是一頓報錯,而線上調試代碼又很麻煩,讓人頭疼得很。

 [[324165]]

相信很多人都有這樣一種感受,自己寫的代碼在開發、測試環境跑的穩得一筆,可一到線上就抽風,不是缺這個就是少那個反正就是一頓報錯,而線上調試代碼又很麻煩,讓人頭疼得很。不過, 阿里巴巴出了一款名叫Arthas的工具,可以在線分析診斷Java代碼,讓人眼前一亮。

Arthas 是什么?

Arthas(阿爾薩斯) 是阿里開源的一個Java在線分析診斷工具。

Arthas 能解決啥問題?

在日常開發上線過程中,我們多多少少都會遇到下邊這些問題,苦于無法在線調試,「只能通過老鳥的經驗來硬分析bug,效率上不去還總開口問別人答疑解惑,多少有些不好意思」

  • 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception?
  • 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了?
  • 遇到問題無法在線上 debug,難道只能通過加日志再重新發布嗎?
  • 線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現!
  • 是否有一個全局視角來查看系統的運行狀況?
  • 有什么辦法可以監控到JVM的實時運行狀態?
  • 線上代碼有錯誤,不想重新發布?那能不能改class文件替換一下?

Arthas兩種安裝、啟動方式

1、jar包啟動

  1. wget https://alibaba.github.io/arthas/arthas-boot.jar 
  2.  
  3. java -jar arthas-boot.jar --target-ip 0.0.0.0 

首先想用arthas調試項目,服務器必須要有運行著的Java服務,demo-0.0.1-SNAPSHOT.jar就是我啟動的測試項目,啟動arthas后它會自動檢測本地所有的Java服務列出來,我們只需按照序號輸入想要調試的項目即可,選1進入對應進程的arthas交互平臺

  1. [root@iz2zehzeir87zi8q99krk1z data]# java -jar arthas-boot.jar --target-ip 172.17.72.201 
  2. [INFO] arthas-boot version: 3.1.0 
  3. [INFO] Found existing java process, please choose one and hit RETURN. 
  4. * [1]: 28679 demo-0.0.1-SNAPSHOT.jar 

2、在線安裝

  1. curl -L https://alibaba.github.io/arthas/install.sh | sh 

執行上面的命令會在所在的文件中生成as.sh執行文件

不停機還能替換代碼?6年的 Java程序員表示不可思議

啟動arthas

  1. ./as.sh PID #進程id 指定JAVA進程id 
  2. ./as.sh -h #h來獲取更多參數信息 
  3.  
  4. 3、遠程連接: 

「要想使用arthas服務的 web console必須對外暴露本機ip」

  1. java -jar arthas-boot.jar --target-ip 172.17.72.201 
  2. java -jar arthas-boot.jar --telnet-port 9999 --http-port -1 

  1. ./as.sh --target-ip 0.0.0.0 
  2. ./as.sh --telnet-port 9999 --http-port -1 

訪問arthas控制臺也有兩種方法

「(1)、web console 界面」

「重點說明」:--target-ip 的ip 一定要是arthas所在機器對外暴露的ip,「但如果用的是阿里云機器必須要使用私有ip啟動arthas服務,但訪問必須是公網IP」

不停機還能替換代碼?6年的 Java程序員表示不可思議

「(2)、telnet方式」

  1. telnet 10.0.2.5 8563 
不停機還能替換代碼?6年的 Java程序員表示不可思議

訪問 http://59.110.218.9:8563/ ,進入交互平臺

不停機還能替換代碼?6年的 Java程序員表示不可思議

Arthas 命令使用

1、Dashboard 命令

查看當前系統的實時數據面板,例如:服務器thread信息、內存memory、GC回收等情況

不停機還能替換代碼?6年的 Java程序員表示不可思議

2、Thread(線程監控)

  1. $ thread -n 3 
  2. "as-command-execute-daemon" Id=57 cpuUsage=72% RUNNABLE 
  3. at sun.management.ThreadImpl.dumpThreads0(Native Method) 
  4. at sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:448
  5. at com.taobao.arthas.core.command.monitor200.ThreadCommand.processTopBusyThreads(ThreadCommand.java:133
  6. at com.taobao.arthas.core.command.monitor200.ThreadCommand.process(ThreadCommand.java:79
  7. at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.process(AnnotatedCommandImpl.java:82
  8. at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.access$100(AnnotatedCommandImpl.java:18
  9. at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(AnnotatedCommandImpl.java:111
  10. at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(AnnotatedCommandImpl.java:108
  11. at com.taobao.arthas.core.shell.system.impl.ProcessImpl$CommandProcessTask.run(ProcessImpl.java:370
  12. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149
  13. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624
  14. at java.lang.Thread.run(Thread.java:748
  15.  
  16. Number of locked synchronizers = 1  
  17. - java.util.concurrent.ThreadPoolExecutor$Worker@a2f70c7 

「可以看到這個線程是被synchroned關鍵字導致的阻塞」 ,目前只支持找出synchronized關鍵字阻塞住的線程, 如果是java.util.concurrent.Lock, 目前還不支持。

  1. Number of locked synchronizers = 1 
  2. - java.util.concurrent.ThreadPoolExecutor$Worker@a2f70c7 
  3. thread -n 3 #當前最忙的前N個線程 
  4. thread -b, ##找出當前阻塞其他線程的線程 
  5. thread -n 3 -i 1000 #間隔一定時間后展示 

「重點學習」:thread -b, ##「找出當前阻塞其他線程的線程」

3、JVM (jvm實時運行狀態,內存使用情況等)

  1. $ jvm 
  2. RUNTIME  
  3. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
  4. MACHINE-NAME 28679@iz2zehzeir87zi8q99krk1z  
  5. JVM-START-TIME 2019-03-28 17:32:16  
  6. MANAGEMENT-SPEC-VERSION 1.2  
  7. SPEC-NAME Java Virtual Machine Specification  
  8. SPEC-VENDOR Oracle Corporation  
  9. SPEC-VERSION 1.8  
  10. VM-NAME Java HotSpot(TM) 64-Bit Server VM  
  11. VM-VENDOR Oracle Corporation  
  12. VM-VERSION 25.191-b12  
  13. INPUT-ARGUMENTS []  
  14. CLASS-PATH demo-0.0.1-SNAPSHOT.jar  
  15. BOOT-CLASS-PATH /usr/local/jdk/jre/lib/resources.jar:/usr/local/jdk/jre/lib/rt.jar:/usr/local/jdk/jre/lib/sunrsasign.jar:/usr/local/jdk/jre/lib/jsse.jar:/usr/local/jdk/jre/lib/jce.jar  
  16. :/usr/local/jdk/jre/lib/charsets.jar:/usr/local/jdk/jre/lib/jfr.jar:/usr/local/jdk/jre/classes  
  17. LIBRARY-PATH /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib  

4、trace (當前方法內部調用路徑,路徑上每個節點的耗時)

  1. $ trace #類名 #方法名  
不停機還能替換代碼?6年的 Java程序員表示不可思議

對于執行耗時相對較長的方法,調用鏈路耗時屬性會高亮顯示方便排查

不停機還能替換代碼?6年的 Java程序員表示不可思議

參數 -j 可以過濾jdk的函數 trace -j com.example.demo.controller index2 參數 #cost 可以按執行耗時毫秒ms過濾 trace -j com.example.demo.controller index2 ’#cost >10‘

5、watch

當前方法執行數據觀測,能觀察到的范圍為:返回值、拋出異常、入參

  1. $ trace #類名 #方法名 "{params,target,returnObj,throwExp }"  
  1. OGNL 表達式 {params,target,returnObj,throwExp } 

throwExp:異常 params :入參(數組),單個參數params【0】 returnObj:返回值

  1. $ watch com.example.demo.controller index2 "{params,target,returnObj}" -x 5 
  2. Press Q or Ctrl+C to abort. 
  3. Affect(class-cnt:1 , method-cnt:1) cost in 81 ms. 
  4. ts=2019-03-29 14:24:14; [cost=1000.746582ms] result=@ArrayList
  5. @Object[][ 
  6. @String[辛志富], 
  7. ], 
  8. @controller
  9. ], 
  10. @String[index2], 

6、stack

當前方法被調用的路徑,顯示當前方法被那些方法調用

  1. public static String uuidOne() { 
  2. return uuidTwo(); 
  3. public static String uuidTwo() { 
  4. return UUID.randomUUID().toString().replaceAll("-"""); 
  1. $ stack com.example.demo.controller uuidTwo 
  2. Press Q or Ctrl+C to abort. 
  3. Affect(class-cnt:1 , method-cnt:1) cost in 58 ms. 
  4. ts=2019-03-29 14:38:19;thread_name=http-nio-8888-exec-5;id=13;is_daemon=true;priority=5;TCCL=org.springframework.boot.web.embedded.tomcat.TomcatEmbeddedWebappClassLoader@525b461a 
  5. @com.example.demo.controller.uuidOne() 
  6. at com.example.demo.controller.index2(controller.java:31
  7. at sun.reflect.GeneratedMethodAccessor36.invoke(null:-1
  8. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43

7、monitor 命令

監控類、方法的調用進行監控,調用次數、成功次數、失敗次數、平均響應時長、失敗率等

  1. $ monitor -c 4 com.example.demo.controller uuidTwo 
  2. Press Q or Ctrl+C to abort. 
  3. Affect(class-cnt:1 , method-cnt:1) cost in 56 ms. 
  4. timestamp class method total success fail avg-rt(ms) fail-rate  
  5. --------------------------------------------------------------------------------------------------------  
  6. 2019-03-29 14:55:40 com.example.demo.controller uuidTwo 7 7 0 0.18 0.00%  

8、classloader 命令

將JVM中所有的類加載器統計出來,樹狀展示

  1. $ classloader #每種classloader加載類的個樹 
  2. name numberOfInstances loadedCountTotal  
  3. org.springframework.boot.loader.LaunchedURLClassLoader 1 4463  
  4. com.taobao.arthas.agent.ArthasClassloader 2 3631  
  5. BootstrapClassLoader 1 2961  
  6. java.net.FactoryURLClassLoader 1 835  
  7. sun.misc.Launcher$AppClassLoader 1 46  
  8. sun.reflect.DelegatingClassLoader 41 41  
  9. sun.misc.Launcher$ExtClassLoader 1 25  
  10. Affect(row-cnt:7) cost in 7 ms. 
  11. $ classloader -t # 類加載器間的層級關系 
  12. +-BootstrapClassLoader  
  13. +-sun.misc.Launcher$ExtClassLoader@1959f618  
  14. +-com.taobao.arthas.agent.ArthasClassloader@5fc476c6  
  15. +-com.taobao.arthas.agent.ArthasClassloader@5017e14b  
  16. +-sun.misc.Launcher$AppClassLoader@5c647e05  
  17. +-java.net.FactoryURLClassLoader@4ad317f0  
  18. +-org.springframework.boot.loader.LaunchedURLClassLoader@20ad9418  
  19. Affect(row-cnt:7) cost in 5 ms 

線上代碼熱更新(動態修改上線項目代碼)

手動在代碼中拋異常,「不停機不重新發包的情況下,修改線上代碼」

不停機還能替換代碼?6年的 Java程序員表示不可思議

啟動服務也達到我們預期異常

「替換代碼的流程:」

1、jad命令 將需要更改的文件先進行反編譯,保存下來 ,編譯器修改

  1. $ jad --source--only com.example.demo.DemoApplication > /data/DemoApplication.java 
不停機還能替換代碼?6年的 Java程序員表示不可思議

在這里插入圖片描述

修改完以后需要將類重新加載到JVM

2、SC命令 查找當前類是哪個classLoader加載的

  1. $ sc -d *DemoApplication | grep classLoader 
  2. classLoaderHash 20ad9418 #類加載器 編號    

3、MC命令 用指定的classloader重新將類在內存中編譯

  1. $ mc -c 20ad9418 /data/DemoApplication.java -d /data  
  2. Memory compiler output: 
  3. /data/com/example/demo/DemoApplication.class 

4、redefine命令 將編譯后的類加載到JVM

上邊編譯后的.class文件地址

  1. $ redefine /data/com/example/demo/DemoApplication.class  
  2. redefine success, size: 1 

「文件替換后我們再次訪問一下程序,發現異常沒有了程序已經是我們修改正確后的,class文件替換成功」

不停機還能替換代碼?6年的 Java程序員表示不可思議

總結

這樣我們就用arthas現實了不停機、不發包替換了生產環境的Java代碼,功能確實比較強大,本文只揭開了arthas強大功能的冰山一角,后續將出更詳細的文章,方便大家一起學習。

越懶越勤快

arthas的整體功能雖然很強大,但命令行的輸入方式讓我頭疼不已,歲數大了記憶力真的下降嚴重,而且作為一個賊 TM 懶的程序員,讓我去記住如此多的命令和參數,簡直是要了老命。又一次因為懶讓我勤快起來,我決定做個arthas命令可視化平臺。

不停機還能替換代碼?6年的 Java程序員表示不可思議

「設計初衷」:設計這個平臺的初衷很簡單,就是讓程序員們把更多的精力放在問題的排查上,而不是記那么多枯燥無趣的命令。本身我也不是一個愿意死記硬背的人,覺得腦子里還是應該多放一些有趣、有意義的東西。可能在用慣了命令行的大佬眼里,這個功能比較雞肋,甚至有點多余,但畢竟像我這樣平凡的人更多一些,每天還陷入在重復的工作當中,工作量能減一點就多輕松一點嘛。

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2011-02-23 08:50:22

C#.NETdynamic

2017-03-21 08:52:20

神經網絡聲譽

2013-10-10 13:07:25

方物

2010-07-15 16:21:03

不可思議的服務器

2021-11-10 06:38:01

Python鏈式操作

2014-01-14 10:33:42

開源硬件開源

2020-07-02 15:40:11

Spring BootJar包Java

2023-04-06 09:44:00

ChatGPT行業質量

2022-01-24 15:57:34

Python返回功能代碼

2011-07-18 13:35:14

HTML 5

2013-07-31 15:06:58

未來的WebWebGLWeb

2014-07-26 22:18:51

2017-11-08 14:07:45

數據庫MySQL慢查分析

2012-02-13 11:01:27

N9Android 4.0

2016-07-06 11:56:52

思科漢堡光纖骨干網

2012-05-16 17:28:32

智能手機

2017-12-19 14:15:27

程序員愿望加班

2017-12-20 15:42:13

2025-11-12 00:22:00

2024-04-07 00:00:00

億級數據ES
點贊
收藏

51CTO技術棧公眾號

成人午夜两性视频| 日韩成人av网址| 中文字幕剧情在线观看一区| 中文字字幕在线中文乱码| 欧美丰满日韩| 欧美一级久久久久久久大片| 国产一区二区网| 爱久久·www| 国产成人在线视频网站| 欧美一级视频免费在线观看| 国产wwwwxxxx| 欧美美女黄色| 91精品国产欧美一区二区成人| 成 年 人 黄 色 大 片大 全| 国产精品一区二区三区四区色| 国产一区999| 日韩av手机在线看| 免费一级全黄少妇性色生活片| 亚洲免费观看高清完整版在线观| 91麻豆精品国产91久久久使用方法 | 亚洲精品观看| 欧洲国产伦久久久久久久| 91免费国产精品| 理论片中文字幕| 欧美a级理论片| 久久理论片午夜琪琪电影网| 在线观看免费黄色网址| 天堂av一区二区三区在线播放| 欧美二区乱c少妇| 黄色一区二区三区| 97超级碰碰| 中文字幕第三页| 在线亚洲精品| 欧美日韩国产91| 女同久久另类69精品国产| 亚洲精品动态| 精品国产乱码久久久久久蜜臀| 自拍偷拍一区二区三区四区 | 日本不卡高字幕在线2019| 久久高清内射无套| 青草国产精品| 一区二区三区精品99久久| 好男人香蕉影院| 99精品在免费线中文字幕网站一区 | 少妇激情一区二区三区| 欧美aa在线观看| 亚洲风情在线资源站| 成人黄色片免费| av网站在线免费| 亚洲人成在线播放网站岛国| 亚洲乱码一区二区三区| 精品乱码一区二区三四区视频 | 欧美日韩中文字幕视频| 国产精品欧美大片| 日韩视频免费观看高清完整版 | 农村少妇一区二区三区四区五区| 日韩一区二区电影在线| 天堂在线精品视频| 电影91久久久| 日韩一级黄色片| 26uuu国产| av日韩在线播放| 亚洲成色999久久网站| 中文字幕人妻熟女在线| 国产伦精品一区二区三区免费优势 | www.超碰com| 色成人免费网站| 欧美中文字幕一区| 精品视频1区2区| www国产免费| 日本资源在线| 婷婷久久综合九色国产成人| 欧美三级一级片| 3d性欧美动漫精品xxxx软件| 91福利精品第一导航| 中文久久久久久| 亚洲人成网站在线在线观看| 日韩一区二区高清| 久久久久久久无码| 国产成人一区| 日韩亚洲欧美成人| 私库av在线播放| 亚洲神马久久| 国产精品自拍偷拍视频| 国产三级精品在线观看| 国产精品一区免费在线| 久久午夜老司机| 日韩av图片| 免费在线视频欧美| 亚洲黄色小说网站| 精品少妇人欧美激情在线观看| 欧美sm一区| 欧美性大战久久久| 久草福利在线观看| 伊人久久大香线蕉| 色婷婷av一区二区三区在线观看| 九九热国产精品视频| 男人的天堂成人在线| 国产中文欧美精品| 亚洲男人天堂久久| 国产女人18毛片水真多成人如厕| 天天干天天色天天爽| 黄色污网站在线观看| 亚洲三级网站| 色哟哟精品一区| gogogo高清免费观看在线视频| 日本一区精品视频| 亚洲免费电影在线观看| 男人在线观看视频| 欧美资源在线| 亚洲最大av在线| 二区三区在线播放| 一级日本不卡的影视| 日韩精品一区二区三区不卡| 精品视频在线观看免费观看| 亚洲片国产一区一级在线观看| 国产少妇在线观看| 免费观看在线色综合| 国产视频99| 九七久久人人| 91久久人澡人人添人人爽欧美| 99c视频在线| 97在线观看免费视频| 999国产精品永久免费视频app| 97久久久免费福利网址| 国产精品久久综合青草亚洲AV| 97精品久久久久中文字幕| 国产卡一卡二在线| 成人日韩在线观看| 亚洲精品国产精品久久清纯直播| 天天鲁一鲁摸一摸爽一爽| 模特精品在线| 久久波多野结衣| 国产精品—色呦呦| 8x福利精品第一导航| 亚洲av成人无码久久精品| 亚洲国产专区| 成人性色av| 羞羞网站在线免费观看| 在线播放中文一区| 波多野结衣欲乱| 日本亚洲三级在线| 日本午夜一区二区三区| 精品国产免费人成网站| 国产精品福利影院| 久久伊人色综合| 日韩免费在线视频观看| 粉嫩aⅴ一区二区三区四区| 欧美一级黄色录像片| 亚洲福利影视| 国产一区二区成人| 少妇一级淫片日本| 欧美国产一区视频在线观看| 99视频在线免费| 清纯唯美日韩| 成人福利视频在线观看| 天堂а√在线资源在线| 欧美日韩国产另类一区| 亚洲色图第四色| 蜜臂av日日欢夜夜爽一区| 亚洲 国产 日韩 综合一区| 免费污视频在线一区| 亚洲人成网站免费播放| 精品一区二三区| 色噜噜狠狠狠综合欧洲色8| 亚洲成人激情自拍| 欧美一区二区免费在线观看| 国产精品久久久久久模特| 蜜桃传媒视频麻豆第一区免费观看| 日韩在线伦理| 亚洲一区www| 国产一区二区三区四区视频 | 在线精品日韩| 国产一区二区三区免费观看在线 | 无码小电影在线观看网站免费| 亚洲精品日韩丝袜精品| 亚洲视屏在线观看| 综合网在线视频| 最新版天堂资源在线| 亚洲欧美清纯在线制服| 亚洲精品一区二区毛豆| 视频二区欧美毛片免费观看| 色婷婷综合久色| 国产一区二区三区色淫影院| 羞羞的视频在线看| 日韩久久精品电影| 在线观看国产精品入口男同| 中文字幕一区二区三区乱码在线 | 久久这里都是精品| 亚洲欧美视频二区| 韩日成人在线| 日本中文不卡| 综合视频一区| 国产精品狠色婷| 新版中文在线官网| 亚洲午夜精品久久久久久性色 | 欧美aaa大片视频一二区| 久久av红桃一区二区小说| 少妇高潮一区二区三区69| 欧美系列在线观看| 国产乡下妇女做爰视频| 中文字幕精品一区二区精品绿巨人| 可以看的av网址| 日本在线播放一区二区三区| 国产精品专区在线| 亚洲二区在线播放| 国产乱子伦一区二区三区国色天香| 欧美不卡在线播放| 99精品在线观看| 久久久精彩视频| 国产一区二区三区精品在线观看| 青青草原成人在线视频| 丝袜中文在线| 中文字幕亚洲激情| 天堂在线一二区| 欧美精品三级在线观看| 久久久久久久久影院| 亚洲人精品一区| 国产精品久久久视频| 26uuu精品一区二区| 精品人妻人人做人人爽夜夜爽| 日本vs亚洲vs韩国一区三区二区| 久草视频国产在线| 91tv官网精品成人亚洲| 亚洲精品人成| 欧美一级精品| 人禽交欧美网站免费| 一区二区三区精彩视频| 久久www免费人成看片高清| 国产特级淫片高清视频| 国产精品地址| 精品日韩在线播放| 成人国产精品一级毛片视频| 美女被啪啪一区二区| 欧美成a人免费观看久久| 97久久天天综合色天天综合色hd| 久久夜夜久久| 国产精品久久久久久av福利| 亚洲女同志freevdieo| 久久久久久久国产| 欧美男男video| 久久成年人免费电影| 黄色的网站在线观看| 日韩在线免费av| 在线视频91p| 中文字幕在线看视频国产欧美在线看完整| 手机看片福利在线观看| 日韩第一页在线| 色哟哟在线观看| 国产精品毛片无遮挡高清| 北条麻妃高清一区| 亚洲精品555| 国产精品电影一区| 粉嫩av一区二区三区四区五区| 国产精品吊钟奶在线| 视频精品导航| 国产日韩精品在线观看| 中文成人激情娱乐网| 亚洲精品欧美一区二区三区| 国产一区二区三区精品在线观看| 亚洲va欧美va国产综合剧情| 免费一级欧美片在线观看网站| 51成人做爰www免费看网站| av毛片精品| 久久另类ts人妖一区二区| 国产影视一区| 中文字幕欧美日韩一区二区三区| 综合五月婷婷| 久久99中文字幕| 欧美专区一区二区三区| 中文字幕视频在线免费观看| 精品一区二区三区在线观看国产 | 欧美91在线| 中文一区二区视频| 国产精品边吃奶边做爽| 韩国精品一区二区| 男人添女人荫蒂国产| 95精品视频在线| 亚洲AV无码成人精品区明星换面| 国产精品灌醉下药二区| 国产一级特黄毛片| 欧美性xxxx极品高清hd直播 | 蜜桃免费网站一区二区三区| 天堂av在线8| www.66久久| 狂野欧美性猛交| 亚洲图片欧美视频| 亚洲av无码不卡| 91精品国产高清一区二区三区 | 国产suv精品一区| 欧美乱偷一区二区三区在线| 婷婷久久一区| 亚洲男人天堂久| 18精品爽视频在线观看| 亚洲不卡av一区二区三区| 激情网站在线观看| 欧美成人a在线| www.在线视频.com| 欧美激情中文字幕在线| 欧美美女被草| 久久久神马电影| 你懂的网址国产 欧美| 日本在线视频www| 成人自拍视频在线观看| 欧美性受xxxx黑人| 亚洲成精国产精品女| 在线观看国产小视频| 国产视频综合在线| 在线观看午夜av| 国产欧美精品日韩精品| 精品三级av在线导航| 中文字幕日韩一区二区三区| 国产亚洲精品v| 日本中文字幕有码| 国产精品久久国产精麻豆99网站| 日本一级黄色录像| 91麻豆精品国产自产在线观看一区| 狠狠v欧美ⅴ日韩v亚洲v大胸| 欧美激情一级二级| 亚洲激情视频小说| 男人天堂欧美日韩| 亚洲少妇一区二区| 综合欧美一区二区三区| 日韩电影在线观看一区二区| 欧美精品一区男女天堂| 国产剧情在线| 成人精品福利视频| 欧美独立站高清久久| 韩国中文字幕av| 久久久亚洲精品石原莉奈| 国产午夜免费视频| 日韩一级免费观看| 18videosex性欧美麻豆| 91精品国产综合久久久久久蜜臀| 国产99精品一区| 99精品视频播放| 久久网站热最新地址| 五月婷婷亚洲综合| 亚洲国产日韩欧美在线99| 免费av不卡在线观看| 91黄在线观看| 欧美国内亚洲| 中文字幕55页| 一区二区三区在线观看欧美| 国产精品一区二区av白丝下载| 国产精品女主播av| www.99热这里只有精品| 国内成+人亚洲+欧美+综合在线| 殴美一级黄色片| 欧美日韩黄色影视| 日韩理伦片在线| 91亚洲精品视频| 亚洲高清资源在线观看| 成人免费播放视频| 一区二区欧美国产| 粉嫩av一区二区夜夜嗨| 高清欧美性猛交xxxx| 久9re热视频这里只有精品| www.av毛片| 91视视频在线观看入口直接观看www | 国产美女性感在线观看懂色av | 日韩中文字幕在线| 亚洲精品tv| 996这里只有精品| 成人午夜精品在线| 久久av喷吹av高潮av| 免费视频一区三区| 日本激情综合网| 亚洲伦理在线精品| 丁香花免费高清完整在线播放| 国自产精品手机在线观看视频| 亚洲国产欧美日韩在线观看第一区| 免费av网址在线| 国产精品久久久久久久岛一牛影视 | 精品不卡在线视频| 日本在线啊啊| 亚洲狠狠婷婷综合久久久| 国产一区二区中文字幕| 日韩成人一区二区三区| 亚洲欧美日韩天堂| 在线视频成人| 精品人妻一区二区三区四区在线| 国产日韩精品视频一区| 国产乱码久久久久| 97在线视频一区| 成人a'v在线播放| 亚洲熟妇一区二区| 91黄色在线观看| 污污动漫在线观看| 久久综合久久综合久久| 中文字幕资源网| 91高清在线免费观看| 日本一本不卡| 亚洲av成人片无码| 欧美丝袜丝交足nylons| av人人综合网| 一本一本a久久| 91在线观看视频| 99久久精品国产一区色| 情事1991在线|