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

垃圾收集器的秘密:深入理解JVM性能調優

原創
開發
Java虛擬機(JVM)的自動內存管理是Java開發者的福音,它通過垃圾收集(GC)機制自動回收不再使用的對象,極大地簡化了內存管理。然而,不恰當的GC配置或不理想的垃圾收集器選擇可能會對應用性能產生負面影響。

作者 | 波哥

審校 | 重樓

Java虛擬機(JVM)的自動內存管理是Java開發者的福音,它通過垃圾收集(GC)機制自動回收不再使用的對象,極大地簡化了內存管理。然而,不恰當的GC配置或不理想的垃圾收集器選擇可能會對應用性能產生負面影響。為了優化Java應用的性能,深入理解GC的原理和策略是至關重要的。本文筆者將詳細探討JVM的垃圾收集機制,包括內存模型、GC算法、各種垃圾收集器的特點及其調優策略。

一、JVM內存模型深入解析

JVM的內存模型是理解GC機制的基礎。JVM將內存分為多個區域,主要包括堆(Heap)、方法區(Method Area)、程序計數器(Program Counter Register)、虛擬機棧(VM Stack)和本地方法棧(Native Method Stack)。

1.堆(Heap)

堆內存是Java虛擬機(JVM)管理的最大一塊內存區域,它被所有線程共享,主要用于存放對象實例和數組。從垃圾收集的角度,堆內存進一步細分為新生代(Young Generation)、老年代(Old Generation)以及元空間(Metaspace,在Java 8之后取代了永久代PermGen)。

(1)新生代(Young Generation)

新生代是大多數新創建的對象的誕生地。由于對象的生存周期大多數較短,新生代的垃圾收集(Minor GC)發生頻繁但速度快。新生代進一步分為三個區域:

  • Eden區:幾乎所有新生成的對象首先都是在Eden區分配。
  • 兩個Survivor區(S0和S1):用于存放從Eden區和Survivor區經過一次Minor GC后仍然存活的對象。在每次Minor GC后,存活的對象會被移動到一個Survivor區,而另一個空閑的Survivor區將用于下一輪的存活對象移動。

(2)老年代(Old Generation)

隨著時間的推移,一些在新生代中經歷了多次GC依然存活的對象會被移動到老年代。老年代用于存放應用中生命周期長的對象。相較于新生代,老年代的空間更大,GC發生的頻率更低,但每次GC的時間更長。

對象進入老年代(Old Generation)通常是基于它們的存活周期。JVM采用分代垃圾收集策略,其中對象首先在新生代(Young Generation)分配。隨著垃圾收集的進行,只有存活下來的對象才會逐步晉升到老年代。具體而言,有幾種情況下對象會進入到老年代:

(3)經歷多次Minor GC后仍然存活的對象

新生代中的對象在經歷了一定數量的Minor GC(垃圾收集只針對新生代的收集稱為Minor GC)后,如果仍然存活,它們會被移動到老年代。JVM中有一個年齡計數器,每當對象在Minor GC后仍然存活,它的年齡就會增加。當對象的年齡增加到一定閾值(默認為15,但可以通過JVM參數-XX:MaxTenuringThreshold進行調整)時,這個對象就會被晉升到老年代。

(4)大對象直接分配到老年代

所謂的大對象是指需要大量連續內存空間的Java對象,例如那些很大的數組和長字符串。如果新生代中的Eden區無法容納一個新創建的對象,JVM就會直接將這個對象分配到老年代。這樣做是為了避免在新生代中為大對象分配內存后,進行Minor GC時發生大量的內存復制操作(因為新生代使用的是復制算法)。通過JVM參數-XX:PretenureSizeThreshold可以設置大對象的大小閾值。

(5)動態年齡判斷

在新生代的兩個Survivor區之間,對象每經過一次Minor GC就會年齡增加。如果在Survivor空間中相同年齡所有對象的大小的總和大于Survivor空間的一半,年齡大于或等于該年齡的對象就可以直接進入老年代,無需等到-XX:MaxTenuringThreshold設置的年齡。

(6)空間分配擔保

