亚洲综合一区二区人妻,成人乱码一区二区三区蜜臀av,欧美少妇日韩在线视频,日本少妇揉bbbb,激情综合网日韩激情视频,粉嫩00福利合集小视频第25,91人妻porny九,男人添女人下面高潮全视频,2025亚洲男人天堂

JVM - 垃圾回收篇筆記

2023-02-22 20:01:08 來源:騰訊云

垃圾回收

如何判斷對象已死

引用計數(shù)法

早期Python虛擬機采用

當對象被引用時,引用計數(shù)器++,取消引用時--


(資料圖片僅供參考)

無法解決問題:相互循環(huán)引用

可達性分析算法

通過一系列成為GC Roots的根對象作為起始節(jié)點集,從GCRoots開始向下搜索,搜索的路徑為”引用鏈“,如果沒有引用鏈,也就是不可達,說明對象不可能再被使用

在Java技術體系中,固定可作為GCRoots的對象包括:

在JVMStack中引用的對象在方法區(qū)中類靜態(tài)屬性引用的變量在方法區(qū)中常量引用的對象在本地方法棧中JNI引用的對象JVM內部引用,基本數(shù)據(jù)類型對應的Class對象、常駐異常對象、系統(tǒng)類加載器所有被同步鎖所持有的對象反應JVM內部情況的JMXBean、JVMTI中注冊的回調、本地代碼緩存等根據(jù)所選擇的垃圾收集器、當前回收區(qū)域,采用其他對象臨時性的加入

MAT

jmap -dump:format=b,live,file=11.bin

引用

強、軟(SoftReference)、弱(WeakReference)

軟引用:

必須配合引用隊列:虛(PPhantomRefernce)、終結(FinalReference)

終結:使用finallize方法

引用隊列關聯(lián)

回收對象

利用可達性算法,不可達進行第一次標記。

標記后進行篩選:是否有必要執(zhí)行finalize()方法,如果沒有重寫或者已經被調用過,那么就視為沒有必要執(zhí)行

如果有必要執(zhí)行,那么會放入一個F-Queued的隊列(引用隊列)中,并在稍后由一條由虛擬機自動建立的,低調度優(yōu)先級的Finalizer線程去執(zhí)行他們的finalize()方法。

為了防止出現(xiàn)阻塞,F(xiàn)-Queue不會等待方法執(zhí)行結束,否則會讓其他對象永久處于等待,造成內存回收子系統(tǒng) 崩潰。

如果finalize()成功執(zhí)行,重新于引用鏈上任一對象建立關系即可:比如把this賦值給某個類變量或者對象的成員變量,那么在第二次標記時,他將會被移出”即將回收“的集合。如果此時對象仍然沒有逃脫,那么就要被回收了。

Systen.gc()還是系統(tǒng)自動回收,都只會調用一次finalize()方法

回收方法區(qū)

主要回收兩個內容:廢棄常量不再使用類型。

判斷一個常量是否廢棄相對簡單:該常量曾經進入常量池中,但現(xiàn)在又沒有一個對象的值和該常量相同,也就是說沒有對象引用該常量,且虛擬機中也沒有其他地方引用該字面量,則該常量可以被垃圾回收,清理出常量池。

類、方法、字段的符號引用也類似。

但是判斷一個類是否廢棄需要滿足下面三個條件:

該類的所有實例都已被回收(包括派生類)加載該類的類加載器已經被回收,這個條件除非是經過精心設計的可替換類加載器的場景,如OSGi、JSP的重加載等,否則通常很難達成該類對應的java.lang.Class對象沒有在任何地方被引用,無法在任何地方通過u哦反射訪問該類的方法。

對于是否被零星回收,HotSpot提供了 -Xnoclassgc 參數(shù)進行控制,還可以使用 -XX:+TraceClassLoading、-XX:TraceClassUnLoading查看類加載和寫在信息(前兩個可以在Product版JVM中使用,最后一種需要FastDebug版的JVM支持)。

垃圾回收算法

標記清除

優(yōu)點:記錄垃圾碎片的起止地址,快速,不用清零缺點:碎片較多

標記整理

優(yōu)點:沒有內存碎片缺點:速度慢

復制算法

優(yōu)點:不會有內存碎片需要占用雙倍內存空間

分代回收

根據(jù)對象生命周期的不同特點分為新生代和老年代

新生代:處理不常用的對象

老年代:處理常用的對象

在新生代中,每次垃圾收集時都發(fā)現(xiàn)有大批對象死去,而每次回收后存活的少量對象將會逐步晉升到老年代釋放

新生代垃圾回收

第一次垃圾回收

新創(chuàng)建的對象選擇伊甸園空間

當伊甸園空間滿了以后會進行垃圾護手,新生代的垃圾回收叫做Minor GC,回收后將存活對象賦值到幸存區(qū),并將壽命+1

再將to和form交換指向位置

第二次垃圾回收

在第一次的回收基礎上,對幸存區(qū)的某一個進行取消引用

此時to中的1已經被取消引用,所以直接刪除

最后from和to交換位置、放入新對象

當年齡達到一定闕值后放入老年代

老年代垃圾回收

當新生代內存不夠時,會嘗試促發(fā)FullGC進行老年代的垃圾回收,準確來說是整個堆空間

總結

對象首先非陪在伊甸園區(qū)域新生代空間不足時,出發(fā)MinorGC,伊甸園和from存活的對象使用copy復制到to中,存活的對象年齡+1并且交換fromtoMinor GC 會引發(fā) stop the world (暫停 其他用戶正在執(zhí)行的線程 wait,等垃圾回收結束后,用戶線程才恢復運行 notifyAll) 當對象壽命超過闕值時,會晉升至老年代,最大壽命是15(4bit,但是不同的垃圾回收器不同)當老年代空間不足,會先嘗試促發(fā)MinorGC,如果空間仍不足,那么觸發(fā)Full GC,STW暫停時間(老年代回收時間)更長

GC相關參數(shù)

GC分析

-Xms20M -Xmx20M -Xmn10M -XX:+UseSerialGC -XX:+PrintGCDetails -verbose:gc

代碼:

package org.example;import java.io.IOException;public class Main {    public static int a=5;    public static void main(String[] args) throws InterruptedException {        Thread.sleep(10000000000l);        return ;    }}

E:F:T=8:1:1,其中T默認是已使用內存

既然剛啟動,那為什么EdenSpace會有占用呢?

類加載過程

