黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

深入了解JAVA 軟引用

瀏覽:84日期:2022-08-27 08:25:07

定義

軟引用是使用SoftReference創建的引用,強度弱于強引用,被其引用的對象在內存不足的時候會被回收,不會產生內存溢出。

說明

軟引用,顧名思義就是比較“軟”一點的引用。

當一個對象與GC Roots之間存在強引用時,無論何時都不會被GC回收掉。如果一個對象與GC Roots之間沒有強引用與其關聯而存在軟引用關聯時,那么垃圾回收器對它的態度就取決于內存的緊張程度了。如果內存空間足夠,垃圾回收器就不會回收這個對象,但如果內存空間不足了,它就難逃被回收的厄運。

如果一個對象與GC Roots之間不存在強引用,但是存在軟引用,則稱這個對象為軟可達(soft reachable)對象。

在垃圾回收器沒有回收它的時候,軟可達對象就像強可達對象一樣,可以被程序正常訪問和使用,但是需要通過軟引用對象間接訪問,需要的話也能重新使用強引用將其關聯。所以軟引用適合用來做內存敏感的高速緩存。

String s = new String('Frank'); // 創建強引用與String對象關聯,現在該String對象為強可達狀態SoftReference<String> softRef = new SoftReference<String>(s); // 再創建一個軟引用關聯該對象s = null; // 消除強引用,現在只剩下軟引用與其關聯,該String對象為軟可達狀態s = softRef.get(); // 重新關聯上強引用

這里變量s持有對字符串對象的強引用,而softRef持有對該對象的軟引用,所以當執行s = null后,字符串對象就只剩下軟引用了,這時如果因為內存不足發生Full GC,就會把這個字符串對象回收掉。

注意,在垃圾回收器回收一個對象前,SoftReference類所提供的get方法會返回Java對象的強引用,一旦垃圾線程回收該對象之后,get方法將返回null。所以在獲取軟引用對象的代碼中,一定要先判斷返回是否為null,以免出現NullPointerException異常而導致應用崩潰。

下面的代碼會讓s再次持有對象的強引用:

s = softRef.get();

如果在softRef指向的對象被回收前,用強引用指向該對象,那這個對象又會變成強可達。

來看一個使用SoftReference的栗子:

