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

亞毫秒GC暫停到底有多香?JDK17+ZGC初體驗

開發 前端
在本篇文章中,我們探討了如何升級到JDK 17,并使用最新一代垃圾回收器ZGC。經過實踐和測試,我們發現升級后的系統在垃圾回收方面表現出色,暫停時間被有效控制在1毫秒內。

1、前言

垃圾回收器的暫停問題一直是Java工程師關注的重點,特別是對實時響應要求較高的服務來說,CMS和G1等主流垃圾回收器的數十毫秒乃至上百毫秒的暫停時間相當致命。此外,調優門檻也相對較高,需要對垃圾回收器的內部機制有一定的了解,才能夠進行有效的調優。

為了解決此類問題,JDK 11開始推出了一種低延遲垃圾回收器ZGC。ZGC使用了一些新技術和優化算法,可以將GC暫停時間控制在10毫秒以內,而在JDK 17的加持下,ZGC的暫停時間甚至可以控制在亞毫秒級別!

2、ZGC

ZGC相關介紹、原理,網上已經有很多類似文章,這里只做簡單介紹。

2.1 設計目標

ZGC 最初在 JDK 11 中作為實驗性功能引入,并在 JDK 15 中宣布為生產就緒。作為一款低延遲垃圾收集器,旨在滿足以下目標:

  • 8MB到16TB的堆大小支持
  • 10ms最大GC暫時
  • 最糟糕的情況下吞吐量會降低15%(低延時換吞吐量很值,吞吐量擴容即可解決)

    圖片

2.2 ZGC 內存分布

ZGC與傳統的CMS、G1不同、它沒有分代的概念,只有類似G1的Region概率,ZGC 的 Region可以具有如下圖所示的大中下三類容量:

  • 小型 Region(Small Region):容量固定為2MB,用于放置小于 256KB的小對象。
  • 中型 Region(Medium Region):容量固定為 32MB,用于放置大于 256KB但是小于 4MB的對象。
  • 大型 Region(Large Region):容量不固定,可以動態變化,但必須為 2MB的整數倍,用于放置 4MB或以上的大對象。每個大型 Region中會存放一個大對象,這也預示著雖然名字叫“大型 Region”,但它的實際容量完全有可能小于中型Region,最小容量可低至4MB。大型 Region在ZGC的實現中是不會被重分配的(重分配是ZGC的一種處理動作,用于復制對象的收集器階段)因為復制大對象的代價非常高。

    圖片

2.3 GC工作過程

與CMS中的ParNew和G1類似,ZGC也采用標記-復制算法,不過ZGC通過著色指針和讀屏障技術,解決了轉移過程中準確訪問對象的問題,在標記、轉移和重定位階段幾乎都是并發執行的,這是ZGC實現停頓時間小于10ms目標的最關鍵原因。

圖片

從上圖中可以看出,ZGC只有三個STW階段:初始標記,再標記,初始轉移。

具體轉移過程,網上有大量類似文章,這里不做詳細介紹,大家有興趣可以參考以下文章:

  • 新一代垃圾回收器ZGC的探索與實踐
  • ZGC 最新一代垃圾回收器 | 程序員進階

3、為什么選擇JDK17呢?

JDK 17于9月14日發布,是一個長期支持(LTS)版本,這意味著它將在很多年內得到支持和更新。這也是第一個LTS版本,其中包含了一個可用于生產環境的ZGC版本?;仡櫼幌?,ZGC的實驗版本已經包含在JDK 11(之前的LTS版本)中,而第一個可用于生產環境的ZGC版本出現在JDK 15(一個非LTS版本)中。

4、升級過程

從JDK8+G1升級到JDK17+ZGC,主要是在代碼層面和JVM啟動參數層面的做適配。

4.1 JDK下載

首先jdk17選擇的是openjdk,下載地址:https://jdk.java.net/archive/,選擇版本17 GA

圖片

4.2 代碼適配

  • JDK11移除了 Java EE and CORBA 的模塊

項目中如果用到javax.annotation.*、javax.xml.*等等開頭的包,需要手動引入對應依賴