思考:當new的對象占用內存如果超過了幸存區(qū)內存會發(fā)生什么?內存溢出?動態(tài)占比分配?試驗代碼:package org.example; import java.io.IOException; import java.lang.reflect.Array; import java.util.ArrayList; public class Main { public static int a=5; public static void main(String[] args) throws InterruptedException, IOException { System.in.read(); ArrayList bytes=new ArrayList<>(); System.out.println("添加對象中"); bytes.add(new byte1024*1024*5); bytes.forEach(System.out::println); System.in.read(); bytes.add(new byte1024*1024*5); bytes.forEach(System.out::println); System.in.read(); bytes.add(new byte1024*1024*5); bytes.forEach(System.out::println); bytes.add(new byte1024*1024*5); bytes.forEach(System.out::println); return ; } }結果:D:\Program\jdk\bin\java.exe -Xms20M -Xmx20M -Xmn10M -XX:+UseSerialGC -XX:+PrintGCDetails -verbose:gc "-javaagent:D:\Program\IntelliJ IDEA 2022.3.1\lib\idea_rt.jar=61656:D:\Program\IntelliJ IDEA 2022.3.1\bin" -Dfile.encoding=UTF-8 -classpath H:\JVM\gc\target\classes org.example.Main 0.003sgc -XX:+PrintGCDetails is deprecated. Will use -Xlog:gc* instead. 0.010sgc Using Serial 0.010sgc,init Version: 17.0.1+12-39 (release) 0.010sgc,init CPUs: 8 total, 8 available 0.010sgc,init Memory: 13810M 0.010sgc,init Large Page Support: Disabled 0.010sgc,init NUMA Support: Disabled 0.010sgc,init Compressed Oops: Enabled (32-bit) 0.010sgc,init Heap Min Capacity: 20M 0.010sgc,init Heap Initial Capacity: 20M 0.010sgc,init Heap Max Capacity: 20M 0.010sgc,init Pre-touch: Disabled 0.010sgc,metaspace CDS archive(s) mapped at: [0x0000000800000000-0x0000000800bc0000-0x0000000800bc0000), size 12320768, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0. 0.011sgc,metaspace Compressed class space mapped at: 0x0000000800c00000-0x0000000840c00000, reserved size: 1073741824 0.011sgc,metaspace Narrow klass base: 0x0000000800000000, Narrow klass shift: 0, Narrow klass range: 0x100000000 10.160sgc,start GC(0) Pause Young (Allocation Failure) 10.165sgc,heap GC(0) DefNew: 8192K(9216K)->1023K(9216K) Eden: 8192K(8192K)->0K(8192K) From: 0K(1024K)->1023K(1024K) 10.165sgc,heap GC(0) Tenured: 0K(10240K)->1443K(10240K) 10.165sgc,metaspace GC(0) Metaspace: 2679K(2880K)->2679K(2880K) NonClass: 2400K(2496K)->2400K(2496K) Class: 279K(384K)->279K(384K) 10.165sgc GC(0) Pause Young (Allocation Failure) 8M->2M(19M) 4.780ms 10.165sgc,cpu GC(0) User=0.00s Sys=0.02s Real=0.01s 10.384sgc,start GC(1) Pause Young (Allocation Failure) 10.390sgc,heap GC(1) DefNew: 9215K(9216K)->482K(9216K) Eden: 8192K(8192K)->0K(8192K) From: 1023K(1024K)->482K(1024K) 10.390sgc,heap GC(1) Tenured: 1443K(10240K)->2463K(10240K) 10.390sgc,metaspace GC(1) Metaspace: 4881K(5120K)->4881K(5120K) NonClass: 4357K(4480K)->4357K(4480K) Class: 523K(640K)->523K(640K) 10.390sgc GC(1) Pause Young (Allocation Failure) 10M->2M(19M) 5.666ms 10.390sgc,cpu GC(1) User=0.00s Sys=0.00s Real=0.01s 26.252sgc,start GC(2) Pause Full (System.gc()) 26.252sgc,phases,start GC(2) Phase 1: Mark live objects 26.257sgc,phases GC(2) Phase 1: Mark live objects 5.380ms 26.257sgc,phases,start GC(2) Phase 2: Compute new object addresses 26.259sgc,phases GC(2) Phase 2: Compute new object addresses 2.149ms 26.259sgc,phases,start GC(2) Phase 3: Adjust pointers 26.262sgc,phases GC(2) Phase 3: Adjust pointers 3.118ms 26.263sgc,phases,start GC(2) Phase 4: Move objects 26.263sgc,phases GC(2) Phase 4: Move objects 0.855ms 26.264sgc,heap GC(2) DefNew: 8083K(9216K)->0K(9216K) Eden: 7600K(8192K)->0K(8192K) From: 482K(1024K)->0K(1024K) 26.264sgc,heap GC(2) Tenured: 2463K(10240K)->3900K(10240K) 26.264sgc,metaspace GC(2) Metaspace: 7956K(8256K)->7956K(8256K) NonClass: 7083K(7232K)->7083K(7232K) Class: 872K(1024K)->872K(1024K) 26.264sgc GC(2) Pause Full (System.gc()) 10M->3M(19M) 12.256ms 26.264sgc,cpu GC(2) User=0.02s Sys=0.00s Real=0.01s 添加對象中 [B@3b07d329 49.675sgc,start GC(3) Pause Young (Allocation Failure) 49.678sgc,heap GC(3) DefNew: 8192K(9216K)->35K(9216K) Eden: 8192K(8192K)->0K(8192K) From: 0K(1024K)->35K(1024K) 49.678sgc,heap GC(3) Tenured: 3900K(10240K)->9020K(10240K) 49.678sgc,metaspace GC(3) Metaspace: 8137K(8384K)->8137K(8384K) NonClass: 7263K(7360K)->7263K(7360K) Class: 874K(1024K)->874K(1024K) 49.678sgc GC(3) Pause Young (Allocation Failure) 11M->8M(19M) 2.957ms 49.678sgc,cpu GC(3) User=0.00s Sys=0.02s Real=0.00s 96.458sgc,start GC(4) Pause Young (Allocation Failure) 96.458sgc GC(4) Pause Young (Allocation Failure) 14M->14M(19M) 0.078ms 96.458sgc,cpu GC(4) User=0.00s Sys=0.00s Real=0.00s 96.458sgc,start GC(5) Pause Full (Allocation Failure) 96.458sgc,phases,start GC(5) Phase 1: Mark live objects 96.467sgc,phases GC(5) Phase 1: Mark live objects 8.235ms 96.467sgc,phases,start GC(5) Phase 2: Compute new object addresses 96.469sgc,phases GC(5) Phase 2: Compute new object addresses 2.466ms 96.469sgc,phases,start GC(5) Phase 3: Adjust pointers 96.473sgc,phases GC(5) Phase 3: Adjust pointers 4.087ms 96.473sgc,phases,start GC(5) Phase 4: Move objects 96.474sgc,phases GC(5) Phase 4: Move objects 0.946ms 96.475sgc,heap GC(5) DefNew: 5571K(9216K)->0K(9216K) Eden: 5535K(8192K)->0K(8192K) From: 35K(1024K)->0K(1024K) 96.475sgc,heap GC(5) Tenured: 9020K(10240K)->8999K(10240K) 96.475sgc,metaspace GC(5) Metaspace: 8213K(8448K)->8092K(8448K) NonClass: 7339K(7424K)->7244K(7424K) Class: 874K(1024K)->848K(1024K) 96.475sgc GC(5) Pause Full (Allocation Failure) 14M->8M(19M) 16.586ms 96.475sgc,cpu GC(5) User=0.02s Sys=0.00s Real=0.02s [B@3b07d329 [B@682a0b20 96.477sgc,start GC(6) Pause Young (Allocation Failure) 96.477sgc GC(6) Pause Young (Allocation Failure) 13M->13M(19M) 0.086ms 96.477sgc,cpu GC(6) User=0.00s Sys=0.00s Real=0.00s 96.477sgc,start GC(7) Pause Full (Allocation Failure) 96.477sgc,phases,start GC(7) Phase 1: Mark live objects 96.485sgc,phases GC(7) Phase 1: Mark live objects 8.022ms 96.485sgc,phases,start GC(7) Phase 2: Compute new object addresses 96.487sgc,phases GC(7) Phase 2: Compute new object addresses 1.451ms 96.487sgc,phases,start GC(7) Phase 3: Adjust pointers 96.491sgc,phases GC(7) Phase 3: Adjust pointers 4.088ms 96.491sgc,phases,start GC(7) Phase 4: Move objects 96.492sgc,phases GC(7) Phase 4: Move objects 0.856ms 96.492sgc,heap GC(7) DefNew: 5217K(9216K)->5121K(9216K) Eden: 5217K(8192K)->5121K(8192K) From: 0K(1024K)->0K(1024K) 96.492sgc,heap GC(7) Tenured: 8999K(10240K)->8962K(10240K) 96.492sgc,metaspace GC(7) Metaspace: 8097K(8448K)->8028K(8448K) NonClass: 7247K(7424K)->7189K(7424K) Class: 849K(1024K)->838K(1024K) 96.492sgc GC(7) Pause Full (Allocation Failure) 13M->13M(19M) 15.333ms 96.492sgc,cpu GC(7) User=0.02s Sys=0.00s Real=0.02s 96.492sgc,start GC(8) Pause Full (Allocation Failure) 96.492sgc,phases,start GC(8) Phase 1: Mark live objects 96.498sgc,phases GC(8) Phase 1: Mark live objects 6.004ms 96.498sgc,phases,start GC(8) Phase 2: Compute new object addresses 96.500sgc,phases GC(8) Phase 2: Compute new object addresses 1.182ms 96.500sgc,phases,start GC(8) Phase 3: Adjust pointers 96.504sgc,phases GC(8) Phase 3: Adjust pointers 4.837ms 96.505sgc,phases,start GC(8) Phase 4: Move objects 96.507sgc,phases GC(8) Phase 4: Move objects 2.185ms 96.507sgc,heap GC(8) DefNew: 5121K(9216K)->5121K(9216K) Eden: 5121K(8192K)->5121K(8192K) From: 0K(1024K)->0K(1024K) 96.507sgc,heap GC(8) Tenured: 8962K(10240K)->8450K(10240K) 96.507sgc,metaspace GC(8) Metaspace: 8028K(8448K)->8028K(8448K) NonClass: 7189K(7424K)->7189K(7424K) Class: 838K(1024K)->838K(1024K) 96.507sgc GC(8) Pause Full (Allocation Failure) 13M->13M(19M) 14.864ms 96.507sgc,cpu GC(8) User=0.02s Sys=0.00s Real=0.02s 96.509sgc,heap,exit Heap 96.509sgc,heap,exit def new generation total 9216K, used 5405K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000) 96.509sgc,heap,exit eden space 8192K, 65% used [0x00000000fec00000, 0x00000000ff1475c8, 0x00000000ff400000) 96.509sgc,heap,exit from space 1024K, 0% used [0x00000000ff500000, 0x00000000ff500000, 0x00000000ff600000) 96.509sgc,heap,exit to space 1024K, 0% used [0x00000000ff400000, 0x00000000ff400000, 0x00000000ff500000) 96.509sgc,heap,exit tenured generation total 10240K, used 8450K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000) 96.509sgc,heap,exit the space 10240K, 82% used [0x00000000ff600000, 0x00000000ffe40b90, 0x00000000ffe40c00, 0x0000000100000000) 96.509sgc,heap,exit Metaspace used 8034K, committed 8448K, reserved 1056768K 96.509sgc,heap,exit class space used 839K, committed 1024K, reserved 1048576K Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at org.example.Main.main(Main.java:21) 進程已結束,退出代碼1

最開始放到新生代,但是當繼續(xù)new的時候,直接放入了老年代.

重復實驗,發(fā)現(xiàn)如果幸存區(qū)空間充足,對象會放入幸存區(qū)并且延壽,否則直接將待延壽對象晉升到老年代,當老年代空間不足時,拋出oom異常.

package org.example; import java.io.IOException; import java.lang.reflect.Array; import java.util.ArrayList; public class Main { public static int a=5; public static void main(String[] args) throws InterruptedException, IOException { System.in.read(); ArrayList bytes=new ArrayList<>(); System.out.println("添加對象中"); bytes.add(new byte1024*1024*5); bytes.forEach(System.out::println); System.in.read(); bytes.add(new byte1024*1024*8); } }添加對象中 [B@3b07d329 34.804sgc,start GC(4) Pause Young (Allocation Failure) 34.806sgc,heap GC(4) DefNew: 8192K(9216K)->14K(9216K) Eden: 8192K(8192K)->0K(8192K) From: 0K(1024K)->14K(1024K) 34.806sgc,heap GC(4) Tenured: 3897K(10240K)->9017K(10240K) 34.806sgc,metaspace GC(4) Metaspace: 8072K(8320K)->8072K(8320K) NonClass: 7196K(7296K)->7196K(7296K) Class: 875K(1024K)->875K(1024K) 34.806sgc GC(4) Pause Young (Allocation Failure) 11M->8M(19M) 2.195ms 34.806sgc,cpu GC(4) User=0.00s Sys=0.00s Real=0.00s 59.066sgc,start GC(5) Pause Young (Allocation Failure) 59.066sgc GC(5) Pause Young (Allocation Failure) 11M->11M(19M) 0.075ms 59.066sgc,cpu GC(5) User=0.00s Sys=0.00s Real=0.00s 59.066sgc,start GC(6) Pause Full (Allocation Failure) 59.066sgc,phases,start GC(6) Phase 1: Mark live objects 59.074sgc,phases GC(6) Phase 1: Mark live objects 7.218ms 59.074sgc,phases,start GC(6) Phase 2: Compute new object addresses 59.076sgc,phases GC(6) Phase 2: Compute new object addresses 1.923ms 59.076sgc,phases,start GC(6) Phase 3: Adjust pointers 59.080sgc,phases GC(6) Phase 3: Adjust pointers 3.998ms 59.080sgc,phases,start GC(6) Phase 4: Move objects 59.080sgc,phases GC(6) Phase 4: Move objects 0.713ms 59.082sgc,heap GC(6) DefNew: 3000K(9216K)->0K(9216K) Eden: 2985K(8192K)->0K(8192K) From: 14K(1024K)->0K(1024K) 59.082sgc,heap GC(6) Tenured: 9017K(10240K)->9000K(10240K) 59.082sgc,metaspace GC(6) Metaspace: 8199K(8448K)->8078K(8448K) NonClass: 7323K(7424K)->7229K(7424K) Class: 875K(1024K)->849K(1024K) 59.082sgc GC(6) Pause Full (Allocation Failure) 11M->8M(19M) 15.316ms 59.082sgc,cpu GC(6) User=0.02s Sys=0.00s Real=0.01s 59.082sgc,start GC(7) Pause Full (Allocation Failure) 59.082sgc,phases,start GC(7) Phase 1: Mark live objects 59.090sgc,phases GC(7) Phase 1: Mark live objects 7.740ms 59.090sgc,phases,start GC(7) Phase 2: Compute new object addresses 59.091sgc,phases GC(7) Phase 2: Compute new object addresses 1.085ms 59.091sgc,phases,start GC(7) Phase 3: Adjust pointers 59.094sgc,phases GC(7) Phase 3: Adjust pointers 3.000ms 59.094sgc,phases,start GC(7) Phase 4: Move objects 59.095sgc,phases GC(7) Phase 4: Move objects 1.331ms 59.095sgc,heap GC(7) DefNew: 0K(9216K)->0K(9216K) Eden: 0K(8192K)->0K(8192K) From: 0K(1024K)->0K(1024K) 59.095sgc,heap GC(7) Tenured: 9000K(10240K)->8452K(10240K) 59.095sgc,metaspace GC(7) Metaspace: 8078K(8448K)->8009K(8448K) NonClass: 7229K(7424K)->7171K(7424K) Class: 849K(1024K)->838K(1024K) 59.095sgc GC(7) Pause Full (Allocation Failure) 8M->8M(19M) 13.684ms 59.096sgc,cpu GC(7) User=0.02s Sys=0.00s Real=0.01s 59.097sgc,heap,exit Heap 59.097sgc,heap,exit def new generation total 9216K, used 220K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000) 59.097sgc,heap,exit eden space 8192K, 2% used [0x00000000fec00000, 0x00000000fec37390, 0x00000000ff400000) 59.097sgc,heap,exit from space 1024K, 0% used [0x00000000ff500000, 0x00000000ff500000, 0x00000000ff600000) 59.097sgc,heap,exit to space 1024K, 0% used [0x00000000ff400000, 0x00000000ff400000, 0x00000000ff500000) 59.097sgc,heap,exit tenured generation total 10240K, used 8452K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000) 59.097sgc,heap,exit the space 10240K, 82% used [0x00000000ff600000, 0x00000000ffe41268, 0x00000000ffe41400, 0x0000000100000000) 59.097sgc,heap,exit Metaspace used 8013K, committed 8448K, reserved 1056768K 59.097sgc,heap,exit class space used 839K, committed 1024K, reserved 1048576K Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at org.example.Main.main(Main.java:17) 進程已結束,退出代碼1