在進行Minor GC前,虛擬機會檢查老年代最大可用的連續空間是否大于新生代所有對象的總空間。如果這個條件不能滿足,虛擬機會提前將新生代中的部分對象轉移到老年代中,這個過程稱為“空間分配擔保”。目的是確保Minor GC可以順利完成,不會因為老年代空間不足而觸發更耗時的Full GC。

(7)元空間(Metaspace)

元空間用于存放類的元數據信息,如類的定義信息、常量、靜態變量等,并使用本地內存(而非JVM堆內存)。在Java 8之前,這部分數據被存放在永久代中。元空間的引入是為了避免永久代容易發生的內存溢出問題,并提供更靈活的內存管理。

2.方法區(Method Area)

方法區(Method Area)是堆的一部分,也被稱為非堆(Non-Heap),它被所有線程共享。方法區主要用于存放已被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯后的代碼等數據。
Java 8及之后的版本中,傳統的永久代(PermGen)被元空間(Metaspace)所取代。與永久代不同,元空間并不在虛擬機內存中,而是使用本地內存,因此,元空間的大小只受本地內存限制。

方法區的特點

  • 靜態存儲:方法區存儲的信息相對靜態,包括類的結構(如運行時常量池、字段和方法數據)以及方法和構造函數的代碼。
  • 全局共享:方法區被所有線程共享,這意味著它不像堆那樣頻繁地進行垃圾收集。實際上,方法區的垃圾收集主要針對常量池的回收和對類型的卸載。
  • 動態擴展:雖然方法區的初始大小有限,但它可以在運行時動態擴展,也可以設置最大空間大小,以防止其過度消耗內存。

方法區的垃圾收集

方法區的垃圾收集比較少見且難以執行,主要涉及兩部分工作:廢棄常量的回收和無用類的卸載。無用類的卸載條件相對嚴格,需要同時滿足以下三個條件:

  • 該類所有的實例都已經被回收,也就是說Java堆中不存在該類的任何實例。
  • 加載該類的ClassLoader已經被回收。
  • 該類對應的java.lang.Class對象沒有在任何地方被引用,無法在任何地方通過反射訪問該類的方法。

二、GC算法的探究

GC算法是實現垃圾收集的具體方法。主要的GC算法包括標記-清除(Mark-Sweep)、復制(Copying)和標記-整理(Mark-Compact),下面筆者將詳細介紹這三種算法的工作原理以及它們的優缺點。

1.標記-清除算法

(1)工作原理

  • 標記階段:從一組根對象(通常是活躍線程的局部變量和輸入參數、靜態字段等)開始遍歷,標記所有從這些根對象可達的對象。
  • 清除階段:掃描整個堆空間,回收所有未被標記的對象所占用的內存。

(2)優點

  • 簡單直接,實現相對容易。
  • 不需要額外移動對象,減少了額外的開銷。

(3)缺點

  • 執行過程中會產生內存碎片,導致后續可能無法為大對象分配連續內存空間。
  • 需要暫停應用程序執行(Stop-The-World),可能會導致應用響應時間變長。

2.復制算法

(1)工作原理

  • 將可用內存劃分為大小相等的兩塊,每次只使用其中一塊。
  • 當這一塊的內存快用完時,將存活的對象復制到另一塊空閑區域。
  • 清空已使用的內存塊,交換兩個內存區域的角色。

(2)優點

  • 解決了標記-清除算法中的內存碎片問題。
    適合存活對象較少的場景,如新生代的垃圾收集。

(3)缺點

  • 需要將存活的對象復制到另一塊內存區域,增加了復制成本,特別是當存活對象較多時。
    內存使用效率低,因為任何時候只有一半的內存區域被使用。

3.標記-整理算法

(1)工作原理

  • 標記階段:與標記-清除算法相同,從根集合出發標記所有可達的對象。
  • 整理階段:將所有存活的對象壓縮到堆的一端,然后清理掉邊界以外的內存。

(2)優點

  • 解決了內存碎片問題,為大對象的分配提供了連續的內存空間。
  • 避免了復制算法中的高成本復制操作,更適合老年代的垃圾收集。

(3)缺點

  • 需要移動對象,并更新對象引用的位置,增加了額外的開銷。
  • 同樣需要暫停應用程序執行,可能會影響應用的響應時間。