<dependency>    <groupId>javax.annotation</groupId>    <artifactId>javax.annotation-api</artifactId></dependency><dependency>    <groupId>javax.xml.bind</groupId>    <artifactId>jaxb-api</artifactId></dependency><dependency>    <groupId>com.sun.xml.bind</groupId>    <artifactId>jaxb-core</artifactId></dependency><dependency>    <groupId>com.sun.xml.bind</groupId>    <artifactId>jaxb-impl</artifactId></dependency>

<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
</dependency>
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
</dependency>
  • maven相關依賴版本升級
<!-- 僅供參考 --><maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version><maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version><maven-resources-plugin.version>3.2.0</maven-resources-plugin.version><maven-jar-plugin.version>3.2.0</maven-jar-plugin.version><maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version><maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version><maven-release-plugin.version>3.0.0-M1</maven-release-plugin.version><maven-site-plugin.version>3.9.1</maven-site-plugin.version><maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version><maven-project-info-reports-plugin.version>3.1.0</maven-project-info-reports-plugin.version><maven-plugin-plugin.version>3.6.1</maven-plugin-plugin.version><maven-javadoc-plugin.version>3.3.0</maven-javadoc-plugin.version><maven-source-plugin.version>3.2.1</maven-source-plugin.version><maven-jxr-plugin.version>3.0.0</maven-jxr-plugin.version>

<!-- 僅供參考 -->
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
<maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
<maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
<maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
<maven-release-plugin.version>3.0.0-M1</maven-release-plugin.version>
<maven-site-plugin.version>3.9.1</maven-site-plugin.version>
<maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version>
<maven-project-info-reports-plugin.version>3.1.0</maven-project-info-reports-plugin.version>
<maven-plugin-plugin.version>3.6.1</maven-plugin-plugin.version>
<maven-javadoc-plugin.version>3.3.0</maven-javadoc-plugin.version>
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<maven-jxr-plugin.version>3.0.0</maven-jxr-plugin.version>
  • Lombok版本升級https://projectlombok.org/changelog
<dependency>    <groupId>org.projectlombok</groupId>    <artifactId>lombok</artifactId>   <!-- <version>1.16.20</version>-->    <version>1.18.22</version></dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
   <!-- <version>1.16.20</version>-->
    <version>1.18.22</version>
</dependency>

圖片

  • Java9 模塊化后,不允許應用程序查看來自JDK的所有類,會影響部分反射的運行,需要通過以下命令解決
--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED

--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
  • 本地使用了transmittable-thread-local-2.14.2.jar后啟動報錯

圖片

在agent后面加上日志輸出即可解決,至于原因,猜測是跟類加載順序有關系

-javaagent:/Users/admin/Documents/transmittable-thread-local-2.14.2.jar=ttl.agent.logger:STDOUT
-javaagent:/Users/admin/Documents/transmittable-thread-local-2.14.2.jar
=ttl.agent.logger:STDOUT

以上內容僅針對彩虹橋項目升級遇到的問題,不同的業務代碼適配的情況可能不一樣,需要根據實際情況尋找解決方案。

4.3 JVM參數替換

下面是一些通用GC參數和ZGC特有參數以及ZGC的一些診斷選型,來自官網:Main - Main - OpenJDK Wiki

通用GC參數

ZGC特有參數

ZGC 診斷選型

-XX:MinHeapSize, -Xms

-XX:InitialHeapSize, -Xms

-XX:MaxHeapSize, -Xmx

-XX:SoftMaxHeapSize

-XX:ConcGCThreads

-XX:ParallelGCThreads

-XX:UseDynamicNumberOfGCThreads

-XX:UseLargePages

-XX:UseTransparentHugePages

-XX:UseNUMA

-XX:SoftRefLRUPolicyMSPerMB

-XX:AllocateHeapAt

-XX:ZAllocationSpikeTolerance

-XX:ZCollectionInterval

-XX:ZFragmentationLimit

-XX:ZMarkStackSpaceLimit

-XX:ZProactive

-XX:ZUncommit

-XX:ZUncommitDelay

-XX:ZStatisticsInterval

-XX:ZVerifyForwarding

-XX:ZVerifyMarking

-XX:ZVerifyObjects

-XX:ZVerifyRoots

-XX:ZVerifyViews

