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

GC是什么?為什么要GC?JVM 垃圾回收算法有哪些?

開發 前端
Major GC 老年代區域的垃圾回收,老年代空間不足時,會先嘗試觸發Minor GC。Minor GC之后空間還不足,則會觸發Major GC,Major GC速度比較慢,暫停時間長。


圖片圖片

1 Java垃圾回收機制(GC是什么?為什么要GC)

為了讓程序員更專注于代碼的實現,而不用過多的考慮內存釋放的問題,所以,在Java語言中,有了自動的垃圾回收機制,也就是我們熟悉的GC(Garbage Collection)。

有了垃圾回收機制后,程序員只需要關心內存的申請即可,內存的釋放由系統自動識別完成。

在進行垃圾回收時,不同的對象引用類型,GC會采用不同的回收時機

換句話說,自動的垃圾回收的算法就會變得非常重要了,如果因為算法的不合理,導致內存資源一直沒有釋放,同樣也可能會導致內存溢出的。

當然,除了Java語言,C#、Python等語言也都有自動的垃圾回收機制。

2 對象什么時候可以被垃圾器回收

圖片圖片

簡單一句就是:如果一個或多個對象沒有任何的引用指向它了,那么這個對象現在就是垃圾,如果定位了垃圾,則有可能會被垃圾回收器回收。

如果要定位什么是垃圾,有兩種方式來確定,第一個是引用計數法,第二個是可達性分析算法

2.1 引用計數法

一個對象被引用了一次,在當前的對象頭上遞增一次引用次數,如果這個對象的引用次數為0,代表這個對象可回收

String demo = new String("123");

圖片圖片

String demo = null;

圖片圖片

當對象間出現了循環引用的話,則引用計數法就會失效

圖片圖片

先執行右側代碼的前4行代碼

圖片圖片

目前上方的引用關系和計數都是沒問題的,但是,如果代碼繼續往下執行,如下圖

圖片圖片

雖然a和b都為null,但是由于a和b存在循環引用,這樣a和b永遠都不會被回收。

優點:

  • 實時性較高,無需等到內存不夠的時候,才開始回收,運行時根據對象的計數器是否為0,就可以直接回收。
  • 在垃圾回收過程中,應用無需掛起。如果申請內存時,內存不足,則立刻報OOM錯誤。
  • 區域性,更新對象的計數器時,只是影響到該對象,不會掃描全部對象。

缺點:

  • 每次對象被引用時,都需要去更新計數器,有一點時間開銷。
  • 浪費CPU資源,即使內存夠用,仍然在運行時進行計數器的統計。
  • 無法解決循環引用問題,會引發內存泄露。(最大的缺點)

2.2 可達性分析算法

現在的虛擬機采用的都是通過可達性分析算法來確定哪些內容是垃圾。

會存在一個根節點【GC Roots】,引出它下面指向的下一個節點,再以下一個節點節點開始找出它下面的節點,依次往下類推。直到所有的節點全部遍歷完畢。

根對象是那些肯定不能當做垃圾回收的對象,就可以當做根對象

局部變量,靜態方法,靜態變量,類信息

核心是:判斷某對象是否與根對象有直接或間接的引用,如果沒有被引用,則可以當做垃圾回收

圖片圖片

X,Y這兩個節點是可回收的,但是并不會馬上的被回收!! 對象中存在一個方法【finalize】。當對象被標記為可回收后,當發生GC時,首先會判斷這個對象是否執行了finalize方法,如果這個方法還沒有被執行的話,那么就會先來執行這個方法,接著在這個方法執行中,可以設置當前這個對象與GC ROOTS產生關聯,那么這個方法執行完成之后,GC會再次判斷對象是否可達,如果仍然不可達,則會進行回收,如果可達了,則不會進行回收。