大對象_oom

剛剛想到問題并實現(xiàn)了,下面就是這個類似的.?

沒錯,這種情況如果老年代空間足夠(前提是新生代不夠用)直接晉升

如果超過老年代的話,很明顯就是OOM,不過會提前做個自救工作,GC

線程中OOM

當某個線程發(fā)生OOM時,會影響主線程嗎?

無論時哪個線程,只要是一個進程,那么堆內存是共享的但是當一個線程拋出異常后,JVM會釋放的該線程所占用的內存資源

綜上,不會影響

垃圾回收器

串行 —— Serial

單線程堆內存較小,適合個人電腦
-XX:+uSEsERIALgc=Serial+SerialOld

Serial:作用于新生代,標記復制

SerialOld:作用于老年代,標記整理

吞吐量優(yōu)先

吞吐量:運行用戶代碼時間/(運行用戶代碼時間+運行垃圾收集時間)

多線程堆內存較大,多核cpu讓單位時間內,stw的時間最短
#JDK8下默認開啟-XX:+UseParallelGC ~ -XX:+UseParallelOldGC#需要手動開啟#自適應新生代大小-XX:+UseAdaptiveSizePolicy#根據(jù)目標調整吞吐量目標,如果達不到則調整堆的大小 1/(1+ratio) => 垃圾回收時間/總的運行時間,結果表示每100分鐘執(zhí)行n分鐘-XX:GCTimeRatio=ratio#GC暫停時間-XX:MaxGCPauseMillis=ms-XX:ParallelGCThreads=n

默認線程數(shù)為cpu核數(shù)

響應優(yōu)先 —— CMS 并發(fā)標記清除收集器

多線程堆內存較大,多核cpu盡可能讓單次stop onworld(stw)的時間的最短

并行和并發(fā)

這里本來是OS的內容,在這里再提一下

并行
并發(fā)(Concurrent)
并行+并發(fā)

響應優(yōu)先

-XX:+UseConcMarkSweepGc-XX:+UserParNewGC#老年代補救-XX:SerialOld#并行線程數(shù),CPU核數(shù)-XX:ParallelGCThreads=n#并發(fā)線程數(shù),一般設置為并行線程數(shù)的1/4-XX:ConGCThreads=threads-XX:CMSInitiatingOccupancyFraction=parent-XX:+CMSScavengeBeforeRemark
初始標記:只標記與GCRoots能直接關聯(lián)到的對象并發(fā)標記:從GCRoots關聯(lián)對象開始遍歷整個圖重新標記:修復并發(fā)標記期間,用戶程序運作而導致標記產生變動的那部分對象的標記記錄清除階段:清楚標記階段判斷的已死亡對象

缺點

雖然不會導致用戶線程停頓,但是導致應用程序變慢,降低總吞吐量CMS默認啟動的回收線程數(shù)是$$(處理器核心數(shù)量+3)/4$$

,也就是說當核心數(shù)≥4時,并發(fā)回收垃圾手機線程只占用不超過25%的處理器運算資源,并且伴隨著核心數(shù)增多而下降