注意:使用以上參數需要開啟-XX:+UnlockDiagnosticVMOptions

具體每個參數的含義,這里不做介紹,可參考官網文檔The java Command,里面有詳細說明。

JKD8+G1的啟動參數:

-server -Xms36600m -Xmx36600m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+PrintReferenceGC
-XX:+ParallelRefProcEnabled
-XX:G1HeapReginotallow=16m
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/opt/apps/errorDump.hprof
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintHeapAtGC
-XX:+PrintGCApplicationConcurrentTime
-verbose:gc
-Xloggc:/opt/apps/logs/${app_name}-gc.log

JDK17+ZGC的啟動參數如下:

-server -Xms36600m -Xmx36600m#開啟ZGC-XX:+UseZGC #GC周期之間的最大間隔(單位秒)-XX:ZCollectinotallow=120#官方的解釋是 ZGC 的分配尖峰容忍度,數值越大越早觸發GC-XX:ZAllocatinotallow=4#關閉主動GC周期,在主動回收模式下,ZGC 會在系統空閑時自動執行垃圾回收,以減少垃圾回收在應用程序忙碌時所造成的影響。如果未指定此參數(默認情況),ZGC 會在需要時(即堆內存不足以滿足分配請求時)執行垃圾回收。-XX:-ZProactive #GC日志-Xlog:safepoint=trace,classhisto*=trace,age*=info,gc*=info:file=/opt/logs/gc-%t.log:time,level,tid,tags:filesize=50M #發生OOM時dump內存日志-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/opt/apps/errorDump.hprof

-server -Xms36600m -Xmx36600m
#開啟ZGC
-XX:+UseZGC 
#GC周期之間的最大間隔(單位秒)
-XX:ZCollectinotallow=120
#官方的解釋是 ZGC 的分配尖峰容忍度,數值越大越早觸發GC
-XX:ZAllocatinotallow=4
#關閉主動GC周期,在主動回收模式下,ZGC 會在系統空閑時自動執行垃圾回收,以減少垃圾回收在應用程序忙碌時所造成的影響。如果未指定此參數(默認情況),ZGC 會在需要時(即堆內存不足以滿足分配請求時)執行垃圾回收。
-XX:-ZProactive 
#GC日志
-Xlog:safepoint=trace,classhisto*=trace,age*=info,gc*=info:file=/opt/logs/gc-%t.log:time,level,tid,tags:filesize=50M 
#發生OOM時dump內存日志
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/opt/apps/errorDump.hprof

5、壓測結果

直接上圖

圖片

圖片

圖片

正如 ZGC 設計目標所描述,它將 GC 暫停時間從過去的幾十毫秒降低到了令人驚嘆的亞毫秒級別。然而,這種超低延遲表現也需要一定的代價,因為在實現低延遲的同時,ZGC 會占用一定的 CPU 資源。通常情況下,ZGC 占用的 CPU 比例不會超過 15%。在彩虹橋項目中,使用以上推薦的 JVM 參數后,ZGC 占用的 CPU 資源為 6% 左右。

6、ZGC日志

6.1 輸出ZGC日志

GC日志中包含有關 GC 操作的詳細信息,可以幫我們分析當前GC存在的問題。先來看一下上面JVM參數中關于GC日志的參數

-Xlog:safepoint=trace,classhisto*=trace,age*=info,gc*=info:file=/opt/logs/gc-%t.log:time,level,tid,tags:filesize=50M
-Xlog:safepoint=trace,classhisto*=trace,age*=info,gc*=info:file=/opt/logs/gc-%t.log:time,level,tid,tags:filesize=50M
  • safepoint=trace:記錄關于 safepoint 的 trace 級別日志。Safepoint 是 JVM 中一個特殊的狀態,它用于確保所有線程在特定操作(如垃圾回收、代碼優化等)之前進入安全狀態。
  • classhisto*=trace:記錄與類的歷史相關的 trace 級別日志。
  • age*=info:記錄與對象年齡(在新生代中存在的時間)相關的 info 級別日志。
  • gc*=info:記錄與垃圾回收相關的 info 級別日志。
  • file=/opt/logs/gc-%t.log:將日志寫入到 /opt/logs/ 目錄下的文件中,文件名為 gc-%t.log,其中 %t 是一個占位符,表示當前時間戳。
  • time,level,tid,tags:在每個日志記錄中包含時間戳、日志級別、線程 ID 和標簽。
  • filesize=50M:設置日志文件的大小限制為 50MB。當日志文件大小達到此限制時,JVM 將創建一個新的日志文件并繼續記錄。