finalize方法對于每一個對象來說,只會執行一次。如果第一次執行這個方法的時候,設置了當前對象與RC ROOTS關聯,那么這一次不會進行回收。 那么等到這個對象第二次被標記為可回收時,那么該對象的finalize方法就不會再次執行了。

GC ROOTS:

  • 虛擬機棧(棧幀中的本地變量表)中引用的對象
/**
 * demo是棧幀中的本地變量,當 demo = null 時,由于此時 demo 充當了 GC Root 的作用,demo與原來指向的實例 new Demo() 斷開了連接,對象被回收。
 */
public class Demo {
    public static  void main(String[] args) {
     Demo demo = new Demo();
     demo = null;
    }
}
  • 方法區中類靜態屬性引用的對象
/**
 * 當棧幀中的本地變量 b = null 時,由于 b 原來指向的對象與 GC Root (變量 b) 斷開了連接,所以 b 原來指向的對象會被回收,而由于我們給 a 賦值了變量的引用,a在此時是類靜態屬性引用,充當了 GC Root 的作用,它指向的對象依然存活!
 */
public class Demo {
    public static Demo a;
    public static  void main(String[] args) {
        Demo b = new Demo();
        b.a = new Demo();
        b = null;
    }
}
  • 方法區中常量引用的對象
/**
 * 常量 a 指向的對象并不會因為 demo 指向的對象被回收而回收
 */
public class Demo {
    
    public static final Demo a = new Demo();
    
    public static  void main(String[] args) {
        Demo demo = new Demo();
        demo = null;
    }
}
  • 本地方法棧中 JNI(即一般說的 Native 方法)引用的對象

3 JVM 垃圾回收算法有哪些?

3.1 標記清除算法

標記清除算法:是將垃圾回收分為2個階段,分別是標記和清除。

1.根據可達性分析算法得出的垃圾進行標記

2.對這些標記為可回收的內容進行垃圾回收

圖片圖片

可以看到,標記清除算法解決了引用計數算法中的循環引用的問題,沒有從root節點引用的對象都會被回收。

同樣,標記清除算法也是有缺點的:

  • 效率較低,標記和清除兩個動作都需要遍歷所有的對象,并且在GC時,需要停止應用程序,對于交互性要求比較高的應用而言這個體驗是非常差的。
  • (重要)通過標記清除算法清理出來的內存,碎片化較為嚴重,因為被回收的對象可能存在于內存的各個角落,所以清理出來的內存是不連貫的。

3.2 復制算法

如果您覺得本文不錯,歡迎關注,點贊,收藏支持,您的關注是我堅持的動力!

復制算法的核心,將原有的內存空間一分為二,每次只用其中的一塊,在垃圾回收時,將正在使用的對象復制到另一個內存空間中,然后將該內存空間清空,交換兩個內存的角色,完成垃圾的回收。

如果內存中的垃圾對象較多,需要復制的對象就較少,這種情況下適合使用該方式并且效率比較高,反之,則不適合。

1)將內存區域分成兩部分,每次操作其中一個。

2)當進行垃圾回收時,將正在使用的內存區域中的存活對象移動到未使用的內存區域。當移動完對這部分內存區域一次性清除。

3)周而復始。

優點:

  • 在垃圾對象多的情況下,效率較高
  • 清理后,內存無碎片

缺點:

  • 分配的2塊內存空間,在同一個時刻,只能使用一半,內存使用率較低

3.3 標記整理算法

標記壓縮算法:是在標記清除算法的基礎之上,做了優化改進的算法。和標記清除算法一樣,也是從根節點開始,對對象的引用進行標記,在清理階段,并不是簡單的直接清理可回收對象,而是將存活對象都向內存另一端移動,然后清理邊界以外的垃圾,從而解決了碎片化的問題。

圖片圖片

1)標記垃圾。

2)需要清除向右邊走,不需要清除的向左邊走。

3)清除邊界以外的垃圾。

