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

深入理解Java虛擬機:堆詳解

開發 前端
內存是非常重要的系統資源,是硬盤和CPU的中間倉庫及橋梁,承載著操作系統和應用程序的實時運行JVM內存布局規定了Java在運行過程中內存申請、分配、管理的策略,保證了JVM的高效穩定運行。不同的JVM對于內存的劃分方式和管理機制存在著部分差異。

前言

本節主要講的是運行時數據區(堆),也就是下圖這部分,它是在類加載完成后的階段:

圖片圖片

  • 每個線程:獨立包括程序計數器、棧、本地棧
  • 線程間共享:堆、堆外內存(永久代或元空間、代碼緩存)

當我們通過前面的:類的加載-> 驗證 -> 準備 -> 解析 -> 初始化 這幾個階段完成后,就會用到執行引擎對我們的類進行使用,同時執行引擎將會使用到我們運行時數據區。

內存是非常重要的系統資源,是硬盤和CPU的中間倉庫及橋梁,承載著操作系統和應用程序的實時運行JVM內存布局規定了Java在運行過程中內存申請、分配、管理的策略,保證了JVM的高效穩定運行。不同的JVM對于內存的劃分方式和管理機制存在著部分差異。

正文

我們通過磁盤或者網絡IO得到的數據,都需要先加載到內存中,然后CPU從內存中獲取數據進行讀取,也就是說內存充當了CPU和磁盤之間的橋梁。

圖片圖片

線程

線程是一個程序里的運行單元。JVM允許一個應用有多個線程并行的執行。在Hotspot JVM里,每個線程都與操作系統的本地線程直接映射。

當一個Java線程準備好執行以后,此時一個操作系統的本地線程也同時創建。Java線程執行終止后,本地線程也會回收。

操作系統負責所有線程的安排調度到任何一個可用的CPU上。一旦本地線程初始化成功,它就會調用Java線程中的run()方法。

JVM系統線程:

  • 虛擬機線程:需要JVM達到安全點才會出現。這些操作必須在不同的線程中發生的,原因是他們都需要JVM達到安全點,這樣堆才不會變化。這種線程的執行類型包括stop-the-world的垃圾收集,線程棧收集,線程掛起以及偏向鎖撤銷。
  • 周期任務線程:這種線程是時間周期事件的體現(比如中斷),他們一般用于周期性操作的調度執行。
  • GC線程:這種線程對在JVM里不同種類的垃圾收集行為提供了支持。
  • 編譯線程:這種線程在運行時會將字節碼編譯成到本地代碼。
  • 信號調度線程:這種線程接收信號并發送給JVM,在它內部通過調用適當的方法進行處理。

堆針對一個JVM進程來說是唯一的,也就是一個進程只有一個JVM,但是進程包含多個線程,他們是共享同一堆空間的。

圖片圖片

數組和對象可能永遠不會存儲在棧上,因為棧幀中保存引用,這個引用指向對象或者數組在堆中的位置,在方法結束后,堆中的對象不會馬上被移除,僅僅在垃圾收集的時候才會被移除。

堆內存細分

Java 7及之前堆內存邏輯上分為三部分:新生區+老年區+永久區

  • Young Generation Space 新生區,又被劃分為Eden區和Survivor區
  • Tenure generation space 老年區
  • Permanent Space 永久區

Java 8及之后堆內存邏輯上分為三部分:新生區+老年區+元空間

  • Young Generation Space 新生區,又被劃分為Eden區和Survivor區
  • Tenure generation space 老年區
  • Meta Space 元空間

Jdk1.6

圖片圖片

Jdk1.7

圖片圖片

Jdk1.8

圖片圖片

設置堆內存大小

  • -Xms用于表示堆區的起始內存,等價于-XX:InitialHeapSize,默認物理電腦內存大小/64
  • -Xmx則用于表示堆區的最大內存,等價于-XX:MaxHeapSize,默認物理電腦內存大小/4