更詳細的gc日志配置可以參考:https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html#enable-logging-with-the-jvm-unified-logging-framework

6.2 STW關鍵日志

其中我們重點關注的就是GC的STW情況,以下是一些關鍵字代表GC STW階段

  • 最基本的STW三階段,初始標記:日志中Pause Mark Start,再標記:日志中Pause Mark End,初始轉移:日志中Pause Relocate Start。

圖片

  • 內存分配阻塞:這一般是因為垃圾生產速度大于回收速度,垃圾來不及回收,垃圾將堆占滿時,線程會阻塞等待GC完成,關鍵字是Allocation Stall(被阻塞的線程名稱)

圖片

如果出現此類日志,可以嘗試如下方法解決:

  • -XX:ZCollectionInterval 該配置含義:兩個 GC 周期之間的最大間隔(單位秒)。默認情況下,此選項設置為 0(禁用),可以適當調小該配置,讓GC周期縮短、提升垃圾回收速度,但這會提升應用CPU占用。
  • -XX:ZAllocationSpikeTolerance官方的解釋是 ZGC 的分配尖峰容忍度。其實就是數值越大,越早觸發回收。可以適當調大該配置,更早觸發回收,提升垃圾回收速度,但這會提升應用CPU占用。
  • 安全點:所有線程進入到安全點后才能進行GC,ZGC定期進入安全點判斷是否需要GC。先進入安全點的線程需要等待后進入安全點的線程直到所有線程掛起。日志關鍵字safepoint ... stopped
  • dump線程、內存:比如jstack、jmap命令,一般是手動dump導致,日志關鍵字HeapDumper

7、Linux大頁內存

在openjdk的官網上也能看到,開啟Linux大頁內存后會提升應用的性能。

圖片

開啟方式見官網文檔https://wiki.openjdk.org/display/zgc/Main#Main-EnablingLargePagesOnLinux,注意除了修改系統配置外,還需要在進程JVM啟動參數中新增-XX:+UseLargePages配置

經過幾輪壓測實際測試下來,發現在開啟Linux大頁后,CPU有8%左右的下降,但是由于大頁面會提前預留指定大小的內存,會導致機器的內存使用率較高。而且目前生產環境沒有其他應用開啟此配置,穩定性有待考究,生產環境自行評估是否開啟。

8、總結

在本篇文章中,我們探討了如何升級到JDK 17,并使用最新一代垃圾回收器ZGC。經過實踐和測試,我們發現升級后的系統在垃圾回收方面表現出色,暫停時間被有效控制在1毫秒內。盡管這一優化過程可能會消耗額外的CPU資源,但所獲得的超低GC暫停時間顯然是非常值得的??傊?,相比其他垃圾回收器,ZGC 的性能和穩定性已經非常優秀,而且不需要太多的調優。在大多數情況下,使用 ZGC官方推薦的默認設置即可獲得優秀的性能表現。對于那些RT敏感型應用,升級到JDK 17并采用ZGC是一個明智的選擇。

責任編輯:武曉燕 來源: 得物技術
相關推薦

2016-08-31 09:48:07

體驗

2022-09-01 21:02:31

手機衛星5G

2016-09-22 16:47:55

iOSAndroidWindows Pho

2021-04-07 08:00:00

Java開發工具

2021-03-09 05:49:32

通信女性從業者通信行業

2012-05-31 09:24:55

云計算云存儲

2022-09-27 09:43:08

物聯網設備物聯網

2020-08-05 07:00:00

SSD硬盤存儲

2024-10-15 09:48:56

2017-01-13 16:26:56

開發

2016-05-06 15:59:41

2022-05-30 08:21:17

Kafka數據傳遞

2021-02-02 07:37:39

NextTickvueDOM

2022-05-10 15:10:25

加密貨幣區塊鏈金融犯罪

2011-06-07 10:15:38