優缺點同標記清除算法,解決了標記清除算法的碎片化的問題,同時,標記壓縮算法多了一步,對象移動內存位置的步驟,其效率也有有一定的影響。

與復制算法對比:復制算法標記完就復制,但標記整理算法得等把所有存活對象都標記完畢,再進行整理

4 分代收集算法

4.1 概述

在java8時,堆被分為了兩份:新生代和老年代【1:2】,在java7時,還存在一個永久代。

對于新生代,內部又被分為了三個區域。Eden區,S0區,S1區【8:1:1】

當對新生代產生GC:MinorGC【young GC】

當對老年代代產生GC:Major GC

當對新生代和老年代產生FullGC: 新生代 + 老年代完整垃圾回收,暫停時間長,應盡力避免

4.2工作機制

  • 新創建的對象,都會先分配到eden區
  • 當伊甸園內存不足,標記伊甸園與 from(現階段沒有)的存活對象
  • 將存活對象采用復制算法復制到 to 中,復制完畢后,伊甸園和 from 內存都得到釋放
  • 經過一段時間后伊甸園的內存又出現不足,標記eden區域to區存活的對象,將存活的對象復制到from區
  • 當幸存區對象熬過幾次回收(最多15次),晉升到老年代(幸存區內存不足或大對象會導致提前晉升)

MinorGC、 Mixed GC 、 FullGC的區別是什么

圖片圖片

  • MinorGC【young GC】發生在新生代的垃圾回收,暫停時間短(STW)
  • Mixed GC 新生代 + 老年代部分區域的垃圾回收,G1 收集器特有
  • FullGC: 新生代 + 老年代完整垃圾回收,暫停時間長(STW),應盡力避免?

名詞解釋:

STW(Stop-The-World):暫停所有應用程序線程,等待垃圾回收的完成

5 說一下 JVM 有哪些垃圾回收器?

在jvm中,實現了多種垃圾收集器,包括:

  • 串行垃圾收集器
  • 并行垃圾收集器
  • CMS(并發)垃圾收集器
  • G1垃圾收集器

5.1 串行垃圾收集器

Serial和Serial Old串行垃圾收集器,是指使用單線程進行垃圾回收,堆內存較小,適合個人電腦

  • Serial 作用于新生代,采用復制算法
  • Serial Old 作用于老年代,采用標記-整理算法

垃圾回收時,只有一個線程在工作,并且java應用中的所有線程都要暫停(STW),等待垃圾回收的完成。

圖片圖片

5.2 并行垃圾收集器

Parallel New和Parallel Old是一個并行垃圾回收器,JDK8默認使用此垃圾回收器

  • Parallel New作用于新生代,采用復制算法
  • Parallel Old作用于老年代,采用標記-整理算法

垃圾回收時,多個線程在工作,并且java應用中的所有線程都要暫停(STW),等待垃圾回收的完成。

圖片圖片

5.3 CMS(并發)垃圾收集器

CMS全稱 Concurrent Mark Sweep,是一款并發的、使用標記-清除算法的垃圾回收器,該回收器是針對老年代垃圾回收的,是一款以獲取最短回收停頓時間為目標的收集器,停頓時間短,用戶體驗就好。其最大特點是在進行垃圾回收時,應用仍然能正常運行。

圖片圖片

6 詳細聊一下G1垃圾回收器

6.1 概述

  • 應用于新生代和老年代,在JDK9之后默認使用****G1
  • 劃分成多個區域,每個區域都可以充當 eden,survivor,old, humongous,其中 humongous 專為大對象準備
  • 采用復制算法
  • 響應時間與吞吐量兼顧
  • 分成三個階段:新生代回收、并發標記、混合收集
  • 如果并發失敗(即回收速度趕不上創建新對象速度),會觸發 Full GC

圖片圖片

image-20230506154323950

6.2 Young Collection(年輕代垃圾回收)

  • 初始時,所有區域都處于空閑狀態