通常會將-Xms和-Xmx兩個參數配置相同的值,其目的是為了能夠在Java垃圾回收機制清理完堆區后不需要重新分隔計算堆區的大小,從而提高性能。

一旦堆區中的內存大小超過-Xmx所指定的最大內存時,將會拋出OutOfMemoryError異常

年輕代與老年代

存儲在JVM中的Java對象可以被劃分為兩類:

  • 生命周期較短的瞬時對象,這類對象的創建和消亡都非常迅速。
  • 生命周期非常長,在某些極端的情況下還能夠與JVM的生命周期保持一致。

圖片圖片

  • 默認-XX:NewRatio=2,表示新生代占1,老年代占2。
  • Eden空間和另外兩個survivor空間缺省所占的比例是8:1:1。

圖片圖片

  • jinfo -flag NewRatio 進程號 可查看相關屬性值
  • jinfo -flag SurvivorRatio 進程號 可查看相關屬性值

對象分配過程

為新對象分配內存是一件非常嚴謹和復雜的任務,JVM的設計者們不僅需要考慮內存如何分配、在哪里分配等問題,并且由于內存分配算法與內存回收算法密切相關,所以還需要考慮GC執行完內存回收后是否會在內存空間中產生內存碎片

圖片圖片

  1. new的對象先放伊甸園區。此區有大小限制。
  2. 當伊甸園的空間填滿時,程序又需要創建對象,JVM的垃圾回收器將對伊甸園區進行垃圾回收(MinorGC),將伊甸園區中的不再被其他對象所引用的對象進行銷毀,再加載新的對象放到伊甸園區。
  3. 然后將伊甸園中的剩余對象移動到幸存者s0區。
  4. 如果再次觸發垃圾回收,此時上次幸存下來的放到幸存者s0區的,如果沒有回收,就會放到幸存者s1區。
  5. 如果再次經歷垃圾回收,此時會重新放回幸存者s0區,接著再去幸存者s1區。
  6. 啥時候能去養老區呢?可以設置次數。默認是15次 ,進行設置-Xx:MaxTenuringThreshold= N。
  7. 在養老區,相對悠閑。當養老區內存不足時,再次觸發GC:Major GC,進行養老區的內存清理。
  8. 若養老區執行了Major GC之后,發現依然無法進行對象的保存,就會產生OOM異常。
  • 針對幸存者s0,s1區的總結:復制之后又交換,誰空誰是to。
  • 垃圾回收:頻繁在新生區收集,很少在老年代收集,幾乎不在永久代和元空間進行收集。

Minor GC,MajorGC、Full GC

JVM在進行GC時,并非每次都對上面三個內存區域一起回收的,大部分時候回收的都是指新生代。

針對Hotspot VM的實現,它里面的GC按照回收區域又分為兩大種類型:一種是部分收集(Partial GC),一種是整堆收集(FullGC)

  • 部分收集:不是完整收集整個Java堆的垃圾收集。其中又分為:

新生代收集(Minor GC / Young GC):只是新生代的垃圾收集。

老年代收集(Major GC / Old GC):只是老年代的圾收集。

混合收集(MixedGC):收集整個新生代以及部分老年代的垃圾收集。

  • 整堆收集(Full GC):收集整個Java堆和方法區的垃圾收集。
  • 目前,只有CMS GC會有單獨收集老年代的行為,很多時候Major GC會和Full GC混淆使用,需要具體分辨是老年代回收還是整堆回收。
  • 目前,只有G1 GC會有混合收集。

年輕代GC(Minor GC)觸發機制

  • 當年輕代空間不足時,就會觸發MinorGC,這里的年輕代滿指的是Eden代滿,Survivor滿不會引發GC。(每次Minor GC會清理年輕代的內存。)
  • Minor GC會引發STW,暫停其它用戶的線程,等垃圾回收結束,用戶線程才恢復運行 。