GNULinux

2012-08-23 14:21:47

大數據

2020-12-14 09:46:57

DDoS攻擊網絡攻擊網絡安全

2012-08-23 15:10:44

Facebook

2021-12-28 20:05:19

數字交通信息

2011-06-22 17:18:13

外鏈
點贊
收藏

51CTO技術棧公眾號

日本天堂在线| 无码人妻少妇色欲av一区二区| 婷婷亚洲一区二区三区| 日本三级亚洲精品| 久久99久久亚洲国产| 久久丫精品国产亚洲av不卡 | 国外成人在线视频| www.av天天| 97超碰成人| 欧美视频一区二| 岛国大片在线播放| 一区二区三区视频在线观看视频| 国产91在线观看丝袜| 国产精品扒开腿做| 国产综合欧美在线看| 青青青在线观看视频| 色猫av在线| 国产高清成人在线| 国产精品狠色婷| 日本一级淫片色费放| 欧美电影一区| 亚洲免费一在线| 熟妇女人妻丰满少妇中文字幕| 日日av拍夜夜添久久免费| 一卡二卡欧美日韩| 亚洲国产日韩综合一区| 四虎影视精品成人| 成人免费毛片高清视频| 91日本在线视频| 97人妻精品视频一区| 国产精品婷婷| 97人人做人人爱| 久久在线视频精品| 亚洲精品国产偷自在线观看| 一区二区欧美久久| 熟女少妇一区二区三区| 精品人人人人| 亚洲第一网站免费视频| 一二三av在线| 久久av网站| 欧美妇女性影城| 亚洲美女性囗交| 成人午夜在线| 欧美在线综合视频| 精品www久久久久奶水| 麻豆国产在线| 精品国产乱码久久久久久虫虫漫画| 国产一区二区三区在线免费| av在线看片| 亚洲精品国产精品乱码不99| 在线观看污视频| av网站在线看| 依依成人综合视频| 成人免费a级片| 丁香花在线影院| 亚洲在线免费播放| 欧美乱大交xxxxx潮喷l头像| av电影免费在线看| 狠狠操狠狠色综合网| 欧美色图另类小说| 免费日韩电影| 欧美午夜影院一区| 中文字幕在线观看日| 国产精一区二区| 日韩你懂的在线观看| 怡红院一区二区| 天天躁日日躁狠狠躁欧美巨大小说| 国产丝袜精品视频| 摸摸摸bbb毛毛毛片| 久久激情电影| 欧美成人h版在线观看| 免费视频一二三区| 在线一区免费观看| 国产精品扒开腿做爽爽爽男男 | 欧美日韩18| 精品国内亚洲在观看18黄| 精品在线观看一区二区| 污视频网站在线播放| 91美女视频网站| 日韩影视精品| 五月婷婷视频在线观看| 午夜精品久久久久久不卡8050| 精品中文字幕av| 日韩毛片免费看| 精品国产a毛片| 91网站免费视频| 天天久久综合| 国外成人免费在线播放| 中文区中文字幕免费看| 国产福利一区二区三区| 免费成人看片网址| 久久久久久久久免费视频| 亚洲国产精品一区二区久久| 少妇黄色一级片| 在线一区二区三区视频| 伊人青青综合网站| 免费视频一二三区| 日本视频在线一区| 国产精品免费观看高清| 午夜不卡视频| 午夜精品久久久久久| 日本中文字幕精品—区二区| 国产精品一区二区中文字幕 | 级毛片内射视频| 亚洲激情中文在线| 日韩美女在线观看一区| 肥臀熟女一区二区三区| 国产精品萝li| 日韩av在线第一页| 亚洲国产高清在线观看| 在线免费看av不卡| 日本三级小视频| 国产一二精品视频| 视频一区二区精品| 亚洲一区站长工具| 精品国偷自产国产一区| fc2ppv在线播放| 日韩国产精品久久久久久亚洲| 国产精品成人观看视频免费| 三区四区电影在线观看| 91黄视频在线| 久久精品一区二区免费播放 | 久久久久免费精品| 国产一区二区三区不卡av| 欧美xxxx18性欧美| 一本一道人人妻人人妻αv | 国产黄色片在线免费观看| 青草av.久久免费一区| 激情五月综合色婷婷一区二区| www红色一片_亚洲成a人片在线观看_| 在线看一区二区| 国产交换配乱淫视频免费| 亚洲高清电影| 国产日韩欧美亚洲一区| 色婷婷视频在线观看| 制服丝袜国产精品| 91狠狠综合久久久| 国产一区二区久久| 国产麻豆电影在线观看| 亚洲成人精品综合在线| 久久韩国免费视频| 国产又粗又大又爽| 亚洲欧美怡红院| 国产一区二区在线观看免费视频| 日本久久黄色| 国产欧美一区二区三区在线| 最新真实国产在线视频| 欧美另类高清zo欧美| 91香蕉视频网| 国产中文字幕精品| 永久免费看av| 成功精品影院| 欧美一级片久久久久久久| 国产91久久久| 精品久久久久久久久中文字幕 | 亚洲制服一区| 国产精品美女呻吟| 九七久久人人| 欧美成人伊人久久综合网| 国产精品成人久久| 91蜜桃免费观看视频| 无码内射中文字幕岛国片| 三级电影一区| 亚洲最大福利视频网| 国产盗摄在线视频网站| 国产丝袜精品视频| 中文字幕在线播出| 一区二区三区丝袜| 少妇特黄一区二区三区| 日本不卡123| 女人床在线观看| 牛牛精品成人免费视频| 国产精品久久综合av爱欲tv| 黄色片网站在线观看| 欧美精品一区二区三区蜜桃 | 欧美精品二区三区四区免费看视频| 韩国精品主播一区二区在线观看 | 麻豆网址在线观看| 成人三级在线视频| 超碰av在线免费观看| 在线观看日韩| 美媛馆国产精品一区二区| 国产精品成人国产| 性色av一区二区三区免费| 国产免费视频在线| 日韩免费成人网| 波多野结衣mp4| 亚洲美女在线国产| 女人又爽又黄免费女仆| 国产酒店精品激情| www日韩视频| 欧美日韩专区| 亚洲天堂电影网| 欧美大胆视频| 91欧美视频网站| 黑人精品一区| 久久久久久久电影一区| 自拍视频在线免费观看| 亚洲激情在线视频| 国产精品伦理一区| 色综合天天天天做夜夜夜夜做| 波多野结衣家庭教师| 久久精品视频一区二区三区| 精品人妻二区中文字幕| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产中文字幕二区| 欧美国产日本| 亚洲一卡二卡| 国产欧美日韩在线观看视频| 国产精品视频在线免费观看| 亚洲国产精选| 国产精品久久久av久久久| 国内老司机av在线| 久久深夜福利免费观看| 国产h在线观看| 日韩经典中文字幕| 亚洲毛片在线播放| 在线播放91灌醉迷j高跟美女 | 久久午夜免费视频| 亚洲综合丁香婷婷六月香| 婷婷激情四射网| 国产精品视频一二三区| 极品人妻一区二区三区| www.色精品| 日本精品一二三| 国产一区二区三区免费播放| 国产精品久久久毛片| 日韩高清在线电影| 国模杨依粉嫩蝴蝶150p| 国产精品日本| 午夜肉伦伦影院| 国产欧美精品| 男人添女人下面高潮视频| 禁久久精品乱码| 日本男女交配视频| 欧美日韩在线大尺度| 成人在线视频一区二区三区| 午夜精品久久| 国内精品国产三级国产99| 久久久久久久久久久9不雅视频| 亚洲一区二区在| 久久一区二区三区喷水| 亚洲一区三区电影在线观看| 久久高清免费| 黄色网址在线免费看| 欧美在线高清| 日韩小视频网站| 一区二区久久| 午夜肉伦伦影院| 人人精品人人爱| 欧美在线aaa| 久草中文综合在线| 无人码人妻一区二区三区免费| 国产激情91久久精品导航| 岛国精品一区二区三区| 99久久国产综合精品色伊| 国产ts丝袜人妖系列视频| 久久久久青草大香线综合精品| 国产jk精品白丝av在线观看| 日本一区二区三区免费乱视频| 香蕉成人在线视频| 一区二区三区资源| 亚洲国产综合久久| 色综合久久久久综合| 中文字幕在线观看1| 制服视频三区第一页精品| 国产综合在线播放| 亚洲欧美日韩视频一区| 91网页在线观看| 欧美精品在线观看91| 成av人片在线观看www| 国产精彩精品视频| 久久中文字幕一区二区| 国产一区二区不卡视频| 国产成人精品三级高清久久91| 在线国产精品网| 韩国精品一区二区三区| 黄色高清无遮挡| 国内精品伊人久久久久影院对白| 美女久久久久久久久| 久久亚洲精精品中文字幕早川悠里| 一卡二卡三卡四卡| 国产精品福利一区二区三区| 久久精品人妻一区二区三区| 欧洲av在线精品| www香蕉视频| 一区二区国产精品视频| 久草在线视频资源| 国产精品久久中文| 卡通动漫国产精品| 综合网五月天| 国产精品一级| 中文字幕一二三区| 中文字幕精品三区| 亚洲午夜18毛片在线看| 欧美高清视频www夜色资源网| 亚洲av毛片成人精品| 久久手机免费视频| 日韩在线免费| 久久99精品久久久久久水蜜桃| 91精品国产乱码久久久久久久| 男人揉女人奶房视频60分| 国产精品白丝av| 久久久久久久久福利| 亚洲动漫第一页| 国产人妖在线播放| 亚洲人高潮女人毛茸茸| 俄罗斯一级**毛片在线播放 | 性中国xxx极品hd| 中文字幕亚洲无线码a| 欧亚av在线| 成人av男人的天堂| 香蕉精品视频在线观看| 国产精品久久久久9999小说| 9久草视频在线视频精品| 中文字幕手机在线观看| 欧美日韩国产中文| 国产午夜精品一区理论片| 亚洲91av视频| 国产成人精品亚洲线观看| 午夜久久久久久久久久久| 美女精品一区二区| 永久免费毛片在线观看| 色综合咪咪久久| 无码精品在线观看| 久久久噜久噜久久综合| 亚洲乱码一区| 奇米777四色影视在线看| 国产一区二区电影| 999精品视频在线观看播放| 欧美视频在线不卡| 大地资源中文在线观看免费版| 日韩av电影院| 欧美理论视频| 天天干天天综合| 亚洲欧洲成人精品av97| 国产一区二区视频免费观看| 久久精品国产视频| 疯狂欧洲av久久成人av电影 | 国产蜜臀av在线播放| 国产精品麻豆免费版| 99xxxx成人网| 中文字幕一二三四区| 欧洲一区二区av| 自拍视频在线| 亚洲影影院av| 极品尤物久久久av免费看| 中文在线观看免费视频| 婷婷开心久久网| 免费毛片在线| 国产精品日韩专区| 天天做综合网| 肉丝美足丝袜一区二区三区四| 亚洲综合清纯丝袜自拍| 色综合视频在线| 国产精品av免费在线观看| 久久国产精品成人免费观看的软件| 亚洲一区二区图片| 亚洲第一主播视频| 欧美zozo| 91美女高潮出水| 黄色精品网站| 欧美激情亚洲色图| 在线播放日韩导航| а_天堂中文在线| 欧美在线日韩精品| 精品亚洲国产成人av制服丝袜 | 麻豆传媒在线免费看| 99伊人久久| 久久婷婷一区| 久久国产波多野结衣| 亚洲国产精品久久久久久| 免费欧美电影| 国产一二三四五| 91视频免费观看| 国产一区二区在线不卡| 91av在线播放| 色天天综合网| 日本国产在线视频| 欧亚一区二区三区| 欧美1234区| 色大师av一区二区三区| 国产成人综合网站| 69xxxx国产| 久久久久久久久久久av| 欧美亚洲精品在线| av免费观看不卡| 在线播放国产精品二区一二区四区| 麻豆mv在线看| 成人在线观看毛片| 日本一区二区三区久久久久久久久不 | 精品捆绑调教一区二区三区| 亚洲精品一卡二卡三卡四卡| 成人性视频免费网站| 一级片在线观看视频| 38少妇精品导航| 欧美日韩精品| 三级影片在线观看| 亚洲人成电影网站色www| youjizz亚洲|