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

Java虛擬機之對象存活判斷與垃圾回收算法

云計算 虛擬化 算法
對于java程序員來說,多少聽過GC、垃圾回收機制這些名詞。不過到底什么是垃圾回收,哪些是垃圾,怎么進行回收呢?本文將會給出答案。

 [[323332]]

本文主要教書在java虛擬機垃圾回收機制中,如何判斷對象是否存活和圖解垃圾回收算法。

java虛擬機——對象存活判斷與垃圾回收算法

一、概述

對于java程序員來說,多少聽過GC、垃圾回收機制這些名詞。不過到底什么是垃圾回收,哪些是垃圾,怎么進行回收呢?本文將會給出答案。

二、垃圾回收機制

垃圾回收(英語:Garbage Collection,縮寫為GC),在計算機科學中是一種自動的存儲器管理機制。當一個計算機上的動態存儲器不再需要時,就應該予以釋放,以讓出存儲器,這種存儲器資源管理,稱為垃圾回收。

java虛擬機——對象存活判斷與垃圾回收算法

為了方便大家理解,我就畫了一個形象的圖,一家飯店有好多桌子(連續的內存區域),顧客(對象)來店里吔飯,但是這些顧客很社會,自己不會吃完了就走,得讓店家往外面趕。以前是老板娘來干這活(手動釋放內存),現在引進了吃完飯滾蛋機器人(垃圾回收機制)來叫吃完的顧客滾蛋。

產生:首先,垃圾回收并不是java的伴生產物。最早使用垃圾回收的語言是1960年誕生的Lisp,垃圾回收器的目的是減輕程序員的負擔,同時也減少程序員犯錯的機會。現在,經過半個多世紀的發展,目前垃圾回收技術已經相當成熟,并且大多數語言都支持垃圾回收,例如Python、Erlang、C#、Java等。

為什么要了解GC和內存分配?

當我們需要排查各種內存泄漏、內存溢出,當垃圾收集成為系統達到高并發的瓶頸時,就需要對這種自動化技術進行監督和調節。(吃完飯滾蛋機器人也不是萬能的,也需要老板娘來調節機器人參數)

三、哪些內存需要回收

首先,我們知道程序計數器、虛擬機棧、本地方法棧這三個區域是線程私有的,它們是與線程同生共死的;棧幀是伴隨著方法執行進棧,方法結束出棧,在類結構確定后,每個棧幀占多大內存基本確定。所以這幾個區域并不需要進行管理。

然后,java堆和方法區是內存共享的,一個接口有多個實現類,不同的類需要的內存可能不同,一個方法的不同的分支需要的內存可能不同。我們只有在系統運行時才能確定需要創建哪些對象,這里是垃圾回收器的主戰場。

垃圾收集策略

引用計數算法(Reference Counting)

給對象添加一個計數器,每當一個地方引用它時,計數器就加1,引用失效是就減1。當計數器為0時,這個對象就不會就不會再被使用了——對象死亡。

