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

關(guān)于內(nèi)存安全問題,你應(yīng)該了解的幾點(diǎn)!

存儲(chǔ) 存儲(chǔ)軟件
Java在內(nèi)存管理方面是要比C/C++更方便的,不需要為每一個(gè)對(duì)象編寫釋放內(nèi)存的代碼,JVM虛擬機(jī)將為我們選擇合適的時(shí)間釋放內(nèi)存空間,使得程序不容易出現(xiàn)內(nèi)存泄漏和溢出的問題

[[394720]]

前言

Java在內(nèi)存管理方面是要比C/C++更方便的,不需要為每一個(gè)對(duì)象編寫釋放內(nèi)存的代碼,JVM虛擬機(jī)將為我們選擇合適的時(shí)間釋放內(nèi)存空間,使得程序不容易出現(xiàn)內(nèi)存泄漏和溢出的問題

不過,也正是因?yàn)镴ava把內(nèi)存控制的權(quán)利交給了Java虛擬機(jī),一旦出現(xiàn)內(nèi)存泄漏和溢出方面的問題,如果不了解虛擬機(jī)是怎么使用內(nèi)存的,那排查錯(cuò)誤將會(huì)成為一項(xiàng)異常艱難的工作

下面先看看JVM如何管理內(nèi)存的

內(nèi)存管理

根據(jù)Java虛擬機(jī)規(guī)范(第3版) 的規(guī)定,Java虛擬機(jī)所管理的內(nèi)存將會(huì)包括以下幾個(gè)運(yùn)行內(nèi)存數(shù)據(jù)區(qū)域:

  • 線程隔離數(shù)據(jù)區(qū):
    • 程序計(jì)數(shù)器: 當(dāng)前線程所執(zhí)行字節(jié)碼的行號(hào)指示器
    • 虛擬機(jī)棧: 里面的元素叫棧幀,存儲(chǔ)局部變量表、操作棧、動(dòng)態(tài)鏈接、方法出口等,方法被調(diào)用到執(zhí)行完成的過程對(duì)應(yīng)一個(gè)棧幀在虛擬機(jī)棧中入棧到出棧的過程。
    • 本地方法棧: 和虛擬機(jī)棧的區(qū)別在于虛擬機(jī)棧為虛擬機(jī)執(zhí)行Java方法,本地方法棧為虛擬機(jī)使用到的本地Native方法服務(wù)。
  • 線程共享數(shù)據(jù)區(qū):
    • 方法區(qū): 可以描述為堆的一個(gè)邏輯部分,或者說使用永久代來實(shí)現(xiàn)方法區(qū)。存儲(chǔ)已被虛擬機(jī)加載的類信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)。
    • 堆: 唯一目的就是存放對(duì)象的實(shí)例,是垃圾回收管理器的主要區(qū)域,分為Eden、From/To Survivor空間。

Java各版本內(nèi)存管理改進(jìn)

下圖中永久代理解為堆的邏輯區(qū)域,移除永久代的工作從JDK7就已經(jīng)開始了,部分永久代中的數(shù)據(jù)(常量池)在JDK7中就已經(jīng)轉(zhuǎn)移到了堆中,JDK8中直接去除了永久代,方法區(qū)中的數(shù)據(jù)大部分被移到堆里面,還剩下一些元數(shù)據(jù)被保存在元空間里

內(nèi)存溢出

  • 內(nèi)存泄露Memory Leak: 申請(qǐng)的內(nèi)存空間沒有及時(shí)釋放,導(dǎo)致后續(xù)程序里這塊內(nèi)容永遠(yuǎn)被占用。
  • 內(nèi)存溢出Out Of Memory: 要求的內(nèi)存超過了系統(tǒng)所能提供的

運(yùn)行時(shí)數(shù)據(jù)區(qū)域的常見異常

在JVM中,除了程序計(jì)數(shù)器外,虛擬機(jī)內(nèi)存的其他幾個(gè)運(yùn)行時(shí)數(shù)據(jù)區(qū)域都有發(fā)生OOM異常的可能。

堆內(nèi)存溢出