public class TestA { static class OOMClass{ private int[] oom = new int[1024 * 100];// 100KB } public static void main(String[] args) throws InterruptedException { ReferenceQueue<OOMClass> queue = new ReferenceQueue<>(); List<SoftReference> list = new ArrayList<>(); while(true){ for (int i = 0; i < 100; i++) {list.add(new SoftReference<OOMClass>(new OOMClass(), queue)); } Thread.sleep(500); } }}

注意,ReferenceQueue中聲明的類型為OOMClass,即與SoftReference引用的類型一致。

設置一下虛擬機參數:

-verbose:gc -Xms4m -Xmx4m -Xmn2m

運行結果:

[GC (Allocation Failure) 1017K->432K(3584K), 0.0017239 secs][GC (Allocation Failure) 1072K->472K(3584K), 0.0099237 secs][GC (Allocation Failure) 1323K->1296K(3584K), 0.0009528 secs][GC (Allocation Failure) 2114K->2136K(3584K), 0.0009951 secs][Full GC (Ergonomics) 2136K->1992K(3584K), 0.0040658 secs][Full GC (Ergonomics) 2807K->2791K(3584K), 0.0036280 secs][Full GC (Allocation Failure) 2791K->373K(3584K), 0.0032477 secs][Full GC (Ergonomics) 2786K->2773K(3584K), 0.0034554 secs][Full GC (Allocation Failure) 2773K->373K(3584K), 0.0032667 secs][Full GC (Ergonomics) 2798K->2775K(3584K), 0.0036231 secs][Full GC (Allocation Failure) 2775K->375K(3584K), 0.0055482 secs][Full GC (Ergonomics) 2799K->2776K(3584K), 0.0031358 secs]...省略n次GC信息

在TestA中,我們使用死循環不斷的往list中添加新對象,如果是強引用,會很快因為內存不足而拋出OOM,因為這里的堆內存大小設置為了4M,而一個對象就有100KB,一個循環添加100個對象,也就是差不多10M,顯然一個循環都跑不完就會內存不足,而這里,因為使用的是軟引用,所以JVM會在內存不足的時候將軟引用回收掉。

[Full GC (Allocation Failure) 2791K->373K(3584K), 0.0032477 secs]

從這一條可以看出,在內存不足發生Full GC時,回收掉了大部分的軟引用指向的對象,釋放了大量的內存。

因為這里新生代只分配了2M,所以很快就會發生GC,如果你的程序運行沒有看到這個結果,請先確認一下虛擬機參數是否設置正確,如果設置正確還是沒有看到,那么將循環次數由1000改為10000或者100000在試試看。

應用場景

軟引用關聯的對象,只有在內存不足的時候JVM才會回收該對象。這一點可以很好地用來解決OOM的問題,并且這個特性很適合用來實現緩存:比如網頁緩存、圖片緩存等。

現在考慮這樣一個場景 ,在很多應用中,都會出現大量的默認圖片,比如說QQ的默認頭像,應用內的默認圖標等等,這些圖片很多地方會用到。

如果每次都去讀取圖片,由于讀取文件速度較慢,大量重復的讀取會導致性能下降。所以可以考慮將圖片緩存起來,需要的時候直接從內存中讀取。但是,由于圖片占用內存空間比較大,緩存的圖片過多會占用比較多的內存,就可能比較容易發生OOM。這時候,軟引用就派得上用場了。

注意,SoftReference對象是用來保存軟引用的,但它同時也是一個Java對象。所以,當軟可及對象被回收之后,雖然這個SoftReference對象的get()方法返回null,但SoftReference對象本身并不是null,而此時這個SoftReference對象已經不再具有存在的價值,需要一個適當的清除機制,避免大量SoftReference對象帶來的內存泄漏。

ReferenceQueue就是用來保存這些需要被清理的引用對象的。軟引用可以和一個引用隊列(ReferenceQueue)聯合使用,如果軟引用所引用的對象被垃圾回收器回收,Java虛擬機就會把這個軟引用加入到與之關聯的引用隊列中。

下面用SoftReference來實現一個簡單的緩存類:

public class SoftCache<T> { // 引用隊列 private ReferenceQueue<T> referenceQueue = new ReferenceQueue<>(); // 保存軟引用集合,在引用對象被回收后銷毀 private List<Reference<T>> list = new ArrayList<>(); // 添加緩存對象 public synchronized void add(T obj){ // 構建軟引用 Reference<T> reference = new SoftReference<T>(obj, referenceQueue); // 加入列表中 list.add(reference); } // 獲取緩存對象 public synchronized T get(int index){ // 先對無效引用進行清理 clear(); if (index < 0 || list.size() < index){ return null; } Reference<T> reference = list.get(index); return reference == null ? null : reference.get(); } public int size(){ return list.size(); } @SuppressWarnings('unchecked') private void clear(){ Reference<T> reference; while (null != (reference = (Reference<T>) referenceQueue.poll())){ list.remove(reference); } }}

然后測試一下這個緩存類:

public class SoftCacheTest { private static int num = 0; public static void main(String[] args){ SoftCache<OOMClass> softCache = new SoftCache<>(); for (int i = 0; i < 40; i++) { softCache.add(new OOMClass('OOM Obj-' + ++num)); } System.out.println(softCache.size()); for (int i = 0; i < softCache.size(); i++) { OOMClass obj = softCache.get(i); System.out.println(obj == null ? 'null' : obj.name); } System.out.println(softCache.size()); } static class OOMClass{ private String name; private int[] oom = new int[1024 * 100];// 100KB public OOMClass(String name) { this.name = name; } }}

仍使用之前的虛擬機參數:

-verbose:gc -Xms4m -Xmx4m -Xmn2m

運行結果:

[GC (Allocation Failure) 1017K->432K(3584K), 0.0012236 secs][GC (Allocation Failure) 1117K->496K(3584K), 0.0016875 secs][GC (Allocation Failure) 1347K->1229K(3584K), 0.0015059 secs][GC (Allocation Failure) 2047K->2125K(3584K), 0.0018090 secs][Full GC (Ergonomics) 2125K->1994K(3584K), 0.0054759 secs][Full GC (Ergonomics) 2822K->2794K(3584K), 0.0023167 secs][Full GC (Allocation Failure) 2794K->376K(3584K), 0.0036056 secs][Full GC (Ergonomics) 2795K->2776K(3584K), 0.0042365 secs][Full GC (Allocation Failure) 2776K->376K(3584K), 0.0035122 secs][Full GC (Ergonomics) 2795K->2776K(3584K), 0.0054760 secs][Full GC (Allocation Failure) 2776K->376K(3584K), 0.0036965 secs][Full GC (Ergonomics) 2802K->2777K(3584K), 0.0044513 secs][Full GC (Allocation Failure) 2777K->376K(3584K), 0.0041400 secs][Full GC (Ergonomics) 2796K->2777K(3584K), 0.0025255 secs][Full GC (Allocation Failure) 2777K->376K(3584K), 0.0037690 secs][Full GC (Ergonomics) 2817K->2777K(3584K), 0.0037759 secs][Full GC (Allocation Failure) 2777K->377K(3584K), 0.0042416 secs]緩存列表大小:40OOM Obj-37OOM Obj-38OOM Obj-39OOM Obj-40緩存列表大小:4

可以看到,緩存40個軟引用對象之后,如果一次性全部存儲,顯然內存大小無法滿足,所以在不斷創建軟引用對象的過程中,不斷發生GC來進行垃圾回收,最終只有4個軟引用未被清理掉。

強引用與軟引用對比

沒有對比就沒有傷害,來將強引用和軟引用對比一下:

public class Test { static class OOMClass{ private int[] oom = new int[1024]; } public static void main(String[] args) { testStrongReference(); //testSoftReference(); } public static void testStrongReference(){ List<OOMClass> list = new ArrayList<>(); for (int i = 0; i < 1000; i++) { list.add(new OOMClass()); } } public static void testSoftReference(){ ReferenceQueue<OOMClass> referenceQueue = new ReferenceQueue<>(); List<SoftReference> list = new ArrayList<>(); for (int i = 0; i < 1000; i++) { OOMClass oomClass = new OOMClass(); list.add(new SoftReference(oomClass, referenceQueue)); oomClass = null; } }}

運行testStrongReference方法的結果如下:

[GC (Allocation Failure) 1019K->384K(3584K), 0.0033595 secs][GC (Allocation Failure) 1406K->856K(3584K), 0.0013098 secs][GC (Allocation Failure) 1880K->1836K(3584K), 0.0014382 secs][Full GC (Ergonomics) 1836K->1756K(3584K), 0.0039761 secs][Full GC (Ergonomics) 2778K->2758K(3584K), 0.0021269 secs][Full GC (Ergonomics) 2779K->2770K(3584K), 0.0016329 secs][Full GC (Ergonomics) 2779K->2775K(3584K), 0.0023157 secs][Full GC (Ergonomics) 2775K->2775K(3584K), 0.0015927 secs][Full GC (Ergonomics) 3037K->3029K(3584K), 0.0025071 secs][Full GC (Ergonomics) 3067K->3065K(3584K), 0.0017529 secs][Full GC (Allocation Failure) 3065K->3047K(3584K), 0.0033445 secs][Full GC (Ergonomics) 3068K->3059K(3584K), 0.0016623 secs][Full GC (Ergonomics) 3070K->3068K(3584K), 0.0028357 secs][Full GC (Allocation Failure) 3068K->3068K(3584K), 0.0017616 secs]java.lang.OutOfMemoryError: Java heap spaceDumping heap to java_pid3352.hprof ...Exception in thread 'main' java.lang.OutOfMemoryError: Java heap spaceHeap dump file created [3855956 bytes in 0.017 secs][Full GC (Ergonomics) 3071K->376K(3584K), 0.0032068 secs]at reference.Test$OOMClass.<init>(Test.java:11)at reference.Test.testStrongReference(Test.java:22)at reference.Test.main(Test.java:15)

Process finished with exit code 1

可以看到,很快就拋出了OOM,原因是Java heap space,也就是堆內存不足。

如果運行testSoftReference方法,將會得到如下結果:

[GC (Allocation Failure) 1019K->464K(3584K), 0.0019850 secs][GC (Allocation Failure) 1484K->844K(3584K), 0.0015920 secs][GC (Allocation Failure) 1868K->1860K(3584K), 0.0043236 secs][Full GC (Ergonomics) 1860K->1781K(3584K), 0.0044581 secs][Full GC (Ergonomics) 2802K->2754K(3584K), 0.0041726 secs][Full GC (Ergonomics) 2802K->2799K(3584K), 0.0031293 secs][Full GC (Ergonomics) 3023K->3023K(3584K), 0.0024830 secs][Full GC (Ergonomics) 3071K->3068K(3584K), 0.0035025 secs][Full GC (Allocation Failure) 3068K->405K(3584K), 0.0040672 secs][GC (Allocation Failure) 1512K->1567K(3584K), 0.0011170 secs][Full GC (Ergonomics) 1567K->1496K(3584K), 0.0048438 secs]

可以看到,并沒有拋出OOM,而是進行多次了GC,可以明顯的看到這一條:

[Full GC (Allocation Failure) 3068K->405K(3584K), 0.0040672 secs]

當內存不足時進行了一次Full GC,回收了大部分內存空間,也就是將大部分軟引用指向的對象回收掉了。

小結

軟引用弱于強引用 軟引用指向的對象會在內存不足時被垃圾回收清理掉 JVM會優先回收長時間閑置不用的軟引用對象,對那些剛剛構建的或剛剛使用過的軟引用對象會盡可能保留 軟引用可以有效的解決OOM問題 軟引用適合用作非必須大對象的緩存

至此,本篇就告一段落了,這里只簡單的介紹了軟引用的作用以及用法。其實軟引用并沒有這么好,它的使用有一些可能是致命的缺點,如果想要更深入的了解軟引用的運行原理以及軟引用到底是在何時進行回收,又是如何進行回收的話,可以查看翻閱后續的章節。

以上就是深入了解JAVA 軟引用的詳細內容,更多關于JAVA 軟引用的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 人妖性生活视频 | 99精品国产免费久久 | 国产av无码专区亚洲a∨毛片 | 少妇性l交大片免费快色 | 精品国产av 无码一区二区三区 | 一区二区三区久久 | 中文字幕乱码日本亚洲一区二区 | 激情综合五月网 | 99久久婷婷国产精品综合 | 人人爽人人爽人人片av | 亚洲第一在线综合网站 | 国产精品久久欧美久久一区 | 欧美久久久网站 | 天天射影院 | 亚洲色中文字幕在线播放 | 小荡货奶真大水多好紧视频 | 丁香色欲久久久久久综合网 | 精品欧洲av无码一区二区三区 | 污导航在线| 美女毛片在线看 | 向日葵视频在线 | 亚洲欧美日韩久久 | 国产新婚露脸88av | 国产中文一区二区 | 在线看黄网址 | 在线看欧美 | 日韩视频一区二区 | 久久精品一区二区视频 | 在线视频一区二区三区四区 | 136av福利视频导航 | 国产精品第二页 | 亚洲一级免费在线观看 | 欧美激情一区二区三级高清视频 | 精品亚洲欧美无人区乱码 | 99久久国产综合精品麻豆 | 羞羞网站在线看 | 日韩片在线观看 | 国产免费一区二区三区在线能观看 | 性猛交xxxxx富婆免费视频 | 9porny九色视频自拍 | 久久久久国产一区二区三区四区 | 亚洲色中文字幕在线播放 | 天天干天天草天天 | 免费的黄色大片 | 国产亚洲欧美精品久久久久久 | 日韩精品久久久 | 成人国产在线视频 | 尤物视频在线观看免费 | 后入内射欧美99二区视频 | 久久天堂av | 亚洲卡一 | 成人夜视频 | 成人18网站 | 亚洲а∨天堂久久精品9966 | 欧美日韩新片 | 伊人蕉| 亚洲福利在线观看 | 一级片视频播放 | 国产xxxx性hd极品 | a免费看 | 激情欧美一区二区三区 | 人人做人人爽人人爱 | 欧美第一夜 | √天堂资源地址在线官网 | 国产欧美久久一区二区 | 国产乱人伦av在线a麻豆 | 亚洲国产精品久久久天堂 | 69精品人人人人 | 国精产品一品二品国精品69xx | 波多野结衣一区二区 | 99久久99久久精品免费看蜜桃 | 国产亚洲成av人片在线观看桃 | 亚洲精品9999久久久久无码 | av黄色在线免费观看 | 日韩亚洲欧美精品综合 | 国产艳妇疯狂做爰视频 | 国产欧美一区二区精品婷婷 | 中国猛少妇色xxxxx | 国产日韩欧美在线 | 九九九国产视频 | av手机免费观看 | 少妇自拍视频 | 友田真希中文字幕在线视频中 | 黄 色 软件 成 人在线 | 91青青草视频 | 国产日产久久高清欧美 | 两性囗交做爰视频 | 亚洲天堂8 | 国产精品国产三级国产 | 男女裸交免费无遮挡全过程 | 天堂网一区二区三区 | 中国老妇荡对白正在播放 | 日韩亚洲欧美精品综合 | 久久理伦| 亚洲日本韩国欧美云霸高清 | 欧美xxxx黑人又粗又长密月 | 久激情内射婷内射蜜桃人妖 | 日本男女网站 | 久久精品人成免费 | 国产在线xxxx | 夜夜添日日射 | 色噜噜一区二区三区 | 国产日产欧美最新 | 日韩亚洲视频 | 成人黄色免费网站 | 国内少妇偷人精品免费 | 国产精品久久久久久久久久久久久久久久 | 成人超碰在线 | 日本边舌吻边做爽的视频 | 免费做爰猛烈吃奶摸视频在线观看 | 免费观看全黄做爰大片国产 | julia在线播放88mav| 久久久久久久国产 | 天美麻花果冻视频大全英文版 | 国产一区黄色 | 国产91片| 无码专区亚洲综合另类 | av网站在线免费 | 五月天激情国产综合婷婷婷 | 国产精品无码翘臀在线看 | 国产乱子伦精品免费女 | 永久在线观看 | 欧美另类在线视频 | 久久综合伊人77777麻豆 | 欧美日韩视频无码一区二区三 | 免费无遮挡无码视频在线观看 | 男男羞羞视频网站国产 | 一进一出下面喷白浆九瑶视频 | 狠狠的干性视频 | 国产理论视频 | 国产视频97 | 黄色国产精品视频 | 国产三级精品三级在专区 | 17c在线视频| 僵尸叔叔在线观看国语高清免费观看 | 四虎一区二区 | 少妇思春三a级 | 看全黄大色黄大片美女人 | 欧美男人天堂网 | 99精品视频免费热播在线观看 | 精品久久久久国产免费第一页 | 中文字幕一卡二卡三卡 | 女人喂男人奶水做爰视频 | 日本少妇白嫩猛烈进入免费视频 | 亚洲成人av在线播放 | 欧美亚洲激情视频 | 26uuu精品一区二区在线观看 | 色88久久久久高潮综合影院 | 天天玩天天干天天操 | 国产毛茸茸毛毛多水水多 | 中国黄色网址 | 日韩欧美一区二区在线观看视频 | 一本一道波多野结衣av黑人 | 欧美日本国产欧美日本韩国99 | 欧美国产在线视频 | 日韩av女优在线观看 | 成人国产1314www色视频 | 69堂视频| 尹人av| 久久aⅴ国产紧身牛仔裤 | 污污网站在线观看免费 | 亚洲高清中文字幕 | 噜噜噜在线观看免费视频日本 | 性精品 | 波多野结衣av在线播放 | 女女互揉吃奶揉到高潮视频 | 97精品视频| 欧美日韩一二三 | 久久婷色 | 国产色啪 | 成人性生交大片免费 | 国产黄页 | 欧美人与性动交α欧美精品图片 | 日本老熟妇毛茸茸 | 成人乱淫av日日摸夜夜爽 | 亚洲一区二区自拍偷拍 | 天天射寡妇射 | 五月天激情四射 | 轻点好疼好大好爽视频 | 999亚洲国产精 | 国产三级网址 | 黄色毛片在线 | 99精品无人区乱码1区2区3区 | 丁香六月久久 | 琪琪色视频| 羞羞色男人的天堂 | 亚洲在线中文字幕 | 色图在线观看 | 国产情侣自拍小视频 | 亚洲精品一区二三区 | 久草视频2 | 51久久久 | 国产精品嫩草影院com | 精品国产第一国产综合精品 | 精品国产一二三产品价格 | 天天天天色综合 | 91福利免费| 国产办公室秘书无码精品99 | 午夜精品久久久久久 | 日本a级老少配 | 精品人人妻人人澡人人爽人人 | 无码人妻精品一区二区三18禁 | 天天狠天天透天天伊人 | 少妇与黑人一二三区无码 | 美女网站免费观看视频 | 看av的网址| av天堂久久天堂色综合 | av永久| 久久久99国产精品免费 | 日本中国内射bbxx | 曰批免费视频播放免费 | 美国av一区二区 | 美女做爰久久久久久 | 亚洲第一大综合区 | 久久精品国产亚洲a | 麻豆视频在线免费观看 | 国产精品久久av一区二区三区 | 亚洲精品网站在线播放gif | 老司机午夜福利av无码特黄a | 野外吮她的花蒂高h在线观看 | 日韩中文字幕二区 | 婷婷五月色综合 | 国产91在线免费 | 久热精品视频在线 | 久久精品久久久久 | 亚洲天堂视频网站 | 黑人巨大跨种族video | 妓院一钑片免看黄大片 | 成人精品一区二区三区在线观看 | yy77777丰满少妇影院 | 国产乱肥老妇国产一区二 | 欧美一级片a | 成年网站在线播放 | 久久综合给合综合久久 | 中文字幕a∨在线乱码免费看 | 伊人91 | 欧美性生活在线视频 | 黄色777| 成 年 人 黄 色 大 片大 全 | 91视频二区 | 鲁鲁在线 | 欧美一区二区人人喊爽 | 成人天堂网 | 国产精品无码av在线播放 | 伊人久久大香线蕉综合网站 | 浴室人妻的情欲hd三级国产 | 国产性自拍 | 久久偷偷| 中文字幕精品亚洲无线码二区 | 亚洲国产aⅴ成人精品无吗 亚洲国产aaa | 99精品国产一区二区三区2021 | 色拍自拍亚洲综合图区 | 色多多福利网站免费破解 | 欧美老熟妇乱子 | 国产精品美女久久久久久久久 | 日韩成人在线网站 | 18禁免费观看网站 | 黄色三级国产 | 亚洲一区二区三区日本 | 超碰在线进入 | 91看片在线 | 日本免费中文字幕 | 东京一本一道一二三区 | 国产黄色av| 亚洲视频色| 欲求不满在线小早川怜子 | 美足av| 精品人妻大屁股白浆无码 | 亚洲成人网在线播放 | 久久99精品国产自在现线小黄鸭 | 乱码丰满人妻一二三区 | 中文字幕人妻伦伦 | 97超碰在线免费观看 | 五月婷在线视频 | 国产成人无遮挡在线视频 | 男女超碰 | 关晓彤三级在线播放 | 少妇熟女视频一区二区三区 | 国产熟女一区二区三区四区五区 | 亚洲中文字幕久久精品蜜桃 | 色综合久久天天 | 国产精品黄色 | 在线观看吃瓜av网站 | 日本精品久久久 | 黄色一极毛片 | 国产91色在线 | 亚洲精选av| 国产人妻久久精品一区二区三区 | 国产性猛交粗暴力xxxx | 男人的天堂2018无码 | 久久久免费在线观看 | 日韩免费网址 | 欧美性猛交xxxx黑人猛交 | wwwav免费| 日日夜夜撸啊撸 | 在线看无码的免费网站 | 一级黄色片免费看 | 爆乳女仆高潮在线观看 | 欧美三级一区 | 香蕉视频网址 | 午夜av网 | 小明看欧美日韩免费视频 | 黄色高清视频在线观看 | 欧洲精品码一区二区三区 | 先锋影音亚洲 | 国产精品不卡在线 | 日本边添边摸边做边爱喷水 | 好男人中文资源在线观看 | av色哟哟| 日产中文字幕一码 | 午夜爽视频 | 免费在线黄色av | 国产日产久久欧美清爽 | 色就是色亚洲色图 | 免费看片免费播放国产 | 精品人妻少妇一区二区 | 250pp亚洲情艺中心欧美 | 乱肉合集乱高h久久爱 | 久久久久久久蜜桃 | 小蝌蚪九色91探花 | 翘臀后进少妇大白嫩屁股视频 | 日本添下边视频全过程 | 亚洲人精品亚洲人成在线 | 国产精品香蕉在线观看 | 欧美肥妇多毛bbw | 国产高潮国产高潮久久久 | 少妇人妻大乳在线视频 | 国产伦理一区二区 | 婷婷激情五月综合 | 91超碰caoporn97人人 | 免费色片| 精品欧洲av无码一区二区男男 | 国产精品不卡在线 | 国产精品无码天天爽视频 | 国产男女爽爽爽免费视频 | 玖玖爱在线精品视频 | 强开小嫩苞一区二区三区图片 | 诱人的奶水h男 | 日本肉体做爰猛烈高潮全免费 | 师尊双性精跪趴灌满h视频 湿女导航福利av导航 | 一区二区在线免费看 | 久久久久久久久久久久久9999 | 国产无遮挡a片又黄又爽 | 日韩深夜视频 | 国产免费午夜a无码v视频 | 午夜熟女插插xx免费视频 | 熟妇无码乱子成人精品 | 俺也去综合 | 亚洲女同ⅹxx女同tv | 久久精品成人热国产成 | 老司机精品视频网 | 国产日韩一区二区在线 | 欧美激情一区二区在线观看 | 国产美女免费观看 | 亚洲国产一区二区三区四区四季 | 97精品人妻系列无码人妻 | 天堂av在线免费观看 | 亚洲国产精品久久精品 | 日韩城人免费 | 久草在线资源福利 | 久久国产精品影视 | 欧美极品在线观看 | 国外成人在线视频 | 久久婷婷五月综合色一区二区 | 日本乱码一区二区三区芒果 | 日本熟妇成熟毛茸茸 | 黄色美女大片 | 欧美精品一区二区三区四区五区 | 国产精品伦子伦免费视频 | a毛看片免费观看视频 | 欧美日韩高清一区 | 波多野结衣不打码视频 | 国产搞逼视频 | 久久99精品久久久久久秒播九色 | 特级全黄久久久久久久久 | 不卡的在线视频 | 国内自拍99| 亚洲综合伊人久久综合 | 国产精品久久久久久久久久不蜜月 | 韩国视频一区 | 免费中文字幕日韩欧美 | 狠狠干av | 日本一区二区三区中文字幕 | 欧美性受xxxx狂喷水 | aaaaaaa毛片 | 欧美激情国产在线 | 亚洲视频不卡 | 在线视频国产一区 | 污av | 手机在线一区二区 | 国产午夜精品av一区二区麻豆 | 中文字幕天堂在线 | 国产精品久久久久久久久鸭 | 成人免费视频一区二区 | 天天干天天射综合网 | 色综合久久一区二区三区 | 深爱激情av | 国产精品毛片久久久久久 | 在线视频日韩 | 国产精品无码av天天爽 | 黄色中文字幕在线观看 | 三级黄色视屏 | 亚洲国产欧美日韩 | 制服丝袜在线视频 | 99久久久无码国产精品不卡 | 一个人在线免费观看www | 神马久久久久久久久久 | 国产69精品久久久久9999 | 两个人做羞羞的视频 | 精品视频一区二区三区四区 | 国产成人免费看一级大黄 | 成人看片17c.com | 亚洲欧美日韩精品色xxx | 无码137片内射在线影院 | 日韩女人性猛交 | 成人永久aaa | 一级特黄bbbbb免费观看 | 亚洲国产精品第一区二区 | 国产小呦泬泬99精品 | 三级黄色av | 国产精品入口牛牛影视 | 欧美精品色哟哟 | 99草草国产熟女视频在线 | 天天干夜夜干 | а√天堂资源8在线官网 | 一区黄色| 国产一区调教91鞭打 | 中文字幕 国产精品 | 亚洲一区二区三区成人 | 亚洲第一综合天堂另类专 | www视频免费在线观看 | 欧美做爰一区二区三区 | 欧美激情精品久久久久久免费 | 国产天堂在线观看 | 国产精品91在线 | 欧美四区| 撕开奶罩揉吮奶头高潮av | 久久不见久久见免费影院www日本 | 丰满少妇在线观看网站 | 天天射天天干天天 | 国内精品99 | 看黄网站在线观看 | 欧美精品午夜 | 成人日韩精品 | 色噜噜狠狠色综合欧洲 | 国产黄色一区二区 | 国产新婚夫妇白天做个爱 | 伊人久久久久久久久久 | 日本性视频网站 | 日本500人裸体仓房视频 | 中文字幕在线观看英文怎么写 | 嫩草视频入口 | 亚洲一区二区三区自拍公司 | 欧美午夜精品 | 欧美一级大片在线观看 | 国产精品久久久久久av福利软件 | 午夜欧美精品久久久久久久 | 性欧美又大又长又硬 | 91超碰人人 | 国产精品手机免费 | 国产精品com | 欧美肥老太牲交大战 | 日韩欧美色视频 | 久久精品人人做人人爱爱站长工具 | 日本中文字幕免费 | 又硬又粗又大一区二区三区视频 | 成人5g影院_天天5g天天看 | 欧美一区二区三区日韩 | 亚洲欧美日韩在线一区 | 性一交一乱一乱一视频 | av爱爱网站 | 国产成人久久77777精品 | 97超碰网| 超碰伦理| 国产欧美日韩综合精品二区 | 免费在线a | 国产一区二区三区四 | 国产精品欧美久久久久久 | 五月婷婷操 | 精品久久香蕉国产线看观看亚洲 | 欲妇荡岳丰满少妇岳91在线 | 夜夜高潮夜夜爽国产伦精品 | 亚洲淫视频 | 少妇性bbb搡bbb爽爽爽 | 咪咪久久 | 不卡免费视频 | 免费看污视频的网站 | 国产成人亚洲综合无码99 | av在线免费观看网站 | 欧美偷窥清纯综合图区 | 在线观看肉片av网站免费 | 国产三级做爰在线播放 | 亚洲激情自拍 | 亚洲福利一区 | 国产资源无限好片 | 婷婷五月六月激情综合色中文字幕 | 午夜丁香网 | 久久66热人妻偷产精品 | 免费在线看黄网站 | 无码人妻精品一区二区三区在线 | 国内爆初菊对白视频 | 亚洲一二三精品 | 漂亮瑜伽少妇高潮 | 国产日韩欧美一区二区 | 91干视频| 国产精品美女久久久久av爽李琼 | 久久国产精品一区二区三区 | 国产亚洲性欧美日韩在线观看软件 | 成人羞羞视频在线观看免费 | 人妻无码久久精品人妻 | 伊人情人综合网 | 亚洲最大成人免费视频 | 98国产精品综合一区二区三区 | 成人片黄网站色大片免费观看 | 国产大屁股视频免费区 | 91精品国自产拍在线观看不卡 | www.狠狠| 亚洲国产一区二区三区在线观看 | 最近免费中文字幕大全免费版视频 | 99re6在线| 久久r这里只有精品 | 国产精品亚洲一区二区 | 国产看真人毛片爱做a片 | 激情综合网婷婷 | 免费看的黄色录像 | 国产精品国产三级国产密月 | 国产精品野外户外 | 精品国产亚洲第一区二区三区 | 亚洲欧美v国产一区二区 | 中文免费av | 亚洲国产区男人本色 | 天堂va在线高清一区 | 精精国产xxxx视频在线播放 | 日韩在线视频观看免费 | 一区二区三区影院 | 能看的黄色网址 | 久久经典 | 成年美女黄网站色大片免费看 | 欧美精品久久一区二区 | www日本视频| 波多野结衣在线精品视频 | 熟妇人妻中文av无码 | 性高潮久久久久久久久 | 免费无码av片在线观看中文 | 免费萌白酱国产一区二区三区 | 国产99久60在线视频 | 传媒 | 午夜无码片在线观看影院 | 久久久久成人精品 | 青青草55| 91精品一区 | 欧美天天影院 | 99re在线观看视频 | 波多野结衣免费视频观看 | 成人av免费观看 | 国产良妇出轨视频在线观看 | 古代玷污糟蹋np高辣h文 | 色综合久久久久无码专区 | 啦啦啦中文在线观看日本 | 蜜臀久久精品久久久用户群体 | 别cao我了~好爽~轻一点视频 | 久久婷婷成人综合色 | 艳妇乳肉豪妇荡乳av | 明星大尺度激情做爰视频 | 在线天堂1 | 国产伦精品一区二区三区视频金莲 | av天天射| 天天干天天干天天干 | 亚洲a毛片| 欧美性猛交xxxxx按摩欧美 | 国产精品美女久久久久久久 | 少妇粉嫩小泬白浆流出 | 亚洲色一区二区三区四区 | 国产一级免费观看 | 欧美大片在线免费观看 | 紧缚捆绑精品一区二区 | 天天干导航 | 亚洲黄色录像 | 中文字幕色网 | 一个人在线观看免费中文www | 极品少妇hdxx天美hdxx | 成人欧美一区二区三区在线 | 亚洲深深色噜噜狠狠爱网站 | 成人免费视频网站在线看 | 九色精品视频 | 后进极品白嫩翘臀在线播放 | 四虎视频国产精品免费入口 | 无码人妻精品一区二区三区在线 | 国产又色又爽又刺激在线播放 | 九色porny丨首页入口网页 | 日本a级c片免费看三区 | 国产69精品久久久久男男系列 | 韩国一区二区视频 | 色网站在线播放 | 成人男同在线观看 | 99久久久成人国产精品 | 天堂国产一区二区三区四区不卡 | 国产成人区 | 久久久久国产一区二区三区小说 | 国内精品国产成人国产三级粉色 | 成人福利一区 | 三级在线免费 | 国产98色在线 | 国 | 亚洲成人播放 | 国产又色又爽又刺激在线观看 | 亚洲 制服 丝袜 无码 | 久久久久国产精品熟女影院 | 欧美精品一区二区三区久久久竹菊 | 婷婷中文在线 | 久久精品中文字幕第一页 | 5g影院天天爽入口入口 | 日本大片免a费观看视频三区 | 俄罗斯丰满熟妇hd | 成人性视频欧美一区二区三区 | 成人在线免费av | 久久bb|