引用計數算法實現容易,效率很不錯,在Python、Ruby等語言都使用了這種算法。但是主流java虛擬機并沒有使用這種算法來管理內存,因為無法解決對象的循環引用問題。

  1. public class ReferenceCounting { 
  2.  public static void main(String[] args) { 
  3.  Dog dog1 = new Dog(); 
  4.  Dog dog2 = new Dog(); 
  5.  // 狗1和狗2對象之間互相引用 
  6.  dog1.setSon(dog2); 
  7.  dog2.setSon(dog1); 
  8.  // 將兩個對象的引用設置為空 
  9.  dog1 = null
  10.  dog2 = null
  11.  System.gc(); 
  12.  } 
  13. class Dog { 
  14.  private Dog son; 
  15.  public Dog getSon() { 
  16.  return son; 
  17.  } 
  18.  public void setSon(Dog son) { 
  19.  this.son = son; 
  20.  } 

在啟動參數里設置-XX:+PrintGCDetails這個參數,打印日志

  1. [GC 7926K->480K(502784K), 0.0023280 secs] 
  2. [Full GC 480K->316K(502784K), 0.0098820 secs] 

可已清楚的看到盡管兩個對象互相引用,但仍被回收,所以hotspot并不是引用計數算法算法。

跟蹤收集器(Tracing garbage collection)

目前主流的虛擬機java、C#都是使用Tracing garbage collection來判斷對象是否存活的,以致于當人們提到垃圾回收時就會想到Tracing garbage collection。

基本思想:定義一些GC Roots的對象為起始點,追蹤對象是否能通過一個引用鏈(a chain of references )達到這些確定的GC Roots對象上,那些無法達到這些跟對象(root object)的對象將被視為已死亡。這種算法實際實現會復雜多變。

java虛擬機——對象存活判斷與垃圾回收算法

開始畫圖,現在我們設置GC Roots,有面的碗和點菜單。那些碗里是空的在點菜單上還沒名字的人會被標記為綠色,存活下來的有,左上角碗里有面的人,等上面的非單身狗,整整齊齊一家人雖然左右兩個都是空面,點菜單上也沒有,但是缺被中間的人引用,而中間的人恰好碗里有面!這就是“追蹤吃完飯不走的人方法”。

在java中,會設置如下對象為GC Roots:

  • 虛擬機棧(棧幀的本地變量表)中引用的對象:也就是局部變量引用的對象
  • 方法區中類靜態屬性引用的對象:public static Dog dog= new Dog();
  • 方法區中常量引用對象:public static final HashMap map = new HashMap();
  • 本地方法棧JNI中引用的對象。

可達性分析算法(Reachability analysis):

如果大家讀過周志明老師的深入了解java虛擬機一定會知道可達性分析這個名詞,也就是這里的Tracing garbage collection。開始我以為是兩種不同的叫法,不過我使用google搜索Reachability analysis時并每有找到和垃圾回收相關的信息,百度查到的可達性分析算法基本全部出自深入了解java虛擬機wiki百科里對可達性分析的描述是用于確定分布式系統可以達到全局狀態。而java的垃圾回收策略是Tracing garbage collection。所以我懷疑可能是深入了解java虛擬機用錯了名詞。

逃逸分析(Escape analysis)

逃逸分析將對象堆上分配(heap allocations)轉到棧上分配(Stack allocations),從而減少很多垃圾回收的工作。在編譯時判定在函數內分配的對象是否被外部方法或線程調用,如果沒有則會將對象分配到棧中,減少垃圾回收工作。

引用

在jdk1.2之后,java對引用的概念進行了擴充,將引用分為了強引用(Strong Reference)、軟引用(Soft Reference)、弱引用(Weak Reference)、虛引用(Phantom Reference)四種。

  • 強引用就是指在程序代碼之中普遍存在的,類似”Object obj = new Object()”這類的引用,只要強引用還存在,垃圾收集器永遠不會回收掉被引用的對象
  • 軟引用是用來描述一些還有用但并非必需的對象,對于軟引用關聯著的對象,在系統將要發生內存溢出異常之前,將會把這些對象列進回收范圍進行第二次回收。如果這次回收還沒有足夠的內存,才會拋出內存溢出異常。在JDK1.2之后,提供了SoftReference類來實現軟引用
  • 弱引用也是用來描述非必需對象的,但是它的強度比軟引用更弱一些,被弱引用關聯的對象,只能生存到下一次垃圾收集發生之前。當垃圾收集器工作時,無論當前內存是否足夠,都會回收掉只被弱引用關聯的對象。在JDK1.2之后,提供了WeakReference類來實現弱引用
  • 虛引用也成為幽靈引用或者幻影引用,它是最弱的一中引用關系。一個對象是否有虛引用的存在,完全不會對其生存時間構成影響,也無法通過虛引用來取得一個對象實例。為一個對象設置虛引用關聯的唯一目的就是能在這個對象被收集器回收時收到一個系統通知。在JDK1.2之后,提供給了PhantomReference類來實現虛引用

一個可以被遺忘的關鍵字——finalize

當一個決定一個對象是否需要被回收時需要經歷兩個標記過程。第一次是追蹤對象是否與GC Roots相連,如果沒有進行標記,第二次是判斷對象未重寫finalize方法,或者finalize方法已經被調用過,此時對象徹底死亡。

finalize方法如果重寫且未被調用會將對象放到一個低優先級甚至不執行的隊列F-Queue中,之后調用對象的finalize方法,如果在方法中對象被GC Roots引用,對象自救成功。但是F-Queue可能不會執行,所以這種子救方法并這可靠。有些教程推薦finallize來釋放資源,那為什么不用try-finally來做呢?

這個關鍵字可以忘記了。

四、垃圾收集算法

標記-清除(Mark-Sweep)算法

標記清除算法包括兩個階段,首先標記出需要回收的對象(標記方法就在上面),在標記完成后,統一回收所有被標記的對象。標記清楚算法是一所有垃圾回收算法的基礎,后續算法都是根據其不足進行改新。

缺點:

  • 效率低,標記和清除兩個過程效率都不高;
  • 空間零碎,標記清楚之后會產生大量吧連續的內存碎片,空間碎片太多,當有大對象需要分配空間時會提前觸發gc。
java虛擬機——對象存活判斷與垃圾回收算法

空桌子是未使用的內存,被綠色標記的是可以清除的對象,這是清除前的狀態,整整齊齊一家人是比較大的對象需要占據連續的區域。

java虛擬機——對象存活判斷與垃圾回收算法

這是清除之后的狀態,內存碎片太多,當分配比較大的整整齊齊一家人時就會提前觸發新的GC。

復制(Copying)算法

為了解決效率問題,出現了復制算法,可以將內存劃分為大小相等的兩塊,每次只使用其中一塊,當這塊內存用完將存活的對象復制到另一塊內存上去,將使用過的內存一次清除掉。這種算法效率高,但太浪費空間。

java虛擬機——對象存活判斷與垃圾回收算法

如上圖所示,現在使用下半部分內存。當清理時把未被標記的復制到上面的內存,然后一次清除下半部分內存。

java虛擬機——對象存活判斷與垃圾回收算法

現在商業虛擬機大多都采用這種算法來回收新生代。但并不是按照1:1來分配內存的,因為IBM做過專門研究,在新生代中對象98%都是朝生幕死的。

將內存劃分為一塊較大的Eden空間和兩塊較小的Survivor空間。每次使用Eden和其中一塊Survivor,回收時將存活的對象復制到另一塊Survivor中,清除Eden和被使用的Survivor。一般Eden,Survivor1,Survivor2比例為8:1:1,這樣只有10%的內存會被浪費。

這里如果將Eden翻譯為伊甸,對象出生的地方,Survivor幸存者,回收后幸存的對象,會比較好理解吧。

如果回收后對象對象真的超過了10%,Survivor空間不夠時,需要依賴其他內存(老年代)進行分配擔保(Handle Promotion)。

標記整理算法

復制收集算法并不適用于對象存活率較高的情況。當對象存活過多,需要復制的對象就會變多,效率將會下降。而且如果不想浪費50%的空間,就需要利用額外的空間進行分配擔保,所以老年代并不適用這種算法。

根據老年代的特點,有人提出的標記整理算法,將對象標記后,會將存活的對象都向一端移動,然后直接清楚掉邊界以外的內存。

java虛擬機——對象存活判斷與垃圾回收算法

這個是回收之前

java虛擬機——對象存活判斷與垃圾回收算法

這個是回收之后

分代收集算法

這種算法是指根據對象的存活周期將內存劃分為幾塊,一般是把java堆分為新生代和老年代。對于每次垃圾收集都有大量對象死亡的新生代,采用復制算法;對于存活代高,又沒有額外空間擔保的老年代采用標記-清楚或標記-清理算法。

增量收集器

序將所擁有的內存空間分成若干分區。程序運行所需的存儲對象會分布在這些分區中,每次只對其中一個分區進行回收操作,從而避免程序全部運行線程暫停來進行回收,允許部分線程在不影響回收行為而保持運行,并且降低回收時間,增加程序響應速度。

五、總結

本文介紹了什么是垃圾回收,java虛擬機的垃圾回收策略,包括引用計數法、追蹤垃圾回收和逃逸分析,又用飯店的形式介紹了幾種垃圾回收算法,包括標記-清除、復制算法、標記-整理算法。

原文:https://icdream.github.io/2019/01/10/jvm03/

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2012-08-06 09:26:19

Java虛擬機垃圾回收

2017-08-04 10:53:30

回收算法JVM垃圾回收器

2010-12-13 11:14:04

Java垃圾回收算法

2022-01-20 10:34:49

JVM垃圾回收算法

2022-03-21 11:33:11

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

2023-05-10 11:16:01

Java虛擬機對象

2021-11-05 15:23:20

JVM回收算法

2011-12-28 13:24:47

JavaJVM

2021-02-04 10:43:52

開發技能代碼

2014-12-19 11:07:40

Java

2021-01-04 10:08:07

垃圾回收Java虛擬機

2011-05-26 15:41:25

java虛擬機

2021-10-05 20:29:55

JVM垃圾回收器

2022-06-10 07:13:29

JVM垃圾回收

2022-01-25 09:15:39

V8垃圾回收算法

2015-08-20 11:01:22

Java虛擬機GC算法種類

2010-09-25 15:13:40

JVMJava虛擬機

2012-12-18 13:57:42

.NetC#

2021-07-30 07:22:51

JVM虛擬機棧 Stack

2009-12-25 16:15:31

JVM垃圾回收算法
點贊
收藏

51CTO技術棧公眾號

亚洲永久视频| 五月天色综合| 国产亚洲污的网站| 91精品国产综合久久男男| 中文字幕手机在线观看| 大奶在线精品| 欧美三级三级三级爽爽爽| 亚洲精品天堂成人片av在线播放| 空姐吹箫视频大全| 视频一区二区欧美| 欧美激情中文网| 99久久久无码国产精品衣服| 日韩欧美久久| 欧美视频第二页| 日韩人妻无码精品久久久不卡| 久久视频www| 国产精品自拍网站| 日韩美女在线观看一区| 丰满少妇高潮久久三区| 欧美三级情趣内衣| 亚洲精品www| 亚洲一区二区三区四区精品| 日本高清不卡一区二区三区视频 | 国产熟妇久久777777| 亚洲美女色播| 在线欧美小视频| 成人精品视频在线播放| av在线app| 国产女人18水真多18精品一级做| 国产亚洲福利社区| 国产jzjzjz丝袜老师水多| 日本欧美在线观看| 欧美又大又粗又长| 精品视频在线观看免费| 国产韩日影视精品| 亚洲天堂网在线观看| 精品视频站长推荐| 一区二区免费| 欧美日本国产一区| 日本爱爱免费视频| 欧美xxx性| 色综合天天综合色综合av| 17c丨国产丨精品视频| 国产高清一区二区三区视频| 中文字幕欧美日本乱码一线二线 | 午夜国产在线观看| 成人综合婷婷国产精品久久免费| 91传媒视频免费| 国产精品天天操| 久久成人综合网| 国产欧美日韩中文字幕| 中文字幕免费播放| 日本欧美一区二区在线观看| 国产99视频在线观看| 日韩久久中文字幕| 久久人人97超碰国产公开结果| 2019中文字幕在线观看| 亚洲va在线观看| 久久久久久夜| 国产精品久久久久久久久久99| 香蕉污视频在线观看| 日韩高清欧美激情| 国产精品一区二区久久国产| 中文字幕在线播出| 久久99精品国产麻豆不卡| 成人网中文字幕| 国产男男gay体育生网站| 国产在线精品一区在线观看麻豆| 成人午夜在线视频一区| 国产绳艺sm调教室论坛| 国产精品一品二品| 国产亚洲欧美一区二区 | 日韩中文字幕在线视频播放| 男人av资源站| 好看的日韩av电影| 5566成人精品视频免费| 精品久久久久久久久久久久久久久久久久 | www.亚洲人| 欧美13一14另类| 在线观看a视频| 亚洲精品第一国产综合野| 日韩亚洲欧美视频| 国产精品videossex撒尿| 欧美男男青年gay1069videost | 五月婷婷激情五月| 国产在线国偷精品产拍免费yy| 成人毛片网站| 可以直接在线观看的av| 亚洲欧美一区二区久久| 国产精品333| 国产91在线播放精品| 日韩欧美你懂的| mm131美女视频| 亚洲高清影视| 91精品国产自产91精品| 亚洲特级黄色片| 丁香激情综合国产| 三区精品视频观看| 福利网站在线观看| 欧美视频日韩视频| 欧美精品欧美极品欧美激情| 国产精品毛片久久| 91高潮精品免费porn| 国产精品国产一区二区三区四区| 99视频精品免费视频| a级黄色片网站| 在线观看特色大片免费视频| 91精品国产手机| 中字幕一区二区三区乱码| 欧美99久久| 国产精品日韩在线观看| 日本精品999| 亚洲少妇30p| 搡女人真爽免费午夜网站| 综合中文字幕| 久久国内精品一国内精品| 欧美精品一二三四区| 国产风韵犹存在线视精品| 日韩欧美在线一区二区| av日韩中文| 欧美一区二区三区在线| 极品蜜桃臀肥臀-x88av| 亚洲综合日韩| 国产一区二区高清不卡| 97超碰在线公开在线看免费| 欧美主播一区二区三区| jizz欧美性20| 亚洲国产日韩欧美一区二区三区| 91亚洲永久免费精品| av电影在线观看一区二区三区| 欧美视频免费在线| 黄色av网址在线观看| 综合一区二区三区| 91欧美精品成人综合在线观看| 国产美女视频一区二区三区| 天天影视色香欲综合网老头| 国产一级免费片| 午夜精品网站| 91九色视频在线观看| 精品176二区| 91精品久久久久久久久99蜜臂| 国产99在线 | 亚洲| 日韩成人免费在线| 欧美日韩一区二区视频在线观看| 欧美男男tv网站在线播放| 亚洲精品久久久久| a v视频在线观看| av资源网一区| 国产美女无遮挡网站| 天海翼精品一区二区三区| 97超碰国产精品女人人人爽| 欧性猛交ⅹxxx乱大交| 亚洲国产成人va在线观看天堂| 国内自拍偷拍视频| 在线精品在线| 久久精品国产第一区二区三区最新章节| av色在线观看| 亚洲精品福利在线| 久久艹免费视频| 久久精品人人做人人爽人人| 乌克兰美女av| 久久久久久美女精品| av一区二区三区免费| 暧暧视频在线免费观看| 日韩av中文在线| 精品国产乱子伦| 国产精品理论在线观看| 97超碰免费在线观看| 激情久久婷婷| 欧美福利精品| 久久精品资源| 九色精品美女在线| 三级国产在线观看| 欧美日韩一卡二卡| 538任你躁在线精品视频网站| 国产91富婆露脸刺激对白| 久久这里只有精品23| 蜜桃一区二区三区| 91久久综合亚洲鲁鲁五月天| 欧洲精品二区| 国产一区二区三区欧美| 国产美女永久免费| 亚洲国产精品久久一线不卡| a天堂中文字幕| 国产精品夜夜爽| 欧美变态另类刺激| 日韩精品免费一区二区三区| 岛国一区二区三区高清视频| 天天综合网站| 欧美乱妇高清无乱码| 头脑特工队2在线播放| 欧美日韩亚洲国产综合| 一区二区三区免费高清视频| 久久精品人人做人人综合 | 伊人久久国产精品| 亚洲午夜免费电影| 综合 欧美 亚洲日本| 高清不卡在线观看| 一路向西2在线观看| 精品999日本| 一区二区不卡在线观看| 欧美大奶一区二区| 91九色单男在线观看| 天堂av在线网| 欧美精品日韩三级| 国产一级二级三级在线观看| 欧美变态tickle挠乳网站| 欧美人一级淫片a免费播放| 一区二区三区不卡视频在线观看| 久久国产柳州莫菁门| av影院午夜一区| 日本女人黄色片| 免费人成黄页网站在线一区二区| 国产女教师bbwbbwbbw| 日韩大片在线观看| 青娱乐国产91| 精品国产导航| 91一区二区三区| 亚洲伊人精品酒店| 国产99久久精品一区二区| 91破解版在线观看| 久久成人免费视频| 91在线导航| 在线观看欧美日韩| 美丽的姑娘在线观看免费动漫| 欧美v国产在线一区二区三区| 91在线观看喷潮| 欧美一a一片一级一片| 国产精品21p| 天天影视网天天综合色在线播放 | 色网站免费在线观看| 亚洲视频免费一区| 每日更新在线观看av| 日韩风俗一区 二区| 人人妻人人澡人人爽久久av| 欧美成人官网二区| 粉嫩小泬无遮挡久久久久久| 欧美一级欧美三级| 国产偷拍一区二区| 欧美一区日本一区韩国一区| 国产视频一区二区三区四区五区| 欧美日本一区二区三区四区| 亚洲天堂网视频| 欧美视频一区二区三区在线观看 | 三区精品视频观看| 欧美日韩一二三四| 午夜久久资源| 久久中文视频| 正在播放91九色| 91精品综合| 日韩a级黄色片| 亚洲婷婷在线| 极品美女扒开粉嫩小泬| 亚洲精一区二区三区| 国产成人黄色片| 久久一综合视频| 五月婷婷六月合| 国产在线精品免费| 中文字幕在线国产| 91天堂素人约啪| 国产性猛交xx乱| 亚洲欧美一区二区三区国产精品| 日韩女优一区二区| 亚洲h动漫在线| 人人爽人人爽人人片av| 欧亚一区二区三区| 国产乱叫456在线| 精品国产乱码久久久久久免费 | 成人性生交大片免费看中文视频| 国产在线一区二区三区四区| 日韩理论电影中文字幕| 日韩精品国内| 亚洲九九在线| 亚洲人成无码网站久久99热国产| 亚洲中字在线| 亚洲免费黄色网| 国产91丝袜在线18| 99久久人妻无码精品系列| 国产欧美日韩视频一区二区| 美女福利视频在线观看| 亚瑟在线精品视频| 最新中文字幕在线观看视频| 欧美一区二区三区电影| 三区在线视频| 久久天天躁日日躁| 僵尸再翻生在线观看| 国产日韩欧美在线视频观看| 激情小说一区| 宅男一区二区三区| 国产精品一国产精品k频道56| 欧美日韩一区二区三区69堂| 成人一区二区三区视频在线观看| 性の欲びの女javhd| 亚洲一二三四在线| 中文字幕精品一区二区精| 精品国产伦一区二区三区观看体验| 黄色片在线免费观看| 久久99久久亚洲国产| 日韩不卡在线| 国产一区二区三区四区hd| 日韩激情图片| 六月丁香婷婷在线| 国产成人aaa| 国产精品一区二区亚洲| 日韩欧美国产免费播放| 精品人妻一区二区三区含羞草 | 久久99九九| 中文字幕乱码亚洲无线精品一区 | av毛片久久久久**hd| 疯狂撞击丝袜人妻| 91久久精品午夜一区二区| 亚洲国产成人在线观看| www.日韩不卡电影av| 欧美三区四区| 久久久久久久久一区| 欧美日韩精品一本二本三本 | 亚洲国产成人私人影院tom| 久久久精品视频免费| 欧美一区二区三区人| 天堂资源在线中文| 国产精品久久久91| 自拍欧美一区| 成熟了的熟妇毛茸茸| 福利一区福利二区| 69xx绿帽三人行| 正在播放亚洲一区| 尤物网址在线观看| 国产精品jvid在线观看蜜臀| 一本色道久久综合亚洲精品酒店| 成人区一区二区| 国产一区二区三区在线观看免费| 国产第一页精品| 91福利在线观看| 国产大片在线免费观看| 国产精品99久久久久久久久久久久| 免费成人三级| 免费 成 人 黄 色| 不卡在线视频中文字幕| 国产在线精品观看| 亚洲成色777777女色窝| 欧美xxxx做受欧美88bbw| 91久久偷偷做嫩草影院| 国产精品a级| 白丝校花扒腿让我c| 亚洲国产精品人人做人人爽| 黄色片一区二区| 久久久久久亚洲精品| 国产欧美一区二区三区米奇| 日韩国产一级片| aaa国产一区| 你懂的国产在线| 亚洲视屏在线播放| 国产精品第一| 久久久久久久久影视| 国产成人在线观看| 久久久久久久99| 亚洲欧美国产高清va在线播| 姬川优奈av一区二区在线电影| 日产精品久久久一区二区| 美女一区二区久久| 九九热最新地址| 精品国产亚洲一区二区三区在线观看| 国产传媒在线观看| 日韩视频精品| 国产一区二区三区四| 国产在线免费视频| 日韩精品视频在线观看免费| 日韩欧美一区二区三区在线观看| 亚欧洲精品在线视频免费观看| 国产专区欧美精品| www.99re7.com| 亚洲网站在线播放| 精品一区二区三区亚洲| 缅甸午夜性猛交xxxx| 国产亚洲欧美色| 国产女人高潮时对白| 97精品国产97久久久久久春色| 在线一级成人| 国产美女18xxxx免费视频| 亚洲一二三四在线| 高清福利在线观看| 亚洲综合色av| 久久视频一区| 男人操女人的视频网站| 亚洲精品国产品国语在线| 精品久久99| 成人免费观看cn| 中国色在线观看另类| 亚洲a视频在线观看| 国产精品96久久久久久| 国产一区日韩欧美| 天堂资源在线视频| 亚洲а∨天堂久久精品9966| av成人在线看| 黄网站欧美内射| 一色桃子久久精品亚洲| 艳母动漫在线看| 亚洲aⅴ男人的天堂在线观看| 久久成人精品| 精品无码黑人又粗又大又长|