不斷的創(chuàng)建對(duì)象,并且保證GC Roots到對(duì)象之間有可達(dá)路徑來避免垃圾回收機(jī)制清除這些對(duì)象。

  1. public class HeapOOM { 
  2.     static class ObjectInHeap{ 
  3.     } 
  4.     public static void main(String[] args) { 
  5.         List<ObjectInHeap> list = new ArrayList(); 
  6.         while (true) { 
  7.             list.add(new ObjectInHeap()); 
  8.         } 
  9.     } 

棧溢出

單個(gè)線程下不斷擴(kuò)大棧的深度引起棧溢出。

  1. public class StackSOF { 
  2.     private int stackLength = 1; 
  3.     public void stackLeak() { 
  4.         stackLength++; 
  5.         stackLeak(); 
  6.     } 
  7.     public static void main(String[] args) { 
  8.         StackSOF sof = new StackSOF(); 
  9.         try { 
  10.             sof.stackLeak(); 
  11.         } catch (Throwable e) { 
  12.             System.out.println("Stack Length: " + sof.stackLength); 
  13.             throw e; 
  14.         } 
  15.     } 

循環(huán)的創(chuàng)建線程,達(dá)到最大棧容量。

  1. public class StackOOM { 
  2.     private void dontStop() { 
  3.         while (true) { 
  4.         } 
  5.     } 
  6.     public void stackLeadByThread() { 
  7.         while (true) { 
  8.             Thread thread = new Thread(new Runnable() { 
  9.                 @Override 
  10.                 public void run() { 
  11.                     dontStop(); 
  12.                 } 
  13.             }); 
  14.             thread.start(); 
  15.         } 
  16.     } 
  17.     public static void main(String[] args) { 
  18.         StackOOM stackOOM = new StackOOM(); 
  19.         stackOOM.stackLeadByThread(); 
  20.     } 

運(yùn)行時(shí)常量池溢出

不斷的在常量池中新建String,并且保持引用不釋放。

  1. public class RuntimeConstantPoolOOM { 
  2.     public static void main(String[] args) { 
  3.         // 使用List保持著常量池的引用,避免Full GC回收常量池 
  4.         List<String> list = new ArrayList<String>(); 
  5.         int i = 0; 
  6.         while (true) { 
  7.             // intern()方法使String放入常量池 
  8.             list.add(String.valueOf(i++).intern()); 
  9.         } 
  10.     } 

方法區(qū)溢出

借助CGLib直接操作字節(jié)碼運(yùn)行時(shí)產(chǎn)生大量的動(dòng)態(tài)類,最終撐爆內(nèi)存導(dǎo)致方法區(qū)溢出。

  1. public class MethodAreaOOM { 
  2.     static class ObjectInMethod { 
  3.     } 
  4.     public static void main(final String[] args) { 
  5.         // 借助CGLib實(shí)現(xiàn) 
  6.         while (true) { 
  7.             Enhancer enhancer = new Enhancer(); 
  8.             enhancer.setSuperclass(ObjectInMethod.class); 
  9.             enhancer.setUseCache(false); 
  10.             enhancer.setCallback(new MethodInterceptor() { 
  11.                 @Override 
  12.                 public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable { 
  13.                     return methodProxy.invokeSuper(o, objects); 
  14.                 } 
  15.             }); 
  16.             enhancer.create(); 
  17.         } 
  18.     } 

元空間溢出

助CG Lib運(yùn)行時(shí)產(chǎn)生大量動(dòng)態(tài)類,唯一的區(qū)別在于運(yùn)行環(huán)境修改為Java 1.8,設(shè)置-XX:MaxMetaspaceSize參數(shù),便可以收獲java.lang.OutOfMemoryError: Metaspace這一報(bào)錯(cuò)

本機(jī)直接內(nèi)存溢出

直接申請(qǐng)分配內(nèi)存(實(shí)際上并沒有真正向操作系統(tǒng)申請(qǐng)分配內(nèi)存,而是通過計(jì)算得知內(nèi)存無法分配,于是拋出異常)

  1. public class DirectMemoryOOM { 
  2.     private static final int _1MB = 1024 * 1024; 
  3.     public static void main(String[] args) throws IllegalAccessException { 
  4.         Field unsafeField = Unsafe.class.getDeclaredFields()[0]; 
  5.         unsafeField.setAccessible(true); 
  6.         Unsafe unsafe = (Unsafe) unsafeField.get(null); 
  7.         while (true) { 
  8.             unsafe.allocateMemory(_1MB); 
  9.         } 
  10.     } 

常見案例

在工作中一般會(huì)遇到有以下幾種情況導(dǎo)致內(nèi)存問題

傳輸數(shù)據(jù)量過大

因?yàn)閭鬏敂?shù)量過大、或一些極端情況導(dǎo)致代碼中間結(jié)果對(duì)象數(shù)據(jù)量過大,過大的數(shù)據(jù)量撐爆內(nèi)存

查詢出大量對(duì)象

這個(gè)多為SQL語句設(shè)置問題,SQL未設(shè)置分頁,用戶一次查詢數(shù)據(jù)量過大、頻繁查詢SQL導(dǎo)致內(nèi)存堆積、或是未作判空處理導(dǎo)致WHERE條件為空查詢出超大數(shù)據(jù)量等

接口性能問題導(dǎo)致

這類為外部接口性能較慢,占用內(nèi)存較大,并且短時(shí)間內(nèi)高QPS導(dǎo)致的,導(dǎo)致服務(wù)內(nèi)存不足,線程堆積或掛起進(jìn)而出現(xiàn)FullGC

元空間問題

使用了大量的反射代碼,Java字節(jié)碼存取器生成的類不斷生成

問題排查

使用jmap分析內(nèi)存泄漏

1.生成dump文件

  1. jmap -dump:format=b,file=/xx/xx/xx.hprof pid 

2.dump文件下載到本地

3.dump文件分析

可以使用MAT,MAT可作為Eclipse插件或一個(gè)獨(dú)立軟件使用,MAT是一個(gè)高性能、具備豐富功能的Java堆內(nèi)存分析工具,主要用來排查內(nèi)存泄漏和內(nèi)存浪費(fèi)的問題。

使用MAT打開上一部后綴名.hprof的dump文件

  • Histogram:直方圖,各個(gè)類的實(shí)例,包括個(gè)數(shù)和大小,可以查看類引用和被引用的路徑。
  • Dominator Tree:支配圖,列出所有線程和線程下面的那些對(duì)象占用的空間。
  • Top Consumers:通過圖形列出消耗內(nèi)存多的實(shí)例。
  • Leak Suspects:MAT自動(dòng)分析的內(nèi)存泄漏報(bào)表

可以用這個(gè)工具分析出什么對(duì)象什么線程占用內(nèi)存空間較大,對(duì)象是被什么引用的,線程內(nèi)有哪些資源占用很高

以運(yùn)行時(shí)常量池溢出為例

打開Histogram類實(shí)例表

Objects是類的對(duì)象的數(shù)量;Shallow是對(duì)象本身占用內(nèi)存大小、不包含其他引用;

Retained是對(duì)象自己的Shallow加上直接或間接訪問到對(duì)象的Shallow之和,也可以說是GC之后可以回收的內(nèi)存總和

從圖中可以看出運(yùn)行時(shí)常量池溢出的情況,產(chǎn)生了大量的String和char[]實(shí)例

在char[]上右鍵可以得到上圖所有char[]對(duì)象的被引用路徑,可以看出這些char數(shù)組都是以String的形式存在ArrayList中,并且是由main這個(gè)線程運(yùn)行的

可以看出是main線程中新建了一個(gè)數(shù)組,其中存了32w+個(gè)長(zhǎng)度為6的char數(shù)組組成的String造成的內(nèi)存溢出

 

關(guān)于MAT的詳細(xì)使用可以從MAT官方教程學(xué)習(xí)更多

 

責(zé)任編輯:武曉燕 來源: 月伴飛魚
相關(guān)推薦

2020-10-29 10:26:28

DevOps軟件自動(dòng)化

2024-09-02 14:24:13

2024-02-21 23:11:19

2023-09-02 21:31:16

Java內(nèi)存泄漏

2020-04-28 18:20:04

Ubuntu 20.0UbuntuLinux

2012-01-16 10:41:25

安全互聯(lián)網(wǎng)IT部門

2011-03-29 10:41:51

Java線程安全

2018-08-23 08:21:54

TensorFlow機(jī)器學(xué)習(xí)人工智能

2011-07-14 14:21:11

2024-07-30 13:48:37

2013-09-17 09:35:15

云存儲(chǔ)

2020-02-27 09:39:42

云安全云計(jì)算網(wǎng)絡(luò)安全

2011-07-18 08:58:24

2018-06-11 11:03:09

2015-03-20 09:22:01

網(wǎng)絡(luò)安全授權(quán)用戶身份訪問管理

2020-11-15 23:29:01

大數(shù)據(jù)安全數(shù)據(jù)安全網(wǎng)絡(luò)攻擊

2012-11-20 10:47:16

2019-02-13 15:49:00

2015-07-15 16:53:55

IP游戲基礎(chǔ)知識(shí)

2017-04-07 16:30:51

Androidstrings.xml原則
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

成人羞羞视频免费| 欧美成人精品一区二区三区| 国产视频在线视频| 米奇777四色精品人人爽| 国产乱人伦偷精品视频免下载| 欧美激情综合色综合啪啪五月| 国产伦精品一区二区三区妓女 | 亚洲美女一区二区三区| 国产精品麻豆免费版| 进去里视频在线观看| 亚洲福利久久| 日韩视频中文字幕| 日本黄色录像片| 91成人app| 色偷偷久久人人79超碰人人澡| 黄黄视频在线观看| 国产高清视频在线播放| 懂色一区二区三区免费观看| 国产精品久久网| 日韩av免费网址| 一区二区三区在线电影| 亚洲日本中文字幕免费在线不卡| 91在线第一页| 草民电影神马电影一区二区| 婷婷综合五月天| 中文字幕中文字幕一区三区| 黄色片在线播放| k8久久久一区二区三区| 5566av亚洲| 国产精品系列视频| 日本午夜精品视频在线观看 | 国产成人精品1024| 国产精品一区二区久久| 精品国产xxx| 国产亚洲综合精品| 国内精品小视频在线观看| 在线看的片片片免费| 欧美一级本道电影免费专区| 亚洲欧美日韩综合| 少妇一级淫免费观看| 97青娱国产盛宴精品视频| 91精品国产综合久久久蜜臀粉嫩 | 国产又粗又长视频| 一本综合精品| 久久久免费av| 日韩xxxxxxxxx| 在线视频观看日韩| 欧美激情网站在线观看| 精品无码久久久久久久| 欧美欧美全黄| 久久久视频精品| 久久精品女人毛片国产| 一区二区视频欧美| 国内精品小视频| 亚洲视频免费播放| 亚洲免费网址| 国产91色在线|免| 无码人妻av一区二区三区波多野| 久久av一区| 国产精品扒开腿做| 曰批又黄又爽免费视频| 老司机精品视频导航| 91精品在线观| 精品国产九九九| 成人app下载| 久久视频在线观看中文字幕| 日本人妖在线| 亚洲国产电影在线观看| 在线国产99| 色女人在线视频| 精品福利在线看| 免费av网址在线| 99久久综合国产精品二区| 欧美日本不卡视频| jjzz黄色片| 日韩啪啪网站| 日韩视频免费中文字幕| 久久久久久久蜜桃| 亚洲男人影院| 成人网在线视频| 蜜臀久久99精品久久久| 91免费看`日韩一区二区| 视频一区视频二区视频| 成人免费看片| 黄色一区二区三区| 色播五月综合网| 第一区第二区在线| 亚洲最大中文字幕| 欧美精品色哟哟| 久久午夜电影| 91视频免费进入| 邻家有女韩剧在线观看国语| 亚洲欧美在线另类| 黄色一级在线视频| 99久久999| 国产丝袜一区二区三区免费视频| 91麻豆精品久久毛片一级| 国模吧视频一区| 国产精品久久久久久亚洲影视| 午夜精品一区二区三| 久久久久久9999| 蜜臀在线免费观看| 九九九伊在线综合永久| 亚洲电影第1页| 国产又黄又粗的视频| 韩国一区二区三区在线观看| 国产精品爽爽爽爽爽爽在线观看| 少妇荡乳情欲办公室456视频| 中文字幕不卡在线观看| 日本午夜激情视频| 国内不卡的一区二区三区中文字幕| 日韩激情视频在线| 妺妺窝人体色www在线下载| 久久中文字幕一区二区三区| 国产精品免费在线| 巨大荫蒂视频欧美大片| 在线视频中文字幕一区二区| 一本加勒比波多野结衣| 欧美一区成人| 国产欧美一区二区三区在线看| 日色在线视频| 亚洲成a人片在线不卡一二三区| 污污的网站免费| 精品亚洲成人| 日韩av片电影专区| 亚洲aⅴ乱码精品成人区| 亚洲乱码一区二区三区在线观看| 一路向西2在线观看| 亚洲影院天堂中文av色| 午夜精品蜜臀一区二区三区免费| av男人天堂网| 亚洲私人黄色宅男| 天天综合网日韩| 欧美日韩中文字幕一区二区三区 | 中文字幕一区二区三区最新 | 成人短视频在线| 精品视频一区二区三区免费| 加勒比一区二区| 欧美综合国产| 欧美在线一区二区三区四区| 在线观看福利电影| 亚洲欧美日韩综合| 四虎影院在线免费播放| 久久精品一区二区三区四区| 成人免费在线小视频| 欧美在线关看| 欧美一区二区色| 免费在线黄色电影| 在线视频欧美精品| 538精品视频| 蜜乳av一区二区| 在线无限看免费粉色视频| 日韩电影精品| 欧美成人性生活| 丰满人妻一区二区三区无码av | 亚洲无码精品在线播放| 国产精品久久久久永久免费观看| 日韩大片一区二区| 999精品在线| 91免费在线视频网站| 99自拍视频在线观看| 日韩午夜激情视频| 国产大片中文字幕| 91网页版在线| 欧美午夜aaaaaa免费视频| 久久免费大视频| 波多野结衣一区二区三区在线观看| xxx.xxx欧美| 亚洲开心激情网| 中文无码av一区二区三区| 中文字幕一区二区三区四区 | 一区二区免费| 26uuu日韩精品一区二区| 激情福利在线| 91精品国产欧美日韩| 国产精品不卡av| 国产亚洲欧美一区在线观看| 一个色综合久久| 亚洲天堂偷拍| 日本一区二区三区四区在线观看| 欧美亚洲黄色| 韩国精品久久久999| 国外av在线| 日韩视频一区二区在线观看| 欧美三级午夜理伦| 亚洲欧洲日韩av| 捆绑裸体绳奴bdsm亚洲| 蜜桃在线一区二区三区| 欧美亚洲黄色片| jiujiure精品视频播放| 亚洲自拍偷拍一区| 日本欧美日韩| 欧美精品久久久久久久久久| 久久99久久| 精品国产乱码久久久久久牛牛| av手机天堂网| 亚洲大尺度视频在线观看| 高清国产在线观看| 成人av午夜影院| 日本黄大片一区二区三区| 亚洲激情av| 综合久久国产| 欧美精品一区二区久久| 国产精品毛片一区视频| 亚洲综合伊人| 国产精彩精品视频| xxxx另类黑人| 久久99久久亚洲国产| 成人精品福利| 亚洲精品狠狠操| 亚洲成人久久精品| 欧美三级韩国三级日本一级| 毛片基地在线观看| 一区二区三区免费| 艳妇荡乳欲伦69影片| 国产亚洲欧美色| 黄瓜视频污在线观看| 国产成人亚洲综合色影视| 四季av一区二区| 老鸭窝亚洲一区二区三区| 人人妻人人澡人人爽欧美一区双| 99视频精品全国免费| 日韩精品无码一区二区三区| 任你躁在线精品免费| 国产高清精品一区二区| 精品久久国产一区| 国产精品网站视频| 丰满少妇一区| 国产精品久久久久高潮| 成人av观看| 91成人在线播放| 精品众筹模特私拍视频| 久久精品国产成人精品| 色综合久久影院| 色噜噜狠狠狠综合曰曰曰| av电影在线观看| 在线观看国产精品日韩av| 成年人免费在线视频| 亚洲片av在线| 成人性生交大片免费看午夜| 亚洲欧美国产制服动漫| 国产综合在线观看| 国产性色av一区二区| 国产福利片在线| 色噜噜国产精品视频一区二区| 777电影在线观看| 中文字幕亚洲国产| 日本视频不卡| 欧美老女人性视频| 免费网站在线观看人| 欧美黑人性生活视频| 91破解版在线观看| 韩国国内大量揄拍精品视频| 都市激情综合| 国产精品三级久久久久久电影| 成人一区视频| 亚洲已满18点击进入在线看片| 国产精品igao视频网网址不卡日韩| 91精品中文在线| 成人另类视频| 农村寡妇一区二区三区| 日本不卡电影| 久久香蕉视频网站| 亚洲一区免费| 久久99爱视频| 国产高清在线观看免费不卡| 日韩Av无码精品| 国产日韩欧美高清在线| 又嫩又硬又黄又爽的视频| 亚洲特黄一级片| 精品无码人妻一区二区三| 一本久久精品一区二区| 中文字幕免费在线看| 日韩视频免费直播| 日韩偷拍自拍| 麻豆成人在线看| 97天天综合网| 国产一区欧美二区三区| 9l视频自拍蝌蚪9l视频成人| 免费观看成人高| 91精品高清| 鲁一鲁一鲁一鲁一色| 久久国内精品自在自线400部| 国产麻豆剧传媒精品国产| 久久久久国产一区二区三区四区| 欧美a级片免费看| 亚洲1区2区3区视频| 在线免费看91| 亚洲国产中文字幕在线观看| 9i精品一二三区| 国内揄拍国内精品少妇国语| 美女视频一区| 精品一区二区三区国产| 久久久久久久久久久妇女| 人妻精品无码一区二区三区 | 亚洲影视中文字幕| 国产va免费精品观看精品视频| 好吊色视频988gao在线观看| 香蕉久久国产| 无码国产69精品久久久久网站| 国产精品久久777777| 国产专区第一页| 精品久久五月天| 免费黄色在线网站| 日本欧美精品在线| 精品国产午夜肉伦伦影院| 一本久道久久综合狠狠爱亚洲精品 | 亚洲免费av观看| 日韩不卡视频在线| 日韩网站在线看片你懂的| 午夜毛片在线| 国产成人短视频| 精品国产一区二区三区成人影院 | 欧美黄色激情| 国产精品福利在线| 天堂俺去俺来也www久久婷婷| 老汉色影院首页| 国产一区美女在线| 少妇一级黄色片| 在线观看一区日韩| 亚洲av成人无码久久精品老人 | 日本免费在线一区| 欧美亚洲一级二级| 一区二区国产在线观看| 国产精品日日摸夜夜爽| 亚洲人成精品久久久久久| 中国黄色一级视频| 夜夜嗨av一区二区三区四区| 最近在线中文字幕| 精品欧美日韩| 99精品免费视频| 国产精品久久久久久亚洲av| 亚洲一区二区av在线| 亚洲a视频在线观看| 欧美日本精品在线| 精品国产麻豆| 五月天激情图片| 粉嫩在线一区二区三区视频| 欧美三级在线免费观看| 欧美一区二区视频观看视频| 久做在线视频免费观看| 亚洲一区二区中文| 欧美精品国产| 中国黄色片视频| 精品久久久免费| 日韩一二三四| 国产精品久久久久久久久| 精品国产午夜| 日本 片 成人 在线| 中文字幕日韩av资源站| 国产女人爽到高潮a毛片| 久久成人av网站| 超碰成人97| 日韩精品视频久久| 国产偷国产偷亚洲高清人白洁| 青青艹在线观看| 久久久国产成人精品| 亚洲一区 二区| 欧美久久在线观看| 久久久一区二区| 亚洲天堂avav| 久久6免费高清热精品| 欧美一级一片| 国产福利影院在线观看| 综合网在线视频| 人妻少妇精品无码专区久久| 日本精品一区二区三区在线| 日本a级不卡| 免费黄色a级片| 在线影院国内精品| 久热国产在线| 鲁鲁狠狠狠7777一区二区| 免费美女久久99| 国产一级特黄视频| 亚洲天堂色网站| 疯狂欧洲av久久成人av电影| 成人一区二区免费视频| 国产调教视频一区| 国产高中女学生第一次| 欧美在线视频免费播放| 婷婷综合视频| av网站免费在线播放| 欧美一区二区网站| 韩日精品一区二区| 久久久久久av无码免费网站下载| 91麻豆视频网站| 国产婷婷一区二区三区久久| 88国产精品欧美一区二区三区| 日韩毛片视频| 亚洲熟女乱综合一区二区三区| 欧美三区在线观看| 精品一性一色一乱农村| 手机看片福利永久国产日韩| 国产精品亚洲午夜一区二区三区| 9i精品福利一区二区三区| 久久在线精品视频| 欧美日韩123| 永久免费未满蜜桃| 欧美日韩一区二区在线观看| 高清在线视频不卡|