老年代GC(Major GC / Full GC)觸發機制

  • 對象從老年代消失時,我們說Major GC或 Full GC發生了。
  • 出現了Major Gc,經常會伴隨至少一次的Minor GC。
  • 如果Major GC后,內存還不足,就報OOM。

內存分配策略

如果對象在Eden出生并經過第一次Minor GC后仍然存活,并且能被Survivor容納的話,將被移動到survivor空間中,并將對象年齡設為1。對象在survivor區中每熬過一次MinorGC,年齡就增加1歲,當它的年齡增加到一定程度(默認為15歲,其實每個JVM、每個GC都有所不同)時,就會被晉升到老年代。

對不同年齡段的對象分配原則如下所示:

  • 優先分配到Eden
  • 大對象直接分配到老年代(盡量避免程序中出現過多的大對象)
  • 長期存活的對象分配到老年代
  • 動態對象年齡判斷:如果survivor區中相同年齡的所有對象大小的總和大于Survivor空間的一半,年齡大于或等于該年齡的對象可以直接進入老年代,無須等到MaxTenuringThreshold中要求的年齡。
  • 空間分配擔保:-XX:HandlePromotionFailure

圖片圖片

TLAB

為什么有TLAB

  • 堆區是線程共享區域,任何線程都可以訪問到堆區中的共享數據 。
  • 由于對象實例的創建在JVM中非常頻繁,因此在并發環境下從堆區中劃分內存空間是線程不安全的 。
  • 為避免多個線程操作同一地址,需要使用加鎖等機制,進而影響分配速度。

什么是TLAB

圖片圖片

  • 從內存模型而不是垃圾收集的角度,對Eden區域繼續進行劃分,JVM為每個線程分配了一個私有緩存區域,它包含在Eden空間內。
  • 多線程同時分配內存時,使用TLAB可以避免一系列的非線程安全問題,同時還能夠提升內存分配的吞吐量,因此我們可以將這種內存分配方式稱之為快速分配策略 。

盡管不是所有的對象實例都能夠在TLAB中成功分配內存,但JVM確實是將TLAB作為內存分配的首選。

圖片圖片

堆空間的參數設置

-XX:+PrintFlagsInitial  //查看所有的參數的默認初始值
-XX:+PrintFlagsFinal  //查看所有的參數的最終值(可能會存在修改,不再是初始值)
-Xms  //初始堆空間內存(默認為物理內存的1/64)
-Xmx  //最大堆空間內存(默認為物理內存的1/4)
-Xmn  //設置新生代的大小。(初始值及最大值)
-XX:NewRatio  //配置新生代與老年代在堆結構的占比
-XX:SurvivorRatio  //設置新生代中Eden和S0/S1空間的比例
-XX:MaxTenuringThreshold  //設置新生代垃圾的最大年齡
-XX:+PrintGCDetails //輸出詳細的GC處理日志
//打印gc簡要信息:①-Xx:+PrintGC ② - verbose:gc
-XX:HandlePromotionFalilure://是否設置空間分配擔保

堆是分配對象的唯一選擇么?

隨著JIT編譯期的發展與逃逸分析技術逐漸成熟,棧上分配、標量替換優化技術將會導致一些微妙的變化,所有的對象都分配到堆上也漸漸變得不那么絕對了。

在Java虛擬機中,對象是在Java堆中分配內存的,這是一個普遍的常識。但是,有一種特殊情況,那就是如果經過逃逸分析(Escape Analysis)后發現,一個對象并沒有逃逸出方法的話,那么就可能被優化成棧上分配。這樣就無需在堆上分配內存,也無須進行垃圾回收了。這也是最常見的堆外存儲技術。

逃逸分析的基本行為就是分析對象動態作用域:

  • 當一個對象在方法中被定義后,對象只在方法內部使用,則認為沒有發生逃逸。
  • 當一個對象在方法中被定義后,它被外部方法所引用,則認為發生逃逸。例如作為調用參數傳遞到其他地方中。