現代JVM實現通常采用以上基本GC算法的變體或組合,以達到更高的垃圾收集效率和更低的停頓時間。例如:G1收集器就是將堆劃分為多個區域(Region),并根據每個區域的垃圾回收價值進行增量收集,旨在平衡吞吐量和停頓時間。ZGC和Shenandoah收集器采用了基于Region的復制算法,實現了幾乎全程并發的垃圾收集,極大地減少了停頓時間。

JVM提供了多種垃圾收集器,下面我們大概介紹下目前主流的幾種垃圾回收器及每種收集器適用場景。

  • Serial收集器Serial收集器是最簡單的GC實現,它使用單線程進行垃圾收集。在進行GC時,需要暫停其他所有工作線程("Stop The World"),因此不適合多處理器環境或要求低延遲的應用。
  • Parallel(并行)收集器Parallel收集器類似于Serial收集器,但它使用多線程進行垃圾收集,可以顯著減少GC的停頓時間。它主要關注達到一個可接受的吞吐量(應用時間與GC時間的比率)。
  • Concurrent Mark Sweep(CMS)收集器CMS收集器的目標是盡可能減少應用停頓時間。它通過并發標記和并發清除實現了這一點,但是CMS收集器可能會產生較多的內存碎片。
  • G1收集器G1收集器是一種服務器端的垃圾收集器,旨在替代CMS收集器,它通過將堆劃分為多個區域(Region)并并行處理這些區域來減少停頓時間,同時提供了更細粒度的GC控制。
  • ZGC和Shenandoah收集器ZGC和Shenandoah是實驗性的低延遲垃圾收集器,旨在實現幾乎不停頓的垃圾收集。它們通過使用讀寫屏障和并發線程來實現這一目標,適用于需要極低停頓時間的應用。

三、垃圾收集器的調優實踐

以上我們詳細介紹了垃圾回收算法和主流的垃圾回收器,接下來我們詳細介紹下在實際應用中,該如何根據具體應用特性進行調優。以下是一些調優的通用策略:

  • 選擇合適的垃圾收集器根據應用的需求(如響應時間要求、吞吐量要求等)和資源限制(如CPU、內存大小等),選擇最適合的垃圾收集器。
  • 堆大小調整適當地調整堆大小可以平衡GC的頻率和停頓時間。一般而言,增大堆大小會減少GC的頻率,但可能增加GC的停頓時間。
  • 監控和分析GC日志通過開啟GC日志,可以獲得垃圾收集的詳細信息,如各階段的耗時、回收量等。分析這些數據可以幫助識別性能瓶頸和調優方向。
  • 細化GC參數設置

JVM提供了豐富的GC相關參數,通過調整這些參數(如新生代與老年代的比例、觸發Full GC的閾值等),可以微調垃圾收集的行為,優化性能。

深入理解JVM的垃圾收集機制和各種垃圾收集器的特點是進行有效性能調優的前提。通過選擇合適的垃圾收集器并適當調優,可以顯著提升Java應用的性能,滿足不同場景下對響應時間和吞吐量的需求。記住,沒有一勞永逸的解決方案,性能優化是一個持續的過程,需要不斷地監控、評估和調整。

作者介紹

波哥,互聯行業從業10余年,先后擔任項目總監及架構師。目前專攻技術,喜歡研究技術原理。技術全面,主攻Java,精通JVM底層機制及Spring全家桶底層框架原理,熟練掌握當前主流的中間件、服務網格等技術原理。

責任編輯:華軒 來源: 51CTO
相關推薦

2020-02-25 22:01:36

理解JVM垃圾收集器

2011-12-20 10:43:21

Java

2017-09-21 14:40:06

jvm算法收集器

2024-08-26 08:58:50

2024-12-30 08:03:08

2022-04-19 11:25:31

JVMZGC垃圾收集器

2017-07-21 08:55:13

TomcatJVM容器

2023-11-05 12:05:35

JVM內存

2011-07-21 14:54:26

java垃圾收集器

2022-07-25 10:15:29

垃圾收集器Java虛擬機

2021-11-26 00:00:48

JVM內存區域

2012-01-09 17:06:16

JavaJVM

2024-12-04 15:49:29

2021-08-15 18:59:13

垃圾收集器JDK

2023-12-12 08:00:39

2021-02-04 10:43:52

開發技能代碼

2012-01-09 16:53:36