圖片圖片

  • 創建了一些對象,挑出一些空閑區域作為伊甸園區存儲這些對象

圖片圖片

  • 當伊甸園需要垃圾回收時,挑出一個空閑區域作為幸存區,用復制算法復制存活對象,需要暫停用戶線程

圖片圖片

圖片圖片

  • 隨著時間流逝,伊甸園的內存又有不足
  • 將伊甸園以及之前幸存區中的存活對象,采用復制算法,復制到新的幸存區,其中較老對象晉升至老年代

圖片圖片

圖片圖片

圖片圖片

6.3 Young Collection + Concurrent Mark (年輕代垃圾回收+并發標記)

當老年代占用內存超過閾值(默認是45%)后,觸發并發標記,這時無需暫停用戶線程

圖片圖片

  • 并發標記之后,會有重新標記階段解決漏標問題,此時需要暫停用戶線程。
  • 這些都完成后就知道了老年代有哪些存活對象,隨后進入混合收集階段。此時不會對所有老年代區域進行回收,而是根據暫停時間目標優先回收價值高(存活對象少)的區域(這也是 Gabage First 名稱的由來)。

圖片圖片

6.4 Mixed Collection (混合垃圾回收)

復制完成,內存得到釋放。進入下一輪的新生代回收、并發標記、混合收集

圖片圖片

其中H叫做巨型對象,如果對象非常大,會開辟一塊連續的空間存儲巨型對象

圖片圖片

7. JVM 垃圾回收面試

面試官:簡述Java垃圾回收機制?(GC是什么?為什么要GC)

候選人:

為了讓程序員更專注于代碼的實現,而不用過多的考慮內存釋放的問題,所以,在Java語言中,有了自動的垃圾回收機制,也就是我們熟悉的GC(Garbage Collection)。

有了垃圾回收機制后,程序員只需要關心內存的申請即可,內存的釋放由系統自動識別完成。

在進行垃圾回收時,不同的對象引用類型,GC會采用不同的回收時機

面試官:對象什么時候可以被垃圾器回收

候選人:

如果一個或多個對象沒有任何的引用指向它了,那么這個對象現在就是垃圾,如果定位了垃圾,則有可能會被垃圾回收器回收。

如果要定位什么是垃圾,有兩種方式來確定,第一個是引用計數法,第二個是可達性分析算法

通常都使用可達性分析算法來確定是不是垃圾

面試官: JVM 垃圾回收算法有哪些?

候選人:

我記得一共有四種,分別是標記清除算法、復制算法、標記整理算法、分代回收

面試官: 你能詳細聊一下分代回收嗎?

候選人:

關于分代回收是這樣的

在java8時,堆被分為了兩份:新生代和老年代,它們默認空間占用比例是1:2

對于新生代,內部又被分為了三個區域。Eden區,S0區,S1區默認空間占用比例是8:1:1

具體的工作機制是有些情況:

1)當創建一個對象的時候,那么這個對象會被分配在新生代的Eden區。當Eden區要滿了時候,觸發YoungGC。

2)當進行YoungGC后,此時在Eden區存活的對象被移動到S0區,并且當前對象的年齡會加1,清空Eden區。

3)當再一次觸發YoungGC的時候,會把Eden區中存活下來的對象和S0中的對象,移動到S1區中,這些對象的年齡會加1,清空Eden區和S0區。

4)當再一次觸發YoungGC的時候,會把Eden區中存活下來的對象和S1中的對象,移動到S0區中,這些對象的年齡會加1,清空Eden區和S1區。

5)對象的年齡達到了某一個限定的值(默認15歲  ),那么這個對象就會進入到老年代中。

當然也有特殊情況,如果進入Eden區的是一個大對象,在觸發YoungGC的時候,會直接存放到老年代

當老年代滿了之后,觸發FullGC。FullGC同時回收新生代和老年代,當前只會存在一個FullGC的線程進行執行,其他的線程全部會被掛起。  我們在程序中要盡量避免FullGC的出現。