public class EscapeAnalysis {

    public EscapeAnalysis obj;

    /**
     * 方法返回EscapeAnalysis對象,發生逃逸
     * @return
     */
    public EscapeAnalysis getInstance() {
        return obj == null ? new EscapeAnalysis() : obj;
    }

    /**
     * 為成員屬性賦值,發生逃逸
     */
    public void setObj() {
        this.obj = new EscapeAnalysis();
    }

    /**
     * 對象的作用于僅在當前方法中有效,沒有發生逃逸
     */
    public void useEscapeAnalysis() {
        EscapeAnalysis e = new EscapeAnalysis();
    }

    /**
     * 引用成員變量的值,發生逃逸
     */
    public void useEscapeAnalysis2() {
        EscapeAnalysis e = getInstance();
    }
}

使用逃逸分析,編譯器可以對代碼做如下優化:

  • 一、棧上分配:將堆分配轉化為棧分配。如果一個對象在子程序中被分配,要使指向該對象的指針永遠不會發生逃逸,對象可能是棧上分配的候選,而不是堆上分配。
  • 二、同步省略:如果一個對象被發現只有一個線程被訪問到,那么對于這個對象的操作可以不考慮同步。
  • 三、分離對象或標量替換:有的對象可能不需要作為一個連續的內存結構存在也可以被訪問到,那么對象的部分(或全部)可以不存儲在內存,而是存儲在CPU寄存器中。
責任編輯:武曉燕 來源: 一安未來
相關推薦

2024-04-03 13:49:00

Java虛擬機方法區

2012-11-14 09:57:46

JavaJava虛擬機JVM

2019-07-24 16:04:47

Java虛擬機并發

2024-03-26 07:30:07

Java虛擬機源文件

2016-09-01 12:37:13

OpenStack虛擬機Metadata

2024-04-10 07:40:45

Java虛擬機內存

2023-09-22 23:00:11

Java虛擬機

2019-12-31 10:45:30

JavaVisualVM高并發

2017-11-14 14:41:11

Java泛型IO

2011-12-28 13:24:47

JavaJVM

2011-12-28 13:38:00

JavaJVM

2020-05-08 16:55:48

Java虛擬機JVM

2016-12-08 15:36:59

HashMap數據結構hash函數

2010-06-01 15:25:27

JavaCLASSPATH

2020-07-21 08:26:08

SpringSecurity過濾器

2022-08-21 16:52:27

Linux虛擬內存

2012-03-05 11:09:01

JavaClass

2021-09-18 06:56:01

JavaCAS機制

2009-09-25 09:14:35

Hibernate日志

2021-02-17 11:25:33

前端JavaScriptthis
點贊
收藏

51CTO技術棧公眾號