當核心數(shù)<4時,對用戶線程的影響變大 擴展:增量式并發(fā)收集器無法處理 浮動垃圾 ,有可能出現(xiàn)CMF(并發(fā)mode失?。亩鴮е铝硪淮蜸TW的Full GC產生

HotSpot算法細節(jié)實現(xiàn)

根節(jié)點枚舉

GC Roots主要在全局性的引用和執(zhí)行上下文中,且目前Java應用越做越龐大,類、常量很多,逐個檢查耗費時間較長。

所有收集器根節(jié)點枚舉必須STW可達性分析算法耗時最長的查找引用鏈過程已經可以做到與用戶線程一起并發(fā)根節(jié)點枚舉必須在保證一致性的快照中才得以進行——枚舉期間,根節(jié)點對象的引用關系不發(fā)生變化

目前主流的虛擬機均采用準確式垃圾收集(虛擬機可以知道內存中某個位置的數(shù)據(jù)具體是什么類型),當用戶線程停頓下來以后,并不需要一個不漏地檢查完所有執(zhí)行上下文和全局的應用位置,虛擬機應當時又辦法直接得到哪些地方存放著用戶引用的。

在HotSpot中,使用一組稱為OopMap的數(shù)據(jù)結構來解決準確式垃圾回收的問題,在類加載動作完成的時候,虛擬機會把對象內什么偏移量上是什么類型的數(shù)據(jù)計算出來,在即使編譯過程中,也會在特定位置記錄棧、寄存器中哪些位置是引用。

安全點

OopMap協(xié)助虛擬機快速準確完成GC Roots的枚舉,但是可能導致引用關系變化,換句話說

導致OopMap內容發(fā)生變化的指令非常多,如果每個指令都生成對應的OopMap,那么會需要大量的額外存儲空間,這樣垃圾收集伴隨的空間成本將無比高昂

實際上HotSpot的確沒有為每條指令生成OopMap,只是在特定的位置記錄了這些信息你,這些位置被稱為安全點。

安全點的設定,決定了用戶程序執(zhí)行時并非在代碼指定流的任意位置都能停下來進行垃圾收集,必須到達安全點才能暫停。

安全點的選定

不能太少,也不能讓收集器的等待時間過長不能太頻繁增大運行時的內存負荷以”是否具有讓程序長時間執(zhí)行的特征“為標準進行選定
- 指令序列復用
- 方法調用    - 循環(huán)跳轉    - 異常跳轉

安全區(qū)域

安全點機制只能保證程序執(zhí)行時,在不太長的時間內就會遇到可進入垃圾手機的過程的安全點。

不執(zhí)行的時候呢?

——沒有分配處理器時間 Sleep or Blocked,此時線程無法響應虛擬機中斷請求,不能再走到安全的地方終端掛起自己,虛擬機也顯然不可能持續(xù)等待線程重新杯激活分配處理器時間。

為了解決這一問題,引入了安全區(qū)域(Safe Region)

安全區(qū)域是指能夠確保在某一段代碼片段中,引用關系不會發(fā)生變化,因此在這個區(qū)域中任意地方開始垃圾收集都是安全的。(背擴展拉伸了的安全點)

當用戶線程執(zhí)行刀安全區(qū)域里的代碼時,首先會標識自己已經進入了安全區(qū)域,虛擬機在進行垃圾收集時不必去管此類線程,當線程離開安全區(qū)域時,檢測虛擬機是否已經完成了根節(jié)點枚舉(或垃圾收集過程中其他需要暫停用戶線程的階段),如果完成,線程就當作沒事發(fā)生過繼續(xù)執(zhí)行,否則一直等待,知道收到可以離開安全區(qū)域的信號為止

記憶集與卡表

分代收集理論提到了為解決 對象跨代引用所帶來的問題,垃圾收集器在新生代中建立了名為記憶集的數(shù)據(jù)結構-

記憶集

用于避免把整個老年代加進GCRoots掃描范圍事實上不只是新生代、老年代之間才可有跨代引用的問題,所有設計部分區(qū)域收集(Partial GC)行為的垃圾收集器(G1,ZGC,Shenandoah)都會面臨相同的問題記憶集是一種用于記錄從非收集區(qū)域指向收集區(qū)域的指針集合的抽象數(shù)據(jù)結構。
- 如果不考慮成本,最簡單的實現(xiàn) 可以用非收集區(qū)域中所有含跨代引用的對象數(shù)組來實現(xiàn)這個數(shù)據(jù)結構Class RemebereSetd{     Object[] setOBJECT_INTERGKENERATIONAL_REFRENCE_SIZE }

全部記錄,無論是空間占用還是維護成本都相當高昂。

其實在垃圾收集的場景中,收集器只需要通過記憶集判斷出某一塊非收集區(qū)域是否存在指向了收集區(qū)域的指針即可。

在設計記憶集的時候,可以選擇更為粗獷的記錄粒度來節(jié)省記憶集的存儲和維護成本。

字長精度每個記錄精確刀一個字長(處理器尋址位數(shù),32/64 bit,該精度決定了機器訪問物理內存地址的指針長度),該字包含跨代指針對象精度每個記錄精確到一個對象,該對象里有字段包含跨代指針卡精度 每個記錄一塊內存區(qū)域,該區(qū)域內有對象含有跨代指針其中“卡精度”采用卡表的方式實現(xiàn)記憶集,目前最常用。

卡表對記憶集的實現(xiàn):

定義了記憶集的記錄精度定義了與堆內存的映射關系

卡表與記憶集的關系,類似于HashMap和Map的關系

HotSpot中卡表的形式

最簡單的一種形式:字節(jié)數(shù)組,一下代碼時默認的卡表標記邏輯

CARD_TABLE [this address >>9] = 0;

該數(shù)組的每一個元素都對應(注意是對應,也就是說存放的是地址)著其標志的內容區(qū)域中一塊特定大小的內存塊,該內存塊成為“卡頁”。

一般來說 卡頁 的大小都是 2^n字節(jié)數(shù),HotSpot使用的卡頁是2^9,也就是512字節(jié)(地址>>9 == 地址/512)

如果卡表標識內存區(qū)域的其實地址是0x0000的話,數(shù)組CARD_TABLE的第0、1、2號元素,分別對應了地址范圍為0.00000x01FF、0x02000x03FF、0x04FF~0x05FF的卡頁內存塊.(每塊大小為512)

一個卡頁的內存中通常包含不止一個對象,只要卡頁內有一個(或更多)對象的字段存在著跨代指針,那就將對應卡表的數(shù)組元素的值標識為1,成這個元素變臟(Dirty),沒有則標識為0。在垃圾收集發(fā)生時,只要篩選出卡表中變臟的元素,就能輕易得出哪些卡頁內存塊中包含跨代指針,把他們加入GC Roots中一并掃描。

寫屏障

寫屏障用來解決卡表元素維護問題。

卡表元素何時變臟在其他分代區(qū)中對象引用了本區(qū)域對象時,其對應卡表元素就應該變臟變臟時間點原則上應該發(fā)生在引用類型字段賦值的那一刻,而處理這類問題就要用到寫屏障。

寫屏障可以看作在虛擬機層面對”引用類型字段賦值“這個動作的AOP切面,在引用對象負值時產生一個環(huán)形通知,供程序進行額外動作,因此寫屏障分為寫前屏障與寫后屏障(將環(huán)繞通知看作前置通知+后置通知),HotSpot虛擬機很多哦收集器都有使用到寫屏障,但是直到G1收集器出現(xiàn)之前,都只用到了寫后屏障。

// 寫后屏障更新卡表void oop_field_store(oop* filed,oop new_value){    //引用字段賦值操作    *field = new_value;    //寫后屏障,在這里完成卡表狀態(tài)更新    post_write_barrier(field,new_value);}

應用寫屏障后,虛擬機就會為所有賦值操作生成相對應的指令,一旦收集器在寫屏障中增加了更新卡表操作,無論更新的是不是老年代對新生代對象的引用,每次只要是對引用進行更新,都會產生額外的開銷,不過和Minor GC是掃描整個老年代相比還是較小。

高并發(fā)環(huán)境下

在高并發(fā)場景下,卡表還面臨”偽共享“問題

偽共享(False Sharing)

處理并發(fā)底層細節(jié)時一種經常需要考慮的問題,現(xiàn)代代中央處理器的緩存系統(tǒng)中以緩存行(Cache Line)為單位存儲,當線程修改互相獨立的變量時,如果這些變量恰好共享同一個緩存行,就會彼此影響(寫回、無效化、同步)而導致性能降低,這就是偽共享問題

偽共享相關文章: JAVA系列:緩存一致性協(xié)議( MESI協(xié)議)_NIO4444的博客-CSDN博客偽共享(False Sharing) - 知乎 (zhihu.com)真實字節(jié)二面:什么是偽共享? - 知乎 (zhihu.com) Java 偽共享的原理深度解析以及避免方法_劉Java的博客-CSDN博客【深入理解JVM】3、CPU儲存器+MESI+CPU偽共享+CPU亂序問題及代碼論證+volatile+synchrnized【面試必備】_Hello-zhou的博客-CSDN博客

避免偽共享問題:

不采用無條件的寫屏障,先檢查卡表標記,只有當該卡表元素未被標記時才將其標記變臟if( CARD_TABLE this address >>9 !=0 ){ CARD_TABLE this address >>9=0; }在JDK7之后,HotSpot虛擬機增加了一個新的參數(shù) -XX:+UseCondCardMark,用來決定是否開啟卡表更新條件的判斷。開啟會增加一次額外判斷的開銷,但能夠避免偽共享問題,是否打開要根據(jù)實際運行情況來進行測試權衡。

G1(Garbage First)

使用場景:

同時注重吞吐量、低延遲,默認的暫停目標時200超大堆內存,會將堆劃分為多個大小相等的Region整體上時標記+整理算法,兩個對象之間是復制算法

相關JVM參數(shù)

-XX:+UseG1GC-XX:G1HeapRegionSize=size-XX:MaxGCPauseMillis=time

G1回收階段

G1新生代回收

標簽: 海外加速 編程算法

上一篇:
上一篇:
熟女人妻人妻のhd| 日韩avapp在线| 青青操成人免费在线视频| 91免费观看国产精品| 日韩三级中文字幕熟女| 青娱乐精品视频在线免费观看| 国产免费av不卡免费| 久久性视频不卡网站| 伊人青青青在线观看| 日韩欧美在线一区二区在线| 日日爽夜夜爽夜夜爽精品视频| 美女 激情 欧美 日韩| 91免费观看国产精品| 日韩av免费福利在线观看| 青青草成人免费电影| 久草免费资源视频在线观看| 17c在线观看视频国产aa| 国产在线观看网站资源| 天天干天天日天天超| 人妻a∨在线中文字幕| 久久久久18精品国产乱码78m| 亚洲免费观看高清在线| 五月天亚洲精品综合网| 亚洲自拍偷拍清纯唯美| 天天操天天色天天天| 国产高清在线免费视频| 久久视频十八岁亚洲精品久久视频| 白峰美羽在线观看av| 免费高清视频在线观看不卡男男 | 成人一级黄色片免费看| 欧美美女视频在线免费看| 天天日天天透天天操| 91jk麻豆美女丝袜诱惑| 天天操天天湿天天干| 91福利国产成人精品| 日本视频免费大片| 精品熟女后入一区二区三区| 嗯~啊~好舒服在线观看| av 激情 开心 五月| 操人妻一区二区三区| 妍强被迫伦姧惨叫123| 亚洲精久久久久久久久久久久久| 男人的坤插进女人的屁股里的视频 | 日本vvvv操操操| 九月丁香婷婷中文字幕| 99麻豆精品国产自产在线观看| 中文字幕不卡av在线播放| 亚洲图片,自拍偷拍网| 狠狠干狠狠操五月天| 亚洲精品在线观看高清资源| 26uuu天堂在线青青在线视频| 挺进老妇的肉91九色| 老熟妇乱子伦中文字幕视频| 久久一区二区三区杨幂| 黄片免费观看久久av| 亚洲天堂男人的天堂av| 亚洲国产日韩欧美高清片vr| 起碰97视频在线播放| 男女啪啪啪网站入口| 五月激情四射丁香婷婷激情四射| 婷婷视频在线观看一区的| 亚洲一区二区综合网| 1777中文字幕字幕在线播放| 国产传媒中文字幕在线| 日本成人午夜电影视频| 91精品国产自产在线大长腿| 青青草原亚洲精品在线观看| 人人妻人人妻人人妻精品| 亚洲精品久久久久久久久久蜜桃| 日本成人午夜电影视频| 91久久综合九色综合欧美98| 婷婷视频在线观看一区的| 精品国产9999久久久久| 日本老太婆老熟妇av| 国语对白xxxx乱大交| 999热这里只有精品视频| 午夜在线小视频在线观看| 欧美,偷拍,另类,综合| 99精品私筹模特大尺度视频| 亚洲国产精品国自产拍a∨| 国产麻豆在线av| 97久久精品熟女超碰| 五月激情四射丁香婷婷激情四射| 99久久久国产精品美女| 亚洲三级伦理在线播放| 欧美三级一区二区三区四区五区| 精精品久久久久久琪琪| 久久精品亚洲国产| 2020中文字幕在线播放| 老鸭窝最新网址在线| 日韩欧美亚洲一区第一| 91免费观看国产精品| 国产美女高清免费av| 亚洲图片,自拍偷拍| 亚洲中文字幕有码电影| 俄罗斯第一次处破女| 男女啪啪啪网站入口| 天堂网作爱视频在线播放| 成人一级黄色片免费看| 黄色免费2b网页18岁有声音| 程嘉美日本全部三级| 丝袜美图一区二区三区| 宝贝把腿张开让我添| 啪啪男女日韩网站蜜桃| 欧美美女视频在线免费看| 日日躁夜夜躁狠狠久久av| av中文字幕在线播放| 久久久久久久久毛片精品奶炮| av鲁丝一区鲁丝二区鲁丝四区| 手机在线免费视频一区二区三区| 狠狠操 在线视频 轻轻草| 男人天堂地址在线播放| 黑人精品一区a一二区b| 91精品人人妻人人澡人人爽人人| 午夜国产福利视频一区二区| 亚洲激情视频免费在线| 日本系列变态另类一区二区三区| 国产av综合av国产精品| 国产亚洲精品天堂在线观看| 精品久久久久aⅴ一区二区| yy111111少妇蜜桃| 91九色在线视频网站| 蜜桃一区二区17c| 亚洲精品在线观看高清资源| 91高清免费观看在线| 亚洲精品免费一二三区| 涩涩网站在线观看视频| 在线免费看亚洲精品少妇69式| x8x8免费在线观看视频| 亚洲欧美另类图片88| 婷婷丁香花综合激情五月天| 亚洲主要位于五带中的什么带?| 欧美在线播放一二区不卡| 人妻熟妇丰满不伦一区二区三区| 国产三级做爰高清在线| 69 久久99精品久久久| 在线人妻视频网站免费| 99国国视频在线播放| 鸡巴操进我的小穴欧美国产| 亚洲av网站在线免费观看| 日本v片 中文字幕| 天天色天天情天天透| 国产视频在线精品视频| 91人妻精品动漫一区二区三区| 久久亚洲日本精品视频| 操人妻视频在线免费观看| 富二代av一区二区| 亚洲欧洲另类小说图片| 免费直接观看的麻豆黄色| 黄色成人激情福利在线影院| 在线视频你懂的视频| 亚洲欧美在线x视频| 亚洲精品一区二区三区新线路| 亚洲av男人的天堂久久久| 大鸡巴操的好爽好舒服啊视频| 啪啪男女日韩网站蜜桃| 超碰chaopeng 国产| 天天干天天操天天日天天射| av网址大全在线播放| 久久亚洲日本精品视频| 女人被男人阳具抽插的呻吟视频 | 久久精品国产亚洲AV牛牛影视| 亚洲一区 成人在线| 77777蜜臀精品久久综合| 男的扒开女的下面狂操视频| 88888欧美精品久久久| 久操视频精品在线观看| 在线观看av久久久| 91精品人人妻人人澡人人爽人人| 人妻不卡一区二区三区| 亚洲综合久久综合网| 亚洲一区二区三区邪恶成人| 91久久综合九色综合欧美98| 日韩欧美亚洲一区第一| 免费熟女精品一区二区三区| av国产在线观看网站| 国产美女高清免费av| 日本av都是真做吗| 老男人久久青草av高清| 99久久国产成人免费网站| 东京热av在线播放| 国产伦精品三区精品国偷自产在线| 久操视频精品在线观看| 久久一区二区三区杨幂| 中文字幕看日韩精品视频| 欧美综合一二区在线| 自拍偷拍亚洲黄色照片| 福利视频国产在线在线观看| 黑人熟女一区二区三区| 6080日韩伦理片| 狂野小农民在线高清| 亚洲欧洲美洲无码在线| 国产精品自拍亚洲春色| 欧美成人a v在线| 黑人精品一区a一二区b| 一级白丝美女久久久久| 欧美黑人性色黄在线视频| 人妻少妇精品视频专区vr| 成人a毛片久久免费播放| 天天日……天天操……天天喷| 免费一级黄色片麻豆系列| 96人妻一区=区三区| 九九热在线这里只有精品| 日韩破处精品在线观看| 亚洲三级伦理在线播放| 日韩高清视频在线播放| 91精品在线播放hd| 日韩成人在线电影,| 日本熟妇丰满厨房55| 精精品久久久久久琪琪| 亚洲精品一区二区三区新线路| 国产白丝美女在线网站| 成年大片40分钟免费视频播放| 天天日天天色天天搞| 久久99精品国产99久久6尤| 在线免费看亚洲精品少妇69式| 少妇高潮精品一区二区| 亚洲视频专区在线播放| 福利视频国产在线在线观看| 亚洲综合一区二区人妻| 欧美 激情 另类 自拍| 男的扒开女的下面狂操视频| 色一伊人区二区亚洲最大| 欧美黑人天天干夜夜操| 国产高清免费在线视频| 国产av人人夜夜澡人人爽下载 | 福利一区二区在线视频| 国产欧美日韩经典一区| 午夜福利啪啪视频免费看| 天天睡天天摸天天添天天日天天射| 免费在线观看视频色播| 怡红院精彩视频在线观看| 成人福利电影免费网址| 人妻少妇精品视频专区vr| 动漫av纯肉免费在线观看| 免费成视频人免费91| 93乱子伦国产乱子伦| 未满18禁止入内免费视频| yy111111少妇蜜桃| 99精品国产免费久久久久久| 自拍偷拍 中文字幕 日韩| 日韩成人在线电影,| 91福利精品一区二区| 天天干夜夜操日日操| 男人天堂新在线电影| 东京热av在线播放| 程嘉美日本全部三级| 亚洲欧洲另类小说图片| 一区二区三区在线中国| 天天日天天色天天搞| 99久久精品免费看蜜桃的推荐词| 99热这里只有的精品666| 97超级碰最新在线视频| 亚洲天堂欧美中文字幕 | 88888欧美精品久久久| 免费成视频人免费91| 在线观看高清日韩av| 亚洲精品免费一二三区| 人妻熟女一区二区aⅴ佐佐木明希| 天天色天天爱天天舔| 微拍一区二区在线观看| 亚洲自拍偷拍清纯唯美| 三级黄色亚洲成人av| 久久久久久久久毛片精品奶炮| 99久久夜色精品国产亚洲软件 | 亚洲av综合久久久久久| 偷窥中国丰满多毛老熟女| 亚洲天堂 校园春色| 午夜性色福利视频自拍偷拍 | 一区二区三区精品视频| 人人妻人人妻人人妻精品| 丝袜美图一区二区三区| 天天日……天天操……天天喷| 91大屁股人妻porn| 99久久夜色精品国产亚洲软件 | 婷婷爱在线视频精品| 丝袜制服 亚洲 国产 91| 两个人午夜免费看视频| 欧美精品综合第一页| 久草视频免费在线视频观看| 天天插天天摸天天爱| 丝袜美腿色诱视频在线观看| 五月天免费在线观看| 大香蕉人妻少妇av| 无人码一区二区三区视频| 美女诱惑福利在线视频| 在线中文字幕综合一区| 欧美在线免费污污视频| xxxx在线免费观看视频| 亚洲国产中文字幕在线视频| 国产在线视频国产资源| 爆操性感美女性色av| 国产精品午夜在线观看| 日日爽夜夜爽夜夜爽精品视频| 亚洲精品少妇蜜桃久久久| 一级白丝美女久久久久| 亚洲精品综合视频自拍| 77777蜜臀精品久久综合| 免费直接观看的麻豆黄色| 日本伦理在线免费视频| 欧洲av,亚洲av| 富二代av一区二区| 登录国产黄色一区二区三区| 国产av在线一区二区| 五月天丁香婷久久爱| 日本少妇人妻久久中文| 日本免费啪啪啪啪啪啪啪啪啪啪| 国产乱子伦一区=区三区| 亚洲主要位于五带中的什么带? | 美女极品美女福利视频在线| 掀开奶罩边吃边摸下娇喘视频| 午夜老司机福利一二三区| 黄色av日韩免费在线观看| 丝袜美腿色诱视频在线观看| 久久人人爽人人爽人人亚洲| 国产精品午夜在线观看| 东游记中文字幕版哪里可以看到| 日本五十路六十路中出| 日本系列变态另类一区二区三区 | 久久这里精品视频3| 成人大片免费看45分钟| 91精选视频在线播放| 欧美一区二区三区乱轮| 2022AV天堂免费在线观看| 日日躁夜夜躁狠狠久久av| 日本性少妇xxxx| 98资源站精品视频在线观看| 四川操bb操bb操b| 中文字幕看日韩精品视频| ai给视频自动加字幕| 1717精品视频在线观看| 要看tv在线观看欧美日韩| 国内人人人妻狠狠狠操操| 91精选视频在线播放| 欧美熟妇亚洲中文不卡少妇| 亚洲无码精品中的精品| 亚洲精品免费一二三区| 久久久久久久国产精品人妻| 嗯嗯嗯啊啊啊不要好爽视频| 国内精品久久久久久久| 三级三级三级日本99| av鲁丝一区鲁丝二区鲁丝四区| 中文字幕国产电影在线观看| 午夜精品久久久久久99| 天天操天天日天天啪| 亚洲 网友 在线 观看| 高清日本wwwcom| 在线免费观看欧美激情视频| 亚洲av午夜精品一老妈| 中字av在线一区二区中字| 二亚洲女同性同志熟女| 国产三级做爰高清在线| 欧美 激情 另类 自拍| 天天干天天操天天日天天射| 日韩最新视频在线播放| 男的扒开女的下面狂操视频| 国产剧情swag在线观看| 91色porny 在线播放| 欧美激情性4一级完整版| 欧美日韩国产在线观看了| 国产粉嫩粉嫩的在线18观看| 亚洲国产欧美一区二区三区久久| 在线观看国产影片| 久草视频免费在线视频观看| 亚洲国产日韩a在线欧美2020| 日韩精选高清大片在线观看| 狂野黑人性猛交xxxxxx| 最新人妻熟女中文字幕| 中文一区二区三区精品视频| 国产c片免费观看| 香蕉影视在线观看av最新| 亚洲无码精品中的精品| 久久精品亚洲国产一区二区| 亚洲国产久久久久久| 一区二区三区国产欧美日韩| 日本伦理在线免费视频| 久久久999精品在线| 人妻 日韩精品免费| 亚洲国产精彩中文乱码av| 亚洲国产精品日日夜夜| 午夜在线看1000集| 欧美 激情 另类 自拍| 亚洲综合欧美熟一区| 程嘉美日本全部三级| 老鸭窝最新网址在线| 内射一对幼嫩无毛妹| 草草影院黄色在线观看| 久久精品视频全部视频在线| 日韩avapp在线| 久久综合色——久久综合色88| 欧美视频一区二区三区在线观看| 亚洲国产aⅴ成人精品无吗| 国产免费av不卡免费| 亚洲偷偷自拍视频网| 人妻中文字幕在线视频免费观看| 男人插女人逼app| 干风骚美女av在线| 黄色成人激情福利在线影院| 人人妻人人妻人人妻精品| 日本系列变态另类一区二区三区 | 人人妻人人妻人人妻人人妻人人人| 人妻少妇精品视频专区vr| 青青操在线视频精品| 一区二区中文字幕18| av网址大全在线播放| 午夜男女激情福利视频| 东北老熟女疯狂作爱视频| 91av国产在线观看| 久久99精品久久久久久小说| 91国产精品久久久久麻豆| 天天扣天天日天天摸| 看男破处女人逼黄色片观看| 狠狠躁日日躁夜夜躁视频| 国产粉嫩粉嫩的在线18观看| 性感美女一区二区美女| 99久久99久久免费精品蜜臀| 啪啪在线视频免费观看| 国产极品尤物粉嫩泬在线观看| 真人同房直接做视频免费| 在线播放国产免费av| 宝贝把腿张开让我添| 五月婷婷综合久久久| 啊啊啊操死我轮操视频免费| 亚洲永久av午夜福利| 操人妻一区二区三区| 色男人的天堂一区二区三区| 日韩av免费福利在线观看| 欧美激情性4一级完整版| 色婷婷亚洲久久97成人| 午夜男女激情福利视频| 国内精品视频久久久久| 青青操在线视频精品| 在线精品亚洲区一区二区| 2012在线国语中文字幕| 午夜在线看1000集| 色就色欧美亚洲αv| 91麻豆精品国产91久久久平台| 国产精品久久久久白浆| 蜜桃成人av电影网站| 韩国美女主播福利视频| 国产精品一品二区三区日韩| 国产精品黄色自拍视频| 欧洲av,亚洲av| 日本少妇人妻久久中文| 看男破处女人逼黄色片观看| 精品成人午夜免费看| 人妻久久免费视频中文字幕| 一区二区三区精品视频| 超碰人妻中文字幕在线| 精精品久久久久久琪琪| 人人妻人人妻人人妻人人妻人人人 | 亚洲午夜免费精品久久久| 未满18禁止入内免费视频| 日本中文字幕人妻一区二区 | 午夜精品福利一区二区三区p| 亚洲日本欧洲一区二区| 美女吃鸡巴黑料破处自慰| 人妻熟女免费一区二区萩原| 久精彩视频免费观看| 日韩欧美亚洲在线第一页| 男生用大鸡巴捅女生的视频| 国产一区二区精品蜜臀av| 久久综合色——久久综合色88| 丝袜制服 亚洲 国产 91| 日韩欧美在线不卡一区二区三区| 欧洲日本亚洲一区二区| 不卡黄色免费在线观看| 国产av大全网站天堂| 浪荡人妻共32部分黑人| 久久精品亚洲国产一区二区| 91色porny 在线播放| 国产成人一区二区三区久| 亚洲熟妇色在线观看| 99久久99久久免费精品蜜臀| 亚洲熟妇色在线观看| 久久久久久久久久久蜜桃| 特黄特色大片观看免费| 日韩欧美亚洲一区第一| 亚洲天堂男人的天堂av| 人人妻人人妻人人妻人人妻人人人| 久久久久久久国产精品人妻| 免费无码专区毛片高潮喷水| 熟女一区二区三区四区五区视频| 亚洲天堂男人的天堂av| 天天日天天透天天操| 丝袜制服 亚洲 国产 91| 黑人系列哪个最猛番号| 香蕉久久av一区二区三区四区| 最大最全av中文字幕网| 国产中文字幕在线免费播放| 亚洲欧美动漫卡通 另类| 少妇人妻不满足中文字幕| 1717精品视频在线观看| 中文字幕永久在线一区二区| 东游记中文字幕版哪里可以看到| 国产精品久久久久精品蜜月| 真人同房直接做视频免费| 人妻少妇精品视频专区vr| 男人插女人逼app| 熟女吧国产精品一区二区三区| 老鸭窝最新网址在线| lisaann在线观看| 日本免费播放一区二区三区| 播放灌醉水嫩大学生国内精品| 青娱乐精品视频在线免费观看| 亚洲中文有码一区二区| 亚洲午夜免费精品久久久| 亚洲高清中文字幕在线的| 啊啊啊操死我轮操视频免费| 国产传媒网址在线观看| 亚洲真人性在线观看| 国产欧美精品va在线观看| 国产精品亚洲综合视频| 在线观看高清日韩av| 亚洲图色熟女五月天| 亚洲欧美日韩偷窥自拍| 欧美av色香蕉一区二区小说| 登录国产黄色一区二区三区| 天天插天天爱天天日| 欧美在线免费污污视频| 五月激情丁香久久亚洲| 91 chinese 在线播放| 极品国模sm镣铐调教| 精品人妻一区三区三区| 一区二区三区国产欧美日韩| 亚洲精品综合视频自拍| 九九热在线这里只有精品| 亚洲国产精品日日夜夜| 99久久精品免费看蜜桃的推荐词| 丝袜美腿国产在线观看| 欧美日韩国产在线观看了| fc2精品成人免费观看| 欧美精品第5页在线观看视频| 欧美综合一二区在线| 香蕉久久av一区二区三区四区| 人妻夜夜爽av性色大片| 人人妻人人澡人人爽电台app| 精品人妻欧美一区二区| 丁香激情五月天综合网| 日本伦理在线免费视频| 人人妻人人澡人人爽电台app| 天天色天天爱天天日| 中文字幕av网址大全| 18人妻人碰人人做人人爽| 在线视频你懂的视频| av男人免费的天堂| 91大神视频在线观看视频| 亚洲小说区图片另类春色| 欧美日韩国产在线观看了| 男人天堂新在线电影| 亚洲一区二区视频在线免费观看| av网址大全在线播放| 免费高清视频在线观看不卡男男| 精品一区二区三区大全| 日韩国产精品高清中文在线| 国内人人人妻狠狠狠操操| 中文字幕看日韩精品视频 | 久久精品国产二区AV无码| 欧美一级操逼啊啊啊哦哦哦| 欧美1234不卡视频| av中文字幕高清在线| 成人熟女一区二区三区| 午夜福利免费福利视频| 亚洲人成青青操免费观看| 女人张开双腿让男人捅视频| 国产又粗又长又黄视频| 欧美熟妇搡bbbb水蜜桃| 黄片免费观看久久av| 丁香激情五月天综合网| 午夜性色福利视频自拍偷拍 | 亚洲一区二区成人综合| 亚洲av欧美av在线播放| 特黄特猛aaaaaaaaa片| 二亚洲女同性同志熟女| 91老熟女连续高潮对白| 五月色婷婷在线视频| 亚洲性趣老熟妇高清| 久久久国产视频91| 精品一区二区三区大全| 99riav国产尤物蜜臀精品| 亚洲一区二区成人综合| 国内精品久久久久久久| 国产半推半就精品强推视频| 日本大鸡巴乱伦肏屄网| 无套内谢少妇高潮毛片免费看 | 国产精品一品二区三区日韩| 欧美丰满熟妇高潮xxxx| 午夜三级影片免费播放| 少妇的激情夜夜爽爽爽爽爽| 国产午夜福利精品久久不卡| 国产亚洲精品电影aa在线观看| 天天操天天操天天干天天| 欧美日韩国产在线观看了| 人妻 日韩精品免费| x8x8免费在线观看视频| 国产又色又爽又黄又免费的小说| 大鸡巴爆操美女骚逼| 最新亚洲成人黄色片| 91精品在线播放hd| 久精彩视频免费观看| 国产a v一区二区三区香蕉| 欧美日韩综合在线免费观看| 91亚洲国产成人久久| 在线观看国产精品123| 精品成人午夜免费看| 亚洲真人性在线观看| 中国熟妇丰满大乳大屁股| 操女人下阴黄色一级视频| 亚洲国产欧美一区二区三区久久| 天天爱天天日天天干天天做| 97超级碰最新在线视频| 老熟妇乱子伦中文字幕视频| 亚洲日本欧洲一区二区| av网址大全在线播放| 午夜精品久久99蜜桃| 亚洲精品成人a8198| 午夜精选视频在线观看| 一区二区三区国产精选在线播放 | 亚洲免费国产在线日韩| 天天操夜夜爽夜夜操| 香蕉久久av一区二区三区四区| 97免费人妻超碰97在线| 人妻天天操avxx| 亚洲天堂男人的天堂av| 国产剧情swag在线观看| 瑟瑟的网站在线观看| 久操av在线免费观看| 两个人午夜免费看视频| 久久精品视频全部视频在线 | 亚洲男人天堂111117av| 天天干天天操天天日天天射| 中文字幕亚洲日韩第一页| 男生日女生逼的视频| 美女的逼让男人桶的视频| 98资源站精品视频在线观看| 美女主播大奶子黄瓜插逼| 爆操嫩逼黑丝袜美女小骚逼| 超碰人人澡人人碰人人| 日本老太婆老熟妇av| 成人福利视频一区二区| 免费熟女精品一区二区三区| 欧美一区二区三区乱轮| 91亚洲情色在线播放| 91大屁股人妻porn| 黄色 成年人 免费观看| 人妻熟一区二区三区四区不卡| 亚洲天堂 校园春色| 久久精品国产亚洲av视瓶| 可以直接在线观看的一区| 欧美在线观看一级一区二区| 欧美精品综合第一页| 欧美亚洲国产校园春色 | 老鸭窝在线观看免费观看高清版| av鲁丝一区鲁丝二区鲁丝四区| 欧洲野外激情性视频| 77777蜜臀精品久久综合| 91精品国产自产在线大长腿| 美女吃鸡巴黑料破处自慰| 国产午夜福利精品久久不卡| 国产绿帽人妻精品系列| 6080日韩伦理片| 性感美女一区二区美女| av大片在线观看免费| 在线观看免费黄片欧美| 性色av一区二区三区观看| 欧美最猛黑人xxxx黑人猛交文| 国产av综合av国产精品| 超级碰碰碰97免费视频97 | 亚洲精品乱码久久观看网| 人妻熟女一区二区aⅴ佐佐木明希 五月婷婷丁香花激情网 | 天天色天天干天天操| 好的一级毛片免费毛片直播| 久久99精品国产99久久6尤| 国产91精品久久久久高潮| 极品人妻vide0sss人妻| 亚洲国产精品自拍视频在线观看| 亚洲天堂欧美中文字幕| 黄色 成年人 免费观看| av蜜桃网在线观看| 操人妻一区二区三区| 国产午夜福利精品久久不卡| 狂野小农民在线高清| 国产精品一品二区三区日韩| 久久久999精品在线| 2020中文字幕在线播放| 鸡巴操进我的小穴欧美国产 | 亚洲中文字幕在线成人| 男人天堂地址在线播放| 天天插天天爱天天日| 国产91精品久久久久高潮| 免费观看黄色韩日av| 久久精品亚洲国产| 啪啪在线视频免费观看| 亚洲一区二区成人综合| 亚洲av永久久久久久久蜜桃| 日韩av中文字幕乱码| 性感丝袜美女诱惑大鸡吧| 亚洲一区二区三区邪恶成人| 中文字幕最新色片av| 亚洲激情视频免费在线| 青青草青青草成人免费公开| 亚洲欧洲另类小说图片| 挺进老妇的肉91九色| 天天日天天看天天摸| 一级白丝美女久久久久| 天天干夜夜操日日操| 最新亚洲成人黄色片| 男的扒开女的下面狂操视频| 久久91精品国产91久久分享| 国产午夜福利精品久久不卡| 五月激情四射丁香婷婷激情四射 | 国产在线观看网站资源| 国产又粗又长又硬又猛又黄的视频| 97超碰在线cao| 亚洲欧美国产其他二区| 黄色中文字幕在线观看| 午夜精选视频在线观看| 亚洲国产精品美女久久久av| 在线看片1024你懂得| 亚洲无码精品中的精品| 人妻中文字幕不卡av观看| 亚洲视频 中文字幕 人妻| 亚洲自拍偷拍视频二区| 两个人午夜免费看视频| 东北老熟女疯狂作爱视频| 大肉大捧一进一出免费视频网址 | 五月激情四射丁香婷婷激情四射| 精品一区二区三区在线免费播放| 免费观看视频一区二区三区| 91福利精品一区二区| 一区二区三区在线 日韩| 亚洲国产精品自拍视频在线观看| 人妻中文字幕不卡av观看| 91jk麻豆美女丝袜诱惑| 欧美日韩国产综合不卡| 在线观看高清日韩av| 91精品久久久久久婷婷高清| 91 chinese 在线播放| 精品人妻一区三区三区| 亚洲综合精品推荐69堂| 国产av人人夜夜澡人人爽下载| 人妻a∨在线中文字幕| 日韩欧美亚洲在线第一页| 伦人伦xxxx国语对白| 91精品国产综合久久婷婷香蕉| 日韩破处精品在线观看| 女人样男人用大鸡巴操她的逼逼| 啪啪男女日韩网站蜜桃| 伊人精品在线大香蕉| 最大最全av中文字幕网| 五月婷婷综合大香蕉五月天| 在线观看高清日韩av| 91精品1080部在线播放| 久久99精品国产99久久6尤| 登录国产黄色一区二区三区| 一区二区三区精品视频| 亚洲日本欧洲一区二区| av 在线 麻豆| av色哟哟国产精品| 天天操天天射天天综合网| 黑人系列哪个最猛番号| 黄色av日韩免费在线观看| 二亚洲女同性同志熟女| 97午夜精品理论片在线| av一区二区二十四小时| 91久久综合九色综合欧美98| 国产1区2区在线视频| 欧美一区二区三区乱轮| 老师让我插进去69AV| 粉嫩av入口一区二区三区| 亚洲三级伦理在线播放| av乱亚洲一区二区三区| 国产欧美精品va在线观看| 五月天免费在线观看| 蜜桃av在线网址观看| 一区二区三区在线中国| 人操美女操美女操美女| 亚洲av福利片久久久久| 麻豆精品午夜福利在线| 国产剧情星空无限传媒| 啪啪男女日韩网站蜜桃| 熟女一区二区三区四区五区视频 | aaa222男人天堂| 久久久老熟女一区二区| 成人18禁视频网站在线看| 韩国一区二区三区在线观看| 51日日夜夜精品视频| 在线人妻视频网站免费| 98久久久久98久久久久| www久久久久久久99| 亚洲一级免费av黄色打炮片| 亚洲精品少妇久久久久久| 999久久久无码精品免费看片| 黑人熟女一区二区三区| 久久久久久久久久久蜜桃| 欧美最猛黑人xxxx黑人猛交文| 人妻熟妇丰满不伦一区二区三区| 免费直接观看的麻豆黄色| av一区二区二十四小时| 九九热在线这里只有精品| 操白嫩人妻少妇真爽视频| 国产专区视频在线观看免费| 天天日……天天操……天天喷| 92免费视频人妻网| 国产精品啊啊啊不要在线观看| 欧美黑人性色黄在线视频| 17c在线观看视频国产aa| 亚洲精品在线观看高清资源| 日韩欧美在线一区二区在线| 俄罗斯第一次处破女| 欧美在线一区日韩国产| 国内人人人妻狠狠狠操操 | 精品人妻欧美一区二区| av影视在线免费观看| 日本女护士久久精品| 99精品国产自在现线观看| 国产剧情swag在线观看| 麻豆一区二区大豆行情| 人妻a∨在线中文字幕| 性色av一区二区三区观看| 免费人妻av一区二区| 中文字幕第一区久久| 欧美黑人性色黄在线视频| 女人张开双腿让男人捅视频| 国产精品亚洲综合视频| 欧美,日本中文高清视频| 日韩资源在线中文字幕| 亚洲另类欧美在线观看| 超碰人人澡人人碰人人| 国产在线免播放器不卡| 亚洲高清中文字幕在线的| 国产亚洲精品天堂在线观看| 亚洲天堂都市激情av| 富二代av一区二区| 韩日一级片中文字幕| 91精品国产国语自拈产在| 欧美一区,二区三区高清视频| 国产精品久久久久白浆| 亚洲精品成人a8198| 一区二区三区精品视频| 一级女人色又黄毛片女人| 欧美av色香蕉一区二区小说| 伦人伦xxxx国语对白| 美女的逼让男人桶的视频| 亚洲美女乱1区2区3区| 亚洲欧美日韩不卡人妻中文字幕| 国内精品久久久久精品爽爽 | 成人黄色大片免费网站| 999在线视频一区二区三区| 亚洲视频免费观看不卡| 亚洲国产日韩欧美高清片vr| 青青视频青青成人免费| 大香蕉人妻少妇av| 又黑又硬又粗又黄又猛| 亚洲精品1234区在线看| 亚洲精品**不卡在线播he| 欧美亚洲三级色图网站| 麻豆一区二区大豆行情| 免费在线观看视频色播| 午夜精品久久99蜜桃| 玩弄放荡人妻少妇精品| 成人在线视频国产自拍| 亚洲五区四区欧美视频 | 91精品在线播放hd| 美女 激情 欧美 日韩| 91精品国产综合久久婷婷香蕉| 自拍偷拍亚洲黄色照片| 看男破处女人逼黄色片观看| 国产福利中文字幕导航| 91九色在线视频网站| 干 白虎 少妇 嫩 逼 视频| 欧美激情性4一级完整版| 亚洲综合一区二区人妻| 成人18禁视频网站在线看| 亚洲真人性在线观看| xfplay亚洲资源| 欧美熟妇搡bbbb水蜜桃| 干风骚美女av在线| 两个人午夜免费看视频| 欧美亚洲三级色图网站| 99久久99久久免费精品蜜臀| 亚洲精品**不卡在线播he| 国产又粗又长又硬又猛又黄的视频 | 老鸭窝在线视频国产| 最大最全av中文字幕网| 正宗欧美在线观看一区二区| 91jk麻豆美女丝袜诱惑| 一区二区三区精品视频| 老司机免费福利视频网| av乱亚洲一区二区三区| 在线观看免费a亚洲| 操白嫩人妻少妇真爽视频| 亚洲欧美区二区三区| 干风骚美女av在线| 伊人青操在线观看视频网站| 美女草草影院在线观看视频| 91精品人妻中文字幕| 妍强被迫伦姧惨叫123| 日本日本熟妇中文在线视频| 国产c片免费观看| 成人福利电影免费网址| 亚洲国产图片小说一区二区| 日本中文字幕人妻一区二区| 亚洲天堂精品区三区二区一区| 亚洲国产精品日日夜夜| 亚洲永久av午夜福利| 久久精品国产二区AV无码| 欧美黑人抱着强干视频| 亚洲欧美另类专区第一页| av影视在线免费观看| 99精品视频在线观看专区| 91人妻人人做人人爽九色全集| 东方av在线免费进入| 中文一区二区三区精品视频| 在线播放国产免费av| 国产精品精品3d动漫| 77777蜜臀精品久久综合| 91大神视频在线观看视频| 无套内谢少妇高潮毛片免费看| 久久久激情视频网站| 隔壁放荡人妻bd完整版| 亚洲免费淫网站在线观看| 黑人系列哪个最猛番号| av 激情 开心 五月| 老熟妇乱子伦中文字幕视频| 欧美日韩aaaaa级黄片视频| 天天操夜夜爽夜夜操| 亚洲av午夜精品一老妈| 男女精品久久久久久久久久| 男人天堂在线免费观看| 67194久久一区二区| 久久精品国产亚洲av视瓶 | av在线操亚洲图片| 国产精品福利免费视频不卡| 久久精品亚洲国产一区二区| 99久久免费国产特黄| 999久久久无码精品免费看片| 成人在线视频国产自拍| 老司机免费福利视频网| 欧美av色香蕉一区二区小说| 日韩资源在线中文字幕| 一区二区三区欧美高清| 欧美 亚洲 激情 自拍| 五月婷婷丁香花激情网| 一区二区三区精品视频| 欧美亚洲校园春色另类| 天天操天天摸天天摸| 浪荡人妻共32部分黑人| 日本视频免费大片| 超碰chaopeng 国产| 国产高清在线免费视频| 亚洲日产av一区二区在线| 亚洲av日韩一区二区三区四区 | www国产亚洲天堂| 99精品视频中文字幕| av网址在线观看日韩| 久久精品国产二区AV无码| 亚洲欧美另类图片88| 福利视频国产在线在线观看| 九九热在线这里只有精品| 亚洲视频免费观看不卡| 国产成人女人毛毛片视频| 老鸭窝最新网址在线| 亚洲精品综合视频自拍| 一区二区三区欧美高清| 黑人精品一区a一二区b| 粉嫩av入口一区二区三区| 筱田优在线播放一区二区三区| 蜜桃成人av电影网站| 999热这里只有精品视频| 男人的坤插进女人的屁股里的视频 | 亚洲三级这里只有精品| 成年人中文字幕视频网| 国产又粗又长又黄视频| 成人黄色大片免费网站| 在线观看国产影片| 99久久精品美女高潮喷水| 蜜桃视频18在线观看| 东北老熟女疯狂作爱视频| 182tv在线福利视频| 丝袜av在线丝袜av天堂国产| 蜜桃视频18在线观看| 青青操视频在线免费| av在线操亚洲图片| 丝袜美腿视频诱惑亚洲| 亚洲中文字幕有码电影| 成全视频免费观看在线下载| 韩日一级片中文字幕| 亚州 欧美日韩人妻熟女| 超碰超碰超碰超碰超碰情侣| 亚洲国产精品国自产拍av在线| 午夜剧场欧美一区二区| 性感的人妻在线观看| av在线播放网站资源| xfplay亚洲资源| 日本大鸡巴乱伦肏屄网| 蜜桃精品在线观看一区| 91麻豆精品一二三区在线成人| 大黑鸡巴 狂插 欧亚小嫩逼| 中文有码一区二区三区| 在线免费看亚洲精品少妇69式| 一级女人色又黄毛片女人| 96h久久国产激情| 国产剧情免费在线观看| 国产专区视频在线观看免费| 久久人人爽人人爽人人亚洲| 人人咪咪一区二区三区| 丝袜美腿视频诱惑亚洲| 欧美亚洲校园春色另类| 亚洲欧美一区二区精华液| 亚洲精品少妇蜜桃久久久| 挺进老妇的肉91九色| 2020精品国产自在现线官网| 丝袜制服 亚洲 国产 91| 国产剧情星空无限传媒 | 免费成人中文字幕电影| 亚洲图片一区偷拍自拍| 黄色成人激情福利在线影院| 好男人资源在线视频观看社区| 亚洲精品成人原创视频| 亚洲国产精品自拍视频在线观看| 国产绿帽人妻精品系列| 婷婷亚洲综合在线五月天| 五月天亚洲精品综合网| 亚洲欧美在线色图动态图| 男生的天堂亚洲男人| 久久亚洲日本精品视频| 亚洲精品少妇久久久久久| 不卡黄色免费在线观看| 亚洲偷偷自拍视频网| 99久久精品国产欧美一区二区| 成人3d动漫一区二区三区91| 亚洲欧美综合区丁香六月| 欧美综合一区二区三区| 在线看片1024你懂得| 免费高清视频在线观看不卡男男| 亚洲三级这里只有精品| 欧美熟妇亚洲中文不卡少妇| 亚洲综合另类小说色区色噜噜,| 啪啪啪免费亚洲精品网站| 丁香激情五月天综合网| 啪啪小视频免费网站| 美女吃鸡巴黑料破处自慰| 熟女免费在线观看视频| 亚洲精品成人原创视频| 无套内谢少妇高潮毛片免费看| 99久久精品国产欧美一区二区| 2020精品国产自在现线官网| 黄色 成年人 免费观看| 午夜性色福利视频自拍偷拍| youtube视频字幕中文| 77777蜜臀精品久久综合| 制服丝袜诱惑综合网| 五月天亚洲精品综合网| 好的一级毛片免费毛片直播| 欧美1234不卡视频| 偷拍亚洲另类图片视频| 天天操天天操天天干天天| 亚洲激情视频免费在线| 中文字幕精品av在线观看| 欧美精品黑人粗大破除| 欧美黑人天天干夜夜操| 97精品在线观看视频| 办公室被吃奶好爽在线观看视频| 伊人青操在线观看视频网站| 特黄特色大片观看免费 | 性色av成年在线观看| 成人黄色大全在线观看| 91人妻人人做人人爽九色全集| 久草视频免费在线视频观看| 久久精品在线观看免费视频| m3u8在线播放91| 99精品国产免费久久久久久| 在线中文字幕综合一区| 久久人人爽人人爽人人亚洲| 伦人伦xxxx国语对白| 日韩高清av一区二区三区| 青青操在线视频精品| 亚洲av好看xx站| 丝袜美腿视频诱惑亚洲| 人妻久久免费视频中文字幕| 亚洲人体艺术二区三区视频| 亚洲精品1234区在线看| 欧美在线一区日韩国产| 福利视频在线免费观看伦理| 欧美亚洲天堂不卡视频| 色噜噜在线综合亚洲欧美| 偷窥老熟女久久久av| 国产精品欧美日韩久久久免费观看| 高清日本wwwcom| 日本av高清免费观看| 日本性少妇xxxx| 成人午夜影视在线观看| 98视频在线免费观看| 天天色天天干天天操| 日韩av中文字幕网址| caoporn香蕉在线观看| 无套内谢少妇高潮毛片免费看| 国产传媒网址在线观看| 亚洲欧美综合区丁香六月| 视频在线播放一区二区| 67194久久一区二区| 国产av一区二区三区天堂| 一区二区中文字幕18| 久操视频精品在线观看| 丝袜美图一区二区三区| 欧美日韩精品久久一区二区三区| 国模视频写真一区二区| 天天操夜夜爽夜夜操| 国产午夜在线免费视频| 亚洲综合欧美熟一区| 偷窥老熟女久久久av| 亚洲免费观看高清在线| 中文字幕一区三区二区国产黄色| 国产精品亚洲综合av| 亚洲国产成人在线观看网址| 亚洲av男人的天堂久久久| 亚洲精品国偷自产久色| 干风骚美女av在线| 亚洲自拍偷拍清纯唯美| 免费在线观看网址你懂的| 99热6在线播放免费| 久操av在线免费观看| 亚洲伊人av 综合福利| 久久视频十八岁亚洲精品久久视频| 国产成人a一区二区| 亚洲天堂男人的天堂av| 办公室被吃奶好爽在线观看视频 | 亚洲人成青青操免费观看| 欧美中文字幕综合在线| 人妻精品久久久久中文字幕19| 蜜桃aⅴ噜噜一区二区三区网址| 中文一区二区三区精品视频| 两个人午夜免费看视频| 99久久精品久久久久久清纯| mm在线视频观看免费观看| 久久99精品久久久久久小说| 青草视频在在线成人av| 人妻夜夜爽av性色大片| 国产mm视频在线观看| 97色 国产精品综合| 天天日天天色天天摸| 挺进老妇的肉91九色| 狠狠躁日日躁夜夜躁2| 亚洲日本欧洲一区二区| av 激情 开心 五月| 亚洲一区二区成人综合| 教资是不是人人都可以考| av一av一av中文字幕| 97午夜精品理论片在线| 蜜桃视频18在线观看| 亚洲综合久久综合网| 亚洲熟妇av一区二区蜜桃第1集| 天天干天天操天天日天天射| julia 人妻中文字幕| 亚洲欧洲自拍他拍av| 国产剧情星空无限传媒| 自拍第一页免费视频| 动漫av纯肉免费在线观看| 嗯~啊~好舒服在线观看| 91精品国产国语自拈产在| 久久精品国产亚洲AV牛牛影视| 亚洲卡一卡二卡三新区| 青春草在线视频播放免费观看网站| 97精品国产高清在线| 亚洲天堂一二三四在线播放| 免费在线观看国产成人大片| 亚洲男人天堂111117av| 爱人体-看人体人体摄影| 亚洲人成亚洲人成在线观看com| 色综合久久加勒比高清剧情| 欧美精品日韩第一页| 在线理论国产高清在线| 久久人人爽人人爽人人亚洲| 亚洲中文字幕在线成人| 要看tv在线观看欧美日韩| 怡红院精彩视频在线观看| 欧美黑人性色黄在线视频| 欧美视频一区二区三区在线观看 | 播放灌醉水嫩大学生国内精品 | 人妻中文字幕不卡av观看| 三级黄色亚洲成人av| 国产黄色大片在线免费观看| 日韩avapp在线| 欧美亚洲国产校园春色| 粉嫩av入口一区二区三区| 免费直接观看的麻豆黄色| heyzo久久综合色88| 国产三级做爰高清在线| 亚洲一区 成人在线| 亚洲天堂男人的天堂av|