JavaJVM

2025-07-11 02:33:00

JVM垃圾回收

2021-01-27 11:10:49

JVM性能調優

2009-10-30 10:47:48

VB.NET垃圾收集器
點贊
收藏

51CTO技術棧公眾號

老色鬼在线视频| 亚洲经典一区二区三区| 国产精品羞羞答答在线观看| 欧美日精品一区视频| 手机看片日韩国产| 日韩在线视频第一页| 久久亚洲风情| 久久av在线看| 国产精品久久久久无码av色戒| jizz久久久久久| 亚洲一区在线电影| 日韩精品久久久| www.亚洲天堂.com| 日韩高清在线观看| 久久久久日韩精品久久久男男| av网站免费在线看| 国产精品三p一区二区| 欧美性受极品xxxx喷水| 国产免费一区二区视频| eeuss影院www在线播放| 不卡电影一区二区三区| 国产欧美一区二区三区久久| 男人的天堂一区二区| 999久久久免费精品国产| 日韩成人在线免费观看| 潘金莲一级淫片aaaaaaa| 成人国产综合| 日韩欧美在线网址| 欧美大黑帍在线播放| 超碰国产在线| 2022国产精品视频| 国产不卡一区二区三区在线观看| 中文字幕在线观看视频一区| 国产精品综合色区在线观看| 欧美黑人xxxx| 欧美日韩黄色网| 精品国产一区探花在线观看 | 免费观看亚洲天堂| 欧美三级一区二区| 美女福利视频在线| 激情黄产视频在线免费观看| 亚洲图片欧美视频| 日韩成人三级视频| 在线三级中文| 亚洲精品成人a在线观看| 一区二区精品视频| 中文字幕在线播放| 中文字幕制服丝袜成人av| 日产国产精品精品a∨| 午夜av免费观看| 白白色 亚洲乱淫| 国产欧美一区二区视频| 高h放荡受浪受bl| 粉嫩欧美一区二区三区高清影视| 97久久人人超碰caoprom欧美| 国产精品视频久久久久久| 麻豆精品视频在线观看视频| 国产精品精品视频| 特级西西444www高清大视频| 青青草国产成人av片免费| 国产成人中文字幕| 中文字幕丰满人伦在线| 久久成人久久爱| 7777精品久久久大香线蕉小说| 国产一区二区波多野结衣| 激情综合色丁香一区二区| 91久久在线播放| www.成人免费视频| 成人av免费在线| 免费看国产精品一二区视频| 黄色电影免费在线看| 日本一区免费视频| 制服诱惑一区| 欧美videos另类精品| 午夜不卡av免费| av免费中文字幕| 国产精品伦一区二区| 欧美一区二区在线视频| 香蕉视频免费网站| 最新国产精品视频| 日韩综合视频在线观看| 激情小说中文字幕| 一区二区三区四区五区在线 | 久久久久久91亚洲精品中文字幕| 丝袜美腿亚洲一区| 91精品久久久久久久久久| 精品人妻无码一区二区色欲产成人 | 欧美大学生性色视频| 日本三级理论片| 日韩黄色在线观看| 91久久偷偷做嫩草影院| 视频二区在线| 中文字幕综合网| 免费看日本毛片| 亚洲伊人伊成久久人综合网| 欧美大片在线观看一区二区| 欧美一区二区三区成人精品| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 在线免费a视频| 国产福利不卡视频| 日本在线观看不卡| 男人天堂亚洲天堂| 欧美性videosxxxxx| 精品熟女一区二区三区| 欧美jizz| 欧美综合第一页| 亚洲av无码片一区二区三区 | 这里有精品可以观看| 欧美乱妇15p| 免费在线观看成年人视频| 91成人影院| 国产97免费视| 秋霞欧美在线观看| 亚洲欧美经典视频| 国产成人精品视频ⅴa片软件竹菊| 岛国精品在线| 亚洲欧美日本另类| 国产精品第一页在线观看| 九一久久久久久| 日本在线一区| 性爽视频在线| 亚洲成人av片在线观看| 久久精品亚洲a| 日韩精品视频网站| 欧美精品久久久| av剧情在线观看| 日韩亚洲欧美在线观看| 久久精品在线观看视频| 久久中文字幕一区二区三区| 久久影院理伦片| 92久久精品| 日韩精品一区二区在线| 国产稀缺精品盗摄盗拍| 青青草国产精品97视觉盛宴| 欧美在线日韩精品| www.成人爱| 日韩成人激情视频| 日韩熟女精品一区二区三区| 成人性色生活片| 狠狠噜天天噜日日噜| 91精品福利观看| 精品国产区一区二区三区在线观看| 日本中文字幕在线观看视频| 久久毛片高清国产| 日本三级免费网站| 婷婷成人影院| 欧美一二三视频| 四虎影视2018在线播放alocalhost| 亚洲成在线观看| 99久久久无码国产精品性波多| 欧美精品播放| 国产美女99p| 麻豆免费在线| 亚洲欧美在线看| 国产精品第六页| 亚洲欧洲日本在线| 欧美视频亚洲图片| 欧美亚韩一区| 韩日午夜在线资源一区二区| 两个人看的在线视频www| 亚洲精品综合精品自拍| 国产黄网在线观看| 成人欧美一区二区三区小说| 国内av免费观看| 极品少妇一区二区三区| 精品在线不卡| 蜜桃视频成人m3u8| 久久香蕉国产线看观看av| 精品乱子伦一区二区| 精品动漫一区二区三区| 美女被到爽高潮视频| 蜜桃一区二区三区在线观看| 欧美美女黄色网| 日本亚洲不卡| 国产精品精品国产| 污片在线免费观看| 亚洲精品天天看| 91丨porny丨在线中文 | 婷婷激情五月网| 亚洲国产经典视频| 女教师高潮黄又色视频| 国产亚洲毛片在线| 制服国产精品| 欧美一区二区三区红桃小说| 国产精品久久久久久久久久久久久| 天天影视久久综合| 精品欧美午夜寂寞影院| 91香蕉视频污在线| 国产精品少妇在线视频| 97视频精品| 国内一区在线| 欧美电影免费观看| 久久精品在线视频| 五月婷婷深深爱| 欧美区在线观看| 日韩av一区二区在线播放| 国产日产欧美一区二区三区 | 视频一区在线免费看| 欧美成人免费播放| 国产有码在线| 精品国产免费久久| 91国产免费视频| 午夜精品久久久久久久99水蜜桃| 欧美人妻一区二区三区| 成人午夜电影小说| 三日本三级少妇三级99| 亚洲一区自拍| 97碰在线视频| 91亚洲自偷观看高清| 久久国产精品 国产精品| 亚洲人成777| 日本国产精品视频| 好看的中文字幕在线播放| 中文字幕欧美日韩在线| 色呦呦中文字幕| 91精品一区二区三区在线观看| 国产91精品一区| 国内成人自拍| 日韩av不卡在线| bl视频在线免费观看| www.精品av.com| 国产日韩精品在线看| 欧美一区二区精品在线| 国产亚洲欧美日韩高清| 亚洲成a人片在线观看中文| 亚洲色图27p| 中文字幕欧美日韩一区| aa片在线观看视频在线播放| 粉嫩av一区二区三区| 999久久久精品视频| 青青草91视频| 国产精品沙发午睡系列| 女人香蕉久久**毛片精品| 亚洲欧美国产一区二区| 精品产国自在拍| 快播日韩欧美| 色婷婷av一区二区三区丝袜美腿| 91色在线观看| 日本欧美在线| 国产精品日韩一区| 欧美日韩美女| 国产97在线播放| 欧美日韩国产观看视频| 国内精品小视频在线观看| 2024最新电影免费在线观看| www.日韩不卡电影av| 伊人在线视频| 日韩专区在线观看| 婷婷在线视频| xxxx性欧美| 黄色网在线播放| 久久色精品视频| 97影院秋霞午夜在线观看| 欧美精品情趣视频| 国产美女一区视频| 97国产精品视频人人做人人爱| а√天堂8资源在线| 97人人模人人爽人人喊中文字 | 国产99在线|中文| 三级成人在线| 国产狼人综合免费视频| 精品国产三级| 国产精品乱子乱xxxx| 日韩精品导航| 色一情一乱一伦一区二区三区| 欧美色婷婷久久99精品红桃| 亚洲综合欧美日韩| 亚洲字幕久久| 欧美精品久久久久久久久久久| 亚洲精品欧美| 日韩欧美在线免费观看视频| 久久精品国产网站| 任你躁av一区二区三区| 91色porny在线视频| 成人无码精品1区2区3区免费看| 中文字幕人成不卡一区| 日本中文字幕网| 日本福利一区二区| 国产精品特级毛片一区二区三区| 欧美电影精品一区二区| 欧美视频综合| 久久天天躁狠狠躁夜夜躁| sm性调教片在线观看| 国产成人一区二区在线| 精品国产一级| 久久国产精品-国产精品| 奇米影视亚洲| 农民人伦一区二区三区| 日韩激情一区二区| 国产chinesehd精品露脸| 久久综合狠狠综合久久综合88| www.涩涩爱| 精品国产乱码久久久久酒店 | 久久久久久久久97| 色播五月激情综合网| www.99视频| 一区二区三区在线播放欧美| 牛牛在线精品视频| 国产精品偷伦一区二区| 激情av综合| 国产又大又长又粗又黄| 国产精品久久久久9999高清| 一级黄色片国产| 国产亚洲综合性久久久影院| 久久久久亚洲av成人片| 欧美唯美清纯偷拍| 无码国精品一区二区免费蜜桃| 精品国偷自产在线视频| 韩国成人动漫| 国产精品日韩欧美一区二区| 欧美疯狂party性派对| 国产乱子夫妻xx黑人xyx真爽| 国产一区二区在线视频| 91成年人网站| 香蕉久久一区二区不卡无毒影院| 一区二区三区黄色片| 亚洲人精品午夜在线观看| 亚洲七七久久综合桃花剧情介绍| 国产精品久久久久久久7电影| 国产亚洲精品美女久久| 美国av在线播放| 美女视频黄 久久| 9.1成人看片免费版| 一区av在线播放| 国产精品无码白浆高潮| 色一区av在线| 欧美va在线观看| 欧美精品七区| 久久亚洲色图| 无码人妻精品一区二区三区温州 | 亚洲第一网站在线观看| 亚洲第一福利视频| 色www永久免费视频首页在线 | 欧美性猛交久久久乱大交小说| 99精品一区二区| 91久久国产视频| 亚洲国产婷婷香蕉久久久久久 | 久久国产精品亚洲人一区二区三区| 六月激情综合网| 久久欧美中文字幕| 国产又大又黄又粗| 亚洲男人天堂2019| 中文字幕av一区二区三区佐山爱| 欧美日韩喷水| 狂野欧美一区| 91精品国自产在线| 欧美午夜精品久久久| 超碰在线国产| 成人免费网站在线| 91久久高清国语自产拍| 17c国产在线| 亚洲男同性恋视频| 性网爆门事件集合av| 久久久爽爽爽美女图片| 成人av动漫| 日韩欧美亚洲天堂| 久久久91精品国产一区二区三区| 国产精品第5页| 在线亚洲欧美视频| a一区二区三区亚洲| 国产女教师bbwbbwbbw| 成人自拍视频在线| 丰满少妇乱子伦精品看片| 亚洲人成网7777777国产| 国产成人免费9x9x人网站视频| 天天综合色天天综合色hd| 激情欧美一区二区| 久久久久久久久久久久久久久久久| 亚洲精品一区二区三区香蕉| 国产99在线| 丝袜美腿玉足3d专区一区| 国产原创一区二区| 日本一区二区三区四区五区| 亚洲人成在线观看网站高清| 91成人福利社区| 国产二区视频在线| 中文字幕免费不卡在线| 99热这里只有精品5| 久久久免费在线观看| 国产91久久精品一区二区| 超碰人人草人人| 亚洲第一主播视频| 国产一区电影| 99九九视频| 日韩成人免费电影| 久久久久人妻一区精品色欧美| 亚洲欧美日本精品| 精品欧美视频| 国产xxxxx视频| 一区二区在线观看视频在线观看| 亚洲色图狠狠干| 成人免费网站在线| 先锋a资源在线看亚洲| √天堂中文官网8在线| 日韩成人免费视频| 久久精品九色| 亚洲欧美在线精品| 婷婷成人激情在线网| 免费网站黄在线观看| 精品日韩电影|