面試官:講一下新生代、老年代、永久代的區別?

候選人:

新生代主要用來存放新生的對象。

老年代主要存放應用中生命周期長的內存對象。

永久代指的是永久保存區域。主要存放Class和Meta(元數據)的信息。在Java8中,永久代已經被移除,取而代之的是一個稱之為“元數據區”(元空間)的區域。元空間和永久代類似,不過元空間與永久代之間最大的區別在于:元空間并不在虛擬機中,而是使用本地內存。因此,默認情況下,元空間的大小僅受本地內存的限制。

面試官:說一下 JVM 有哪些垃圾回收器?

候選人:

在jvm中,實現了多種垃圾收集器,包括:串行垃圾收集器、并行垃圾收集器(JDK8默認)、CMS(并發)垃圾收集器、G1垃圾收集器(JDK9默認)

面試官:Minor GC、Major GC、Full GC是什么

候選人:

嗯,其實它們指的是不同代之間的垃圾回收

Minor GC 發生在新生代的垃圾回收,暫停時間短

Major GC 老年代區域的垃圾回收,老年代空間不足時,會先嘗試觸發Minor GC。Minor GC之后空間還不足,則會觸發Major GC,Major GC速度比較慢,暫停時間長

Full GC 新生代 + 老年代完整垃圾回收,暫停時間長,應盡力避免

責任編輯:武曉燕 來源: springboot葵花寶典
相關推薦

2024-12-03 09:01:33

2022-10-08 18:25:22

Python內存管理GC

2022-01-25 09:15:39

V8垃圾回收算法

2017-09-21 14:40:06

jvm算法收集器

2024-12-30 09:22:11

2017-08-04 10:53:30

回收算法JVM垃圾回收器

2022-01-20 10:34:49

JVM垃圾回收算法

2021-09-26 09:23:01

GC算法垃圾

2024-06-05 10:07:00

限流微服務算法

2022-07-19 07:02:47

JVMGC分代收集

2022-03-21 11:33:11

JVM垃圾回收器垃圾回收算法

2025-06-11 10:05:00

垃圾回收GC內存

2021-11-05 15:23:20

JVM回收算法

2021-01-21 08:00:25

JVM

2024-05-23 12:40:06

2019-12-10 08:59:55

JVM內存算法

2022-05-27 08:01:36

JVM內存收集器

2009-12-25 16:15:31

JVM垃圾回收算法

2024-10-24 08:31:26

2010-09-16 15:10:24

JVM垃圾回收機制
點贊
收藏

51CTO技術棧公眾號