九色porny自拍视频在线播放| 国产熟女精品视频| 国产精品亚洲片在线播放| 色播五月激情综合网| 亚洲激情图片| 午夜久久久久久久久久| 亚洲区国产区| 中文字幕国产精品| 无码人妻丰满熟妇啪啪网站| 免费在线小视频| 国产精品乱人伦| 成人资源视频网站免费| 久久国产视频一区| 色喇叭免费久久综合| 欧美本精品男人aⅴ天堂| 国产三区在线视频| 成人午夜在线影视| 久久久亚洲精品一区二区三区| 成人黄色在线免费| 天堂中文在线网| 亚洲成人免费| 亚洲欧美在线免费| 国产精品二区视频| 欧美成人app| 精品欧美aⅴ在线网站| 亚洲日本一区二区三区在线不卡| 蜜桃视频在线观看www| 蜜桃一区二区三区在线| 欧美亚洲成人免费| 久久久久亚洲天堂| 99视频精品全国免费| 日韩精品免费综合视频在线播放| 又黄又爽又色的视频| 日韩新的三级电影| 午夜视频在线观看一区二区三区| 一区二区三区四区| 久久米奇亚洲| 91在线小视频| 国产日韩欧美亚洲一区| 国产精品女人久久久| 久久精品一本| 欧美又大又硬又粗bbbbb| 九九精品在线观看视频| 亚洲成人最新网站| 精品国产一区久久久| 人人人妻人人澡人人爽欧美一区| 农村少妇一区二区三区四区五区| 日韩欧美在线影院| 看看黄色一级片| 97精品国产99久久久久久免费| 午夜精品一区二区三区免费视频 | 国产又粗又猛又黄又爽| 石原莉奈在线亚洲二区| 欧美在线视频免费| 国产成人免费看| 99精品视频免费| 性色av一区二区三区免费| 欧美日韩精品在线观看视频| 亚洲九九视频| 不卡av电影在线观看| 91久久国产综合| 夜间精品视频| 九九热视频这里只有精品| wwwav国产| 欧美日韩福利| 欧美激情在线狂野欧美精品| 久青草视频在线观看| 国产精品啊啊啊| 久久久久久成人精品| 国产主播在线观看| 亚洲精品在线二区| 欧美与欧洲交xxxx免费观看| 日日夜夜综合网| 亚洲免费一区二区| 国产成人免费av电影| 一级一片免费看| 日本91福利区| 亚洲一区二区三区乱码aⅴ| 国产ts变态重口人妖hd| 国产福利精品导航| 国产综合动作在线观看| 欧美另类自拍| 中文字幕制服丝袜成人av | 激情影院在线观看| 亚洲一区在线观看网站| av日韩一区二区三区| 成人美女大片| 欧美电影在线免费观看| 国产精品亚洲一区二区无码| 妖精一区二区三区精品视频| 中文字幕亚洲色图| 欧美黄色免费观看| 亚洲一级在线| 成人激情av在线| 日韩一级免费视频| 国产亚洲一区二区在线观看| 免费成人看片网址| www 日韩| 亚洲一区av在线| 最近免费中文字幕中文高清百度| 99精品国产九九国产精品| 精品久久人人做人人爽| 人妻aⅴ无码一区二区三区| 国产精品久久久久一区二区三区厕所| 欧美日韩国产成人高清视频| 亚洲大尺度在线观看| 国产乱色国产精品免费视频| 欧美在线日韩精品| 1024在线播放| 91福利视频网站| 国产精品嫩草69影院| 欧美男同视频网| 欧美国产精品日韩| 在线观看一二三区| xnxx国产精品| 伊人网在线免费| 欧美影视资讯| 亚洲高清福利视频| 欧美手机在线观看| 欧美bbbbb| 久久久久无码国产精品一区| 成人免费网站在线观看视频| 日本韩国一区二区三区| 欧美日韩人妻精品一区在线| 国产精品7m凸凹视频分类| 国产91精品网站| 丰满人妻一区二区三区免费| 18欧美乱大交hd1984| 免费黄色特级片| 老司机成人在线| 欧美韩国理论所午夜片917电影| 久久这里只有精品9| 99精品视频在线免费观看| 亚洲小说欧美另类激情| 中文.日本.精品| 亚洲第一视频网站| 久久久综合久久久| 国产一区二区精品在线观看| 天天爽天天狠久久久| 筱崎爱全乳无删减在线观看| 精品久久免费看| 我家有个日本女人| 久草这里只有精品视频| 午夜欧美性电影| 欧美自拍电影| 亚洲欧美自拍一区| 五月婷婷激情视频| 久久综合九色综合97婷婷| 欧美日韩成人免费视频| 国产精品中文字幕制服诱惑| 欧美激情精品久久久久久大尺度| 国产免费高清视频| 日韩毛片高清在线播放| 亚洲天堂网2018| 国产精品久久久久久久久妇女| 91精品久久久久久久久久久久久久| 国产福利在线看| 在线日韩av片| 欧美成人另类视频| 男人的天堂久久精品| 亚洲一区二区三区免费观看| 美女视频一区| 久久久黄色av| 亚洲精品喷潮一区二区三区 | 美女在线免费视频| 韩国三级大全久久网站| 欧美成人全部免费| 国产肥老妇视频| 亚洲综合图片区| 五十路六十路七十路熟婆| 免费亚洲婷婷| 日韩精品久久久免费观看| 九七影院97影院理论片久久| 欧美xxxx14xxxxx性爽| 亚洲精品无码久久久| 精品国产福利视频| 国产真人做爰视频免费| 久久99热狠狠色一区二区| 国产高清不卡无码视频| 精品按摩偷拍| 日韩av电影国产| 在线免费看黄网站| 日韩亚洲国产中文字幕欧美| 成年人午夜视频| 国产欧美日本一区视频| 美女被艹视频网站| 国产欧美三级| 一区二区日本伦理| 99ri日韩精品视频| 国产91在线播放| 老司机av在线免费看| 精品国精品国产尤物美女| 香蕉影院在线观看| 综合久久国产九一剧情麻豆| 波多野结衣有码| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久久久久av无码免费网站下载| 伊人久久大香线蕉无限次| 91精品美女在线| 欧美激情20| 久久久精品一区二区三区| 色窝窝无码一区二区三区| 欧美日韩午夜影院| 中文字幕一区二区三区精品| 国产精品护士白丝一区av| 蜜臀av粉嫩av懂色av| 男男成人高潮片免费网站| 国产夫妻自拍一区| 大色综合视频网站在线播放| 国产一区二区不卡视频| 亚洲精品一区av| 青青久久aⅴ北条麻妃| 五月天激情在线| 在线中文字幕日韩| 肉丝一区二区| 精品国产乱码久久久久久蜜臀| 中文字幕 视频一区| 亚洲成人免费视| 在线观看黄网址| 国产资源在线播放| 欧美日韩亚洲国产综合| 男人日女人网站| 一区二区三区在线观看视频| 亚洲色图日韩精品| 91在线观看视频| 性生交大片免费看l| 九九精品视频在线看| 草草草在线视频| 亚洲精品看片| 91.com在线| 久久精品青草| 亚洲国产欧美日韩| 一区二区三区韩国免费中文网站| www 成人av com| av日韩久久| 成人av番号网| 日韩视频第一页| av中文字幕在线免费观看| 欧美亚洲丝袜传媒另类| 一级免费在线观看| 亚洲一本大道在线| 神马久久精品综合| 国产精品婷婷午夜在线观看| 久久久精品人妻无码专区| 国产成人免费视频网站高清观看视频| 国产精品视频中文字幕| 石原莉奈在线亚洲三区| 无码无遮挡又大又爽又黄的视频| 国产精品嫩草99av在线| 水蜜桃色314在线观看| 好看的av在线不卡观看| 国产 欧美 日本| 欧美在线资源| 狠狠精品干练久久久无码中文字幕 | 日韩美女一区二区三区在线观看| 欧美一区三区二区在线观看| 欧美欧美黄在线二区| 日本婷婷久久久久久久久一区二区| 色综合www| 久久青青草综合| 欧美女优在线视频| 日韩三级电影网站| 色小子综合网| 法国空姐在线观看免费| 黑人一区二区三区四区五区| 性高湖久久久久久久久aaaaa| 亚洲图片在线| 国产精品宾馆在线精品酒店| 午夜在线一区| 亚洲无吗一区二区三区| 极品美女销魂一区二区三区免费| 一二三级黄色片| 国产 日韩 欧美大片| 久久久久国产精品无码免费看| 久久这里都是精品| 在线观看亚洲大片短视频| 亚洲视频免费在线观看| 国产一级免费av| 欧美日韩亚洲精品一区二区三区 | 91精品一区二区三区久久久久久 | 久久精品在线观看视频| 亚洲精品v日韩精品| 日本一级淫片色费放| 色综合色综合色综合| 91亚洲国产成人久久精品麻豆| 欧美不卡一区二区| 高清av在线| 欧美激情精品久久久久久| 黑人巨大精品| 成人欧美一区二区三区在线 | 三级在线观看视频| 国产精品一区专区欧美日韩| 久久三级中文| 欧美日韩喷水| 中文字幕亚洲精品乱码| 国产亚洲综合视频| 激情综合一区二区三区| 香港三级日本三级| 国产精品麻豆视频| 日日夜夜综合网| 7777精品伊人久久久大香线蕉的 | 国产亚洲精品美女久久久久| 18加网站在线| 国产成人小视频在线观看| 亚洲国产精品免费视频| 日韩精品不卡| 亚洲天堂偷拍| 国产精品久久久久久9999| 久久综合视频网| 欧美成人aaa片一区国产精品| 日本精品视频一区二区三区| 99国产精品久久久久久久成人| 亚洲精品有码在线| 日本一本在线免费福利| 国产日本欧美视频| 色吊丝一区二区| 女人色极品影院| 老司机免费视频一区二区三区| 熟妇人妻久久中文字幕| 亚洲精品欧美二区三区中文字幕| 国产精品第9页| 欧美mv日韩mv| 黄色免费网站在线观看| 国产精品成人一区二区三区吃奶| 久久97久久97精品免视看秋霞| 国产美女视频免费| 免费高清不卡av| 国产在线观看h| 欧美日韩亚洲一区二区| 亚洲成人中文字幕在线| 久久精品最新地址| 日本精品久久| 亚洲激情电影在线| 三级欧美在线一区| 极品粉嫩小仙女高潮喷水久久 | 国产精品亚洲d| 久久综合九色99| 亚洲日本久久| 国产av一区二区三区传媒| 亚洲精品一二三区| 国产女18毛片多18精品| 久久精品99久久香蕉国产色戒| 九九九伊在线综合永久| 青青影院一区二区三区四区| 欧美中文字幕| 日韩中文字幕有码| 色视频成人在线观看免| 青青草超碰在线| 日韩免费观看视频| 激情婷婷综合| 国产激情在线观看视频| 国产午夜精品一区二区三区四区| 亚洲欧美日韩激情| 亚洲天堂av图片| 8av国产精品爽爽ⅴa在线观看| 先锋在线资源一区二区三区| 欧美aaa在线| 久久人妻无码aⅴ毛片a片app| 91精品在线麻豆| 影音先锋中文在线视频| 99久久伊人精品影院| 亚洲无线视频| 欧美精品欧美极品欧美激情| 精品久久久久久中文字幕一区奶水| 亚洲人在线观看视频| 日韩av电影手机在线| 日韩av久操| 在线免费观看av网| 亚洲亚洲精品在线观看| 亚洲 精品 综合 精品 自拍| 青青草一区二区| 婷婷激情四射网| 91激情五月电影| 日本三级视频在线播放| 亚洲va男人天堂| 最新日韩在线| 九色porny自拍视频| 欧美三级韩国三级日本一级| 国产福利在线播放麻豆| 国产区日韩欧美| 日韩精品一二三四| 亚洲国产精品免费在线观看| 亚洲国产欧美精品| 欧洲精品一区二区三区| 日本黄色a视频| 成人av影院在线| 无码人妻一区二区三区免费| 久久九九国产精品怡红院| 粉嫩一区二区三区四区公司1| 无码人妻丰满熟妇区毛片18| 国产精品久久久一本精品| 精品国产黄色片| 青青草99啪国产免费| 91精品国产调教在线观看| 人妻换人妻a片爽麻豆| 在线一区二区三区做爰视频网站| 国产激情小视频在线| 九九九九九精品| 国产一区二区在线观看免费| 国产精欧美一区二区三区白种人|