色综合天天爱| 日韩精品三区| 91丝袜国产在线播放| 国产成人精品优优av| 欧美激情久久久久久久| 欧美.com| 91黄色免费观看| 天天做天天爱天天高潮| 亚洲风情第一页| 久久精品电影| 色综合视频网站| b站大片免费直播| 九九九伊在线综合永久| 亚洲欧美日韩久久| 国产精品免费一区二区三区观看| 久久久久女人精品毛片九一| 天天综合网91| 亚洲免费视频在线观看| 捷克做爰xxxⅹ性视频| 神马久久午夜| 亚洲狼人国产精品| 日韩精品大片| 日本激情视频网站| 激情丁香综合五月| 日本a级片电影一区二区| 成人免费黄色小视频| 九一亚洲精品| 精品国产伦一区二区三区免费| 特级丰满少妇一级| 中文在线中文资源| 一区二区三区中文免费| 天天好比中文综合网| 色婷婷中文字幕| 国产久卡久卡久卡久卡视频精品| 国产成人精品一区二区三区| 国产一级视频在线播放| 99久久www免费| 亚洲欧洲国产伦综合| 国产调教打屁股xxxx网站| 国产亚洲精品精品国产亚洲综合| 欧美日韩在线另类| 欧美这里只有精品| 影院在线观看全集免费观看| 国产精品久久久久毛片软件| 日韩精品资源| 欧美人体大胆444www| 国产成人在线电影| 亚洲一区二区三区视频播放| 一区二区三区免费在线视频| 日韩不卡一区二区三区| 欧美综合国产精品久久丁香| 日本一级一片免费视频| 狠狠综合久久| 久久久久国产一区二区三区| 青娱乐国产在线视频| 99久久.com| 久久久精品一区二区三区| 中文字幕在线1| 精品国产乱码久久久久久1区2匹 | 亚洲在线视频播放| 秋霞成人午夜伦在线观看| 国产精品成人国产乱一区| 亚洲国产av一区二区三区| 久久精品九九| 国产精品麻豆va在线播放| 免费黄色片视频| 免费高清在线一区| 国产日韩中文字幕| 国产女18毛片多18精品| 国产精品综合一区二区三区| 99se婷婷在线视频观看| 蜜臀av免费在线观看| 波多野结衣中文字幕一区| 精品国产一区二区三区四区vr| 天堂在线观看视频| 91视频免费播放| 热舞福利精品大尺度视频| 免费一级毛片在线观看| 中文字幕av一区二区三区| 亚洲精品国产一区| 3d玉蒲团在线观看| 亚洲一区二区三区视频在线播放| 东北少妇不带套对白| 性xxxxfreexxxxx欧美丶| 欧美性猛交99久久久久99按摩| 久久久精品在线视频| 999国产精品亚洲77777| 91麻豆精品国产91久久久资源速度| 亚洲日本黄色片| 伊人久久亚洲| 精品偷拍各种wc美女嘘嘘| 日本一级免费视频| 亚洲成av人电影| 欧美国产第一页| 午夜影院免费在线观看| 美女诱惑一区二区| 成人免费在线看片| 久草视频视频在线播放| 亚洲天堂免费在线观看视频| 青青草精品视频在线| 亚洲日本网址| 欧美成人aa大片| 日韩精品无码一区二区三区久久久 | 国产午夜在线一区二区三区| 国产欧美一区二区精品久久久| www.xxxx欧美| 日本一区二区网站| 男人操女人的视频在线观看欧美 | 人妻有码中文字幕| av亚洲一区| 亚洲二区中文字幕| 欧日韩不卡视频| 亚洲国产清纯| 成人综合网网址| 亚洲 国产 欧美 日韩| 国产精品第五页| 福利视频一二区| 欧美三级电影网址| 日韩精品在线视频| 国产精品白嫩白嫩大学美女| 日韩国产精品91| 国产精品一区二区三区在线| 色开心亚洲综合| 精品美女国产在线| 亚洲综合中文网| 不卡一区2区| 91成人福利在线| 99在线观看免费| 国产欧美精品国产国产专区 | 神马久久久久久久久久久 | 国内外成人激情视频| 日韩精品一区二区三区中文在线| 一个色综合导航| 国产精品第9页| 国产成人亚洲综合a∨婷婷图片| 日韩精品久久久| 亚洲v.com| 亚洲国产精品久久久久秋霞不卡| 欧美一级特黄高清视频| 日韩电影免费一区| 美女三级99| 免费高潮视频95在线观看网站| 欧美一区二区免费观在线| 精品亚洲aⅴ无码一区二区三区| 亚洲高清网站| 国产精品一码二码三码在线| 怡红院红怡院欧美aⅴ怡春院| 欧美日韩国产123区| 91在线无精精品白丝| 久久只有精品| 成人毛片网站| 黄色污污视频在线观看| 欧美一级片在线看| 黄色录像一级片| 精彩视频一区二区三区| 在线电影看在线一区二区三区| 美女网站视频一区| 亚洲色图av在线| 樱花视频在线免费观看| 久久精品日产第一区二区三区高清版| 国产精品宾馆在线精品酒店| 四虎影视精品| 日韩av三级在线观看| 国产在线色视频| 欧美日韩一区中文字幕| 国产又色又爽又高潮免费| 裸体在线国模精品偷拍| 亚洲一区二区三区加勒比| 日韩成人综合网站| 啊v视频在线一区二区三区| 亚洲综合精品国产一区二区三区| 国产精品理论片| 亚洲黄色av片| 欧美喷水视频| 久久99久久精品国产| 欧美第一视频| 最近2019年中文视频免费在线观看| 在线观看毛片av| 亚洲精品久久久蜜桃| av漫画在线观看| 国产日韩一区二区三区在线播放| 欧美成熟毛茸茸复古| 日韩国产网站| 操日韩av在线电影| 熟妇人妻一区二区三区四区| 日本丶国产丶欧美色综合| 一区二区三区在线播放视频| 国产九色精品成人porny| 免费观看美女裸体网站| jvid福利在线一区二区| 91中文字幕在线观看| 91老司机福利在线| 国产一级揄自揄精品视频| 国产巨乳在线观看| 午夜精品一区二区三区免费视频 | 一区二区三区av电影| 国产xxxxxxxxx| 日本在线不卡视频一二三区| 少妇一晚三次一区二区三区| 性欧美lx╳lx╳| 91免费国产视频| 乡村艳史在线观看| 久久亚洲春色中文字幕| 午夜av免费观看| 欧美午夜不卡视频| 国产极品在线播放| 国产精品国产自产拍在线| 中国免费黄色片| 久久国产麻豆精品| 18岁网站在线观看| 欧美在线看片| 日本精品一区二区三区视频| 99国产精品免费网站| 国产精品激情自拍| 白浆在线视频| 欧美成人午夜视频| 第九色区av在线| 日韩av在线免费观看一区| 91国偷自产中文字幕久久| 欧美性xxxx极品hd欧美风情| 青娱乐免费在线视频| 国产精品成人免费在线| 国产精品久久AV无码| 国产精品自拍在线| 无尽裸体动漫2d在线观看| 亚洲欧美日韩在线观看a三区| 青青草综合视频| 欧美日韩一区二区三区视频播放| 国产精品入口免费| 久久av网站| 国产深夜精品福利| 3d欧美精品动漫xxxx无尽| 97视频免费在线观看| 宅男网站在线免费观看| 日韩视频―中文字幕| 国产精品久久久久一区二区国产 | 欧美三级韩国三级日本一级| 探花视频在线观看| 欧美日韩国产一区中文午夜| 国产一级二级三级| 亚洲蜜臀av乱码久久精品| 91禁男男在线观看| 国产日韩综合av| 亚洲第一页av| 2019国产精品| jizz欧美性20| 91小视频在线| 制服丝袜第二页| 99精品久久免费看蜜臀剧情介绍| 女性生殖扒开酷刑vk| 国产成人亚洲综合a∨婷婷图片| 中文字幕日韩综合| 久久99国产精品久久99果冻传媒| 亚洲综合欧美在线| 日本不卡视频一二三区| 一道本视频在线观看| 奇米在线7777在线精品| 中文字幕视频在线免费观看| 日本午夜一本久久久综合| 天天影视综合色| 免费在线观看视频一区| www.精品在线| 久久99久久久久| 欧美精品色视频| 国产成人aaaa| 天天躁日日躁狠狠躁av麻豆男男| 波多野结衣精品在线| 国产精品久久久久久亚洲av| 99久久er热在这里只有精品15| 日b视频在线观看| 91丨九色丨尤物| 国产精品久久免费观看| 中文字幕中文字幕一区二区| 日韩欧美123区| 亚洲国产日韩在线一区模特| 日本三级免费看| 色乱码一区二区三区88| 懂色av蜜臀av粉嫩av喷吹| 欧美丰满高潮xxxx喷水动漫| 亚洲精品久久久久久动漫器材一区| 亚洲国产精品福利| 国产一二三在线观看| 日韩中文在线中文网在线观看 | 3344国产精品免费看| 日韩不卡免费高清视频| 成人av在线天堂| www.国产精品一区| 欧美精品123| 国产大片一区| 人人妻人人做人人爽| 丝袜美腿亚洲一区| 51自拍视频在线观看| 99riav一区二区三区| 正在播放国产对白害羞| 一区二区三区中文在线| 69xxxx国产| 日韩一区二区不卡| 欧美在线一卡| 免费不卡在线观看av| 东京一区二区| 亚洲一区美女视频在线观看免费| 久久a爱视频| 婷婷视频在线播放| 国产精品毛片在线看| 污污视频网站在线| 久久夜色精品国产噜噜av| 欧美肥妇bbwbbw| 欧美性猛交xxxx乱大交极品| av免费在线不卡| 亚洲深夜福利网站| 色呦呦在线资源| 国产精品福利网站| 国产福利一区二区精品秒拍| 综合一区中文字幕| 欧美亚洲一区| 国产精品亚洲一区二区无码| 国产精品久久一卡二卡| 亚洲图片在线视频| 欧美成人vr18sexvr| 日本www在线观看视频| 热久久这里只有精品| 国产一级成人av| 裸体裸乳免费看| 日本免费在线视频不卡一不卡二 | 91成人国产综合久久精品| 亚洲美女动态图120秒| 大桥未久在线播放| 91天堂在线观看| 日韩精品诱惑一区?区三区| 欧美在线观看成人| www.激情成人| 精品少妇久久久| 91精品国产综合久久精品app| av亚洲在线| 国产成人精品久久二区二区| 色婷婷综合久久久久久| 国产日韩亚洲欧美在线| 国产一区二区视频在线播放| 国产大屁股喷水视频在线观看| 欧美性色视频在线| 神马电影在线观看| 7m第一福利500精品视频| 国产精品毛片视频| 国产日韩欧美精品在线观看| 国产.精品.日韩.另类.中文.在线.播放| 天堂av免费在线| 欧美性大战xxxxx久久久| 狠狠色伊人亚洲综合网站l| 欧美在线日韩在线| 亚洲第一福利社区| 国产精品沙发午睡系列| 99国产精品99久久久久久| 97久久久久久久| 日韩高清免费在线| 性爽视频在线| 日韩三级电影网站| 蜜桃久久久久久久| 久久99久久99精品免费看小说| 欧美巨大另类极品videosbest| 无遮挡动作视频在线观看免费入口| 国产美女精彩久久| 四虎8848精品成人免费网站| 91av视频免费观看| 自拍偷拍亚洲欧美日韩| 99精品久久久久久中文字幕| 欧美成年人视频网站| av成人综合| 久久久噜噜噜www成人网| 中文字幕乱码一区二区免费| 夜夜躁狠狠躁日日躁av| 久久亚洲精品一区二区| 一区二区三区四区精品视频| 久艹视频在线免费观看| 国产亚洲人成网站| 一区二区三区黄| 欧美黑人国产人伦爽爽爽| 久久国产精品免费精品3p| 人妻熟女一二三区夜夜爱| 欧美激情一区二区三区不卡| 国产精品老熟女视频一区二区| 色综合色综合网色综合| 青草久久视频| 色啦啦av综合| 亚洲成人一区二区在线观看| 男同在线观看| 成人在线一区二区| 国产精品普通话对白| 香蕉成人在线视频| 欧美不卡视频一区| 日韩av中字| 免费成人深夜夜行网站视频| 91网址在线看| 一级片视频网站| 97人人爽人人喊人人模波多| 欧美码中文字幕在线| 俄罗斯女人裸体性做爰| 91国产免费看| 国产丝袜在线观看视频| 西游记1978| av在线免费不卡|