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

Java程序員必備基礎結(jié)構圖

開發(fā) 后端
最近看了深入理解Java虛擬機第三版,整理了一些基礎結(jié)構圖,算是比較全的了,做一下筆記,大家一起學習。

前言

最近看了深入理解Java虛擬機第三版,整理了一些基礎結(jié)構圖,算是比較全的了,做一下筆記,大家一起學習。

[[324862]]

1.Java虛擬機運行時數(shù)據(jù)區(qū)圖

JVM內(nèi)存結(jié)構是Java程序員必須掌握的基礎。

程序計數(shù)器

  • 程序計數(shù)器,可以看作當前線程所執(zhí)行的字節(jié)碼的行號指示器
  • 它是線程私有的。

Java虛擬機棧

  • 線程私有的,生命周期與線程相同。
  • 每個方法被執(zhí)行的時候都會創(chuàng)建一個"棧幀",用于存儲局部變量表(包括參數(shù))、操作數(shù)棧、動態(tài)鏈接、方法出口等信息。
  • 局部變量表存放各種基本數(shù)據(jù)類型boolean、byte、char、short等

本地方法棧

  • 與虛擬機棧基本類似,區(qū)別在于虛擬機棧為虛擬機執(zhí)行的java方法服務,而本地方法棧則是為Native方法服務。

Java堆

  • Java堆是java虛擬機所管理的內(nèi)存中最大的一塊內(nèi)存區(qū)域,也是被各個線程共享的內(nèi)存區(qū)域,在JVM啟動時創(chuàng)建。
  • 其大小通過-Xms和-Xmx參數(shù)設置,-Xms為JVM啟動時申請的最小內(nèi)存,-Xmx為JVM可申請的最大內(nèi)存。

方法區(qū)

  • 它用于存儲虛擬機加載的類信息、常量、靜態(tài)變量、是各個線程共享的內(nèi)存區(qū)域。-可以通過-XX:PermSize 和 -XX:MaxPermSize 參數(shù)限制方法區(qū)的大小。

2. 堆的默認分配圖

  • Java堆 = 老年代 + 新生代
  • 新生代 = Eden + S0 + S1
  • 新生代與老年代默認比例的值為 1:2 ,可以通過參數(shù) –XX:NewRatio 配置。
  • 默認的,Eden : from : to = 8 : 1 : 1 ,可以通過參數(shù)–XX:SurvivorRatio 來設定

3.方法區(qū)結(jié)構圖

方法區(qū)是各個線程共享的內(nèi)存區(qū)域,它用于存儲已被虛擬機加載的類型信息、常量、靜態(tài)變量、即時編譯器編譯后的代碼緩存等數(shù)據(jù)。

4.對象的內(nèi)存布局圖

一個Java對象在堆內(nèi)存中包括對象頭、實例數(shù)據(jù)和補齊填充3個部分:

  • 對象頭包括Mark Word(存儲哈希碼,GC分代年齡等) 和 類型指針(對象指向它的類型元數(shù)據(jù)的指針),如果是數(shù)組對象,還有一個保存數(shù)組長度的空間
  • 實例數(shù)據(jù)是對象真正存儲的有效信息,包括了對象的所有成員變量,其大小由各個成員變量的大小共同決定。
  • 對齊填充不是必然存在的,僅僅起占位符的作用。

5.對象頭的Mark Word圖

  • Mark Word 用于存儲對象自身的運行時數(shù)據(jù),如哈希碼(HashCode)、GC分代年齡、鎖狀態(tài)標志、線程持有的鎖、偏向線程 ID、偏向時間戳等。
  • 在32位的HotSpot虛擬機中,如果對象處于未被鎖定的狀態(tài)下,那么Mark Word的32bit空間里的25位用于存儲對象哈希碼,4bit用于存儲對象分代年齡,2bit用于存儲鎖標志位,1bit固定為0,表示非偏向鎖。

6.對象與Monitor關聯(lián)結(jié)構圖

對象是如何跟monitor有關聯(lián)的呢?

一個Java對象在堆內(nèi)存中包括對象頭,對象頭有Mark word,Mark word存儲著鎖狀態(tài),鎖指針指向monitor地址。Synchronized的底層跟這相關哦~

7.Java Monitor的工作機理圖:

Java 線程同步底層就是監(jiān)視鎖Monitor~,如下是Java Monitor的工作機理圖:

  • 想要獲取monitor的線程,首先會進入_EntryList隊列。
  • 當某個線程獲取到對象的monitor后,進入Owner區(qū)域,設置為當前線程,同時計數(shù)器count加1。
  • 如果線程調(diào)用了wait()方法,則會進入WaitSet隊列。它會釋放monitor鎖,即將owner賦值為null,count自減1,進入WaitSet隊列阻塞等待。
  • 如果其他線程調(diào)用 notify() / notifyAll() ,會喚醒WaitSet中的某個線程,該線程再次嘗試獲取monitor鎖,成功即進入Owner區(qū)域。
  • 同步方法執(zhí)行完畢了,線程退出臨界區(qū),會將monitor的owner設為null,并釋放監(jiān)視鎖。。

8.創(chuàng)建一個對象內(nèi)存分配流程圖

  • 對象一般是在Eden區(qū)生成。
  • 如果Eden區(qū)填滿,就會觸發(fā)Young GC。
  • 觸發(fā)Young GC的時候,Eden區(qū)實現(xiàn)清除,沒有被引用的對象直接被清除。
  • 依然存活的對象,會被送到Survivor區(qū),Survivor =S0+S1.
  • 每次Young GC時,存活的對象復制到未使用的那塊Survivor 區(qū),當前正在使用的另外一塊Survivor 區(qū)完全清除,接著交換兩塊Survivor 區(qū)的使用狀態(tài)。
  • 如果Young GC要移送的對象大于Survivor區(qū)上限,對象直接進入老年代。
  • 一個對象不可能一直呆在新生代,如果它經(jīng)過多次GC,依然活著,次數(shù)超過-XX:MaxTenuringThreshold的閥值,它直接進入老年代。簡言之就是,對象經(jīng)歷多次滾滾長江,紅塵世事,終于成為長者(進入老年代)

9.可達性分析算法判定對象存活

可達性分析算法是用來判斷一個對象是否存活的~

算法的核心思想:

  • 通過一系列稱為“GC Roots”的對象作為起始點,從這些節(jié)點開始根據(jù)引用關系向下搜索,搜索走過的路徑稱為“引用鏈”,當一個對象到 GC Roots 沒有任何的引用鏈相連時(從 GC Roots 到這個對象不可達)時,證明此對象不可能再被使用。

10.標記-清除算法示意圖

  • 標記-清除算法是最基礎的垃圾收集算法。
  • 算法分為兩個階段,標記和清除。
  • 首先標記出需要回收的對象,標記完成后,統(tǒng)一回收掉被標記的對象。
  • 當然可以反過來,先標記存活的對象,統(tǒng)一回收未被標記的對象。
  • 標記-清除 兩個缺點是,執(zhí)行效率不穩(wěn)定和內(nèi)存空間的碎片化問題~

11.標記-復制算法示意圖

  • 1969年 Fenichel提出“半?yún)^(qū)復制”,將內(nèi)存容量劃分對等兩塊,每次只使用一塊。當這一塊內(nèi)存用完,將還存活的對象復制到另外一塊,然后把已使用過的內(nèi)存空間一次清理掉~
  • 1989年,Andrew Appel提出“Appel式回收”,把新生代劃分為較大的Eden和兩塊較小的Survivor空間。每次分配內(nèi)存只使用Eden和其中一塊Survivor空間。發(fā)生垃圾收集時,將Eden和Survivor中仍然存活的對象一次性復制到另外一塊Survivor空間上。Eden和Survivor比例是8:1~
  • “半?yún)^(qū)復制”缺點是浪費可用空間,并且,如果對象存活率高的話,復制次數(shù)就會變多,效率也會降低。

12.標記-整理算法示意圖

  • 1974年,Edward 提出“標記-整理”算法,標記過程跟“標記-清除”算法一樣,接著讓所有存活的對象都向內(nèi)存空間一端移動,然后直接清理掉邊界以外的內(nèi)存~
  • 標記-清除算法和標記整理算法本質(zhì)差異是:前者是一種非移動式的回收算法,后者是移動式的回收算法。
  • 是否移動存活對象都存在優(yōu)缺點,移動雖然內(nèi)存回收復雜,但是從程序吞吐量來看,更劃算;不移動時內(nèi)存分配更復雜,但是垃圾收集的停頓時間會更短,所以看收集器取舍問題~
  • Parallel Scavenge收集器是基于標記-整理算法的,因為關注吞吐。CMS收集器是基于標記-清除算法的,因為它關注的是延遲。

13.垃圾收集器組合圖

  • 新生代收集器:Serial、ParNew、Parallel Scavenge
  • 老年代收集器:CMS、Serial Old、Parallel Old
  • 混合收集器:G1

14.類的生命周期圖

一個類從被加載到虛擬機內(nèi)存開始,到卸載出內(nèi)存為止,這個生命周期經(jīng)歷了七個階段:加載、驗證、準備、解析、初始化、使用、卸載。

加載階段:

  • 通過一個類的全限定名來獲取定義此類的二進制字節(jié)流。
  • 將這個字節(jié)流所代表的靜態(tài)存儲結(jié)構轉(zhuǎn)化為方法區(qū)的運行時數(shù)據(jù)結(jié)構。
  • 在內(nèi)存中生成一個代表這個類的java.lang.Class對象,作為方法區(qū)這個類的各種數(shù)據(jù)的訪問入口

驗證:

  • 驗證的目的是確保Class文件的字節(jié)流中包含的信息滿足約束要求,保證這些代碼運行時不會危害虛擬機自身安全
  • 驗證階段有:文件格式校驗、元數(shù)據(jù)校驗、字節(jié)碼校驗、符號引用校驗。

準備

  • 準備階段是正式為類中定義的變量(靜態(tài)變量)分配內(nèi)存并設置類變量初始值的階段。

解析

  • 解析階段是虛擬機將常量池內(nèi)的符號引用替換為直接引用的過程。

初始化

  • 到了初始化階段,才真正開始執(zhí)行類中定義的Java字節(jié)碼。

15.類加載器雙親委派模型圖

雙親委派模型構成

啟動類加載器,擴展類加載器,應用程序類加載器,自定義類加載器

雙親委派模型工作過程是

如果一個類加載器收到類加載的請求,它首先不會自己去嘗試加載這個類,而是把這個請求委派給父類加載器完成。每個類加載器都是如此,只有當父加載器在自己的搜索范圍內(nèi)找不到指定的類時(即ClassNotFoundException),子加載器才會嘗試自己去加載。

為什么需要雙親委派模型?

如果沒有雙親委派,那么用戶是不是可以自己定義一個java.lang.Object的同名類,java.lang.String的同名類,并把它放到ClassPath中,那么類之間的比較結(jié)果及類的唯一性將無法保證,因此,雙親委派模型可以防止內(nèi)存中出現(xiàn)多份同樣的字節(jié)碼。

16.棧幀概念結(jié)構圖

棧幀是用于支持虛擬機進行方法調(diào)用和方法執(zhí)行背后的數(shù)據(jù)結(jié)構。棧幀存儲了方法的局部變量表、操作數(shù)棧、動態(tài)連接和方法返回地址信息。

局部變量表

  • 是一組變量值的存儲空間,用于存放方法參數(shù)和方法內(nèi)部定義的局部變量。
  • 局部變量表的容量以變量槽(Variable Slot)為最小單位。

操作數(shù)棧

  • 操作數(shù)棧,也稱操作棧,是一個后入先出棧。
  • 當一個方法剛剛開始執(zhí)行的時候, 該方法的操作數(shù)棧也是空的, 在方法的執(zhí)行過程中, 會有各種字節(jié)碼指令往操作數(shù)棧中寫入和提取內(nèi)容, 也就是出棧與入棧操作。

動態(tài)連接

  • 每個棧幀都包含一個指向運行時常量池中該棧幀所屬方法的引用, 持有引用是為了支持方法調(diào)用過程中的動態(tài)連接(Dynamic Linking)。

方法返回地址

  • 當一個方法開始執(zhí)行時, 只有兩種方式退出這個方法 。一種是執(zhí)行引擎遇到任意一個方法返回的字節(jié)碼指令。另外一種退出方式是在方法執(zhí)行過程中遇到了異常。

17.Java內(nèi)存模型圖

  • Java內(nèi)存模型規(guī)定了所有的變量都存儲在主內(nèi)存中
  • 每條線程還有自己的工作內(nèi)存
  • 線程的工作內(nèi)存中保存了該線程中是用到的變量的主內(nèi)存副本拷貝
  • 線程對變量的所有操作都必須在工作內(nèi)存中進行,而不能直接讀寫主內(nèi)存。
  • 不同的線程之間也無法直接訪問對方工作內(nèi)存中的變量,線程間變量的傳遞均需要自己的工作內(nèi)存和主存之間進行數(shù)據(jù)同步進行。

18.線程狀態(tài)轉(zhuǎn)換關系圖

Java語言定義了6種線程池狀態(tài):

  • 新建(New):創(chuàng)建后尚未啟動的線程處于這種狀態(tài)
  • 運行(Running):線程開啟 start()方法,會進入該狀態(tài)。
  • 無限等待(Waiting):處于這種狀態(tài)的線程不會被分配處理器執(zhí)行時間,一般 LockSupport::park(),沒有設置了Timeoout的 Object::wait()方法,會讓線程陷入無限等待狀態(tài)。
  • 限期等待(Timed Waiting):處于這種狀態(tài)的線程不會被分配處理器執(zhí)行時間,在一定時間之后他們會由系統(tǒng)自動喚醒。 sleep()方法會進入該狀態(tài)~
  • 阻塞(Blocked):在程序等待進入同步區(qū)域的時候,線程將進入這種狀態(tài)~
  • 結(jié)束(Terminated):已終止線程的線程狀態(tài),線程已經(jīng)結(jié)束執(zhí)行

19. Class文件格式圖

  • u1、u2、u4、u8 分別代表1個字節(jié)、2個字節(jié)、4個字節(jié)和8個字節(jié)的無符號數(shù)
  • 表是由多個無符號數(shù)或者其他表作為數(shù)據(jù)項構成的復合數(shù)據(jù)類型
  • 每個Class文件的頭四個字節(jié)被稱為魔數(shù)(記得以前校招面試,面試官問過我什么叫魔數(shù)。。。)
  • minor和major version表示次版本號,主版本號
  • 緊接著主次版本號之后,是常量池入口,常量池可以比喻為Class文件里的資源倉庫~

20.JVM參數(shù)思維導圖

JVM調(diào)優(yōu)是通往高級開發(fā)的必經(jīng)橋梁,所以好好積累JVM參數(shù)配置哈~

 

責任編輯:華軒 來源: 撿田螺的小男孩
相關推薦

2020-05-09 11:20:02

Java結(jié)構圖虛擬機

2020-01-12 19:10:30

Java程序員數(shù)據(jù)

2009-06-25 09:33:43

Java API程序員

2020-07-20 07:46:01

程序員加簽驗簽

2020-03-16 08:22:11

Java程序員虛擬機

2020-04-20 19:00:30

程序員分布式事務架構

2014-08-15 14:25:48

Android程序員資源

2011-06-11 20:59:12

程序員

2014-08-20 10:28:29

Android

2019-09-25 11:39:07

程序員編程技術

2022-10-24 09:00:47

畫圖工具程序員XMind

2021-05-06 07:04:35

安全漏洞業(yè)務

2009-07-02 15:10:17

Java程序員面試

2015-08-20 14:34:25

程序員java基礎網(wǎng)絡編程

2022-03-17 10:24:28

JavaJVM

2019-07-05 10:45:27

Java程序員編程語言

2020-04-20 11:19:00

Java開發(fā)序列化

2019-07-19 10:04:05

Java程序員Tomcat

2025-06-05 04:11:00

IntelliJIDEA插件

2015-10-29 09:50:36

程序員免費編程圖書
點贊
收藏

51CTO技術棧公眾號

亚洲ⅴ国产v天堂a无码二区| 日韩黄色片视频| 亚洲精品久久久久avwww潮水| 欧美天天视频| 国产午夜精品久久久| 日韩免费高清在线| 91在线中文| 99re成人在线| 成人乱人伦精品视频在线观看| 免费在线观看黄视频| 亚洲调教一区| 国产一区在线视频| 久久久噜噜噜久噜久久| 欧美做受高潮6| aiss精品大尺度系列| 欧美综合一区二区| 黄色片网址在线观看| 色影院视频在线| 成人小视频免费观看| 国产精品久久久久77777| 久久久久成人网站| 91麻豆精品国产91久久久平台| 亚洲国产精品国自产拍av秋霞 | 成在在线免费视频| www.日韩在线| 91精品视频在线看| 天天操天天干天天摸| 悠悠资源网久久精品| 久久久国产91| 国产高清一区二区三区四区| 激情小说亚洲色图| 一区二区三区不卡在线观看| 人禽交欧美网站免费| 嫩草影院一区二区| 国产福利91精品| 成人免费在线视频网站| 中文字幕二区三区| 久久综合中文| 日本91av在线播放| av资源免费观看| 在线不卡亚洲| 欧美激情视频播放| 欧美人妻一区二区| 欧美精品一线| 九九热精品在线| 欧美日韩中文字幕在线观看| 亚洲91中文字幕无线码三区| 中日韩美女免费视频网址在线观看| 最新中文字幕视频| 深爱激情久久| 亚洲香蕉av在线一区二区三区| 欧美 变态 另类 人妖| 粉嫩av一区二区| 欧美性猛交xxxx乱大交3| 欧美乱大交xxxxx潮喷l头像| 狂野欧美性猛交xxxxx视频| 一区二区三区色| 日韩激情视频一区二区| 黑人极品ⅴideos精品欧美棵| 樱桃国产成人精品视频| 今天免费高清在线观看国语| 黄色动漫在线| 一区二区三区国产| 欧美亚洲日本一区二区三区| 福利影院在线看| 色婷婷国产精品久久包臀| www.中文字幕在线| 朝桐光一区二区| 欧美年轻男男videosbes| 午夜免费福利视频在线观看| 欧美高清影院| 欧美一级精品在线| 久久国产劲爆∧v内射| 欧美日韩一区二区三区不卡视频| 日韩精品高清视频| 久久婷婷五月综合| 亚洲二区三区不卡| 国内精品久久影院| 五月天婷婷导航| 另类成人小视频在线| 亚洲free性xxxx护士hd| 欧美综合视频在线| 国产午夜三级一区二区三| 亚洲精品久久区二区三区蜜桃臀 | 97久久精品人搡人人玩| 午夜婷婷在线观看| 精品一区二区三区免费播放| 999视频在线免费观看| 头脑特工队2在线播放| 国产欧美一区二区精品久导航| 国产卡一卡二在线| 一本大道色婷婷在线| 欧美喷潮久久久xxxxx| 日本人dh亚洲人ⅹxx| 久久99国内| 欧美成人精品影院| 日本久久综合网| 国产成人亚洲精品青草天美 | 欧美韩日高清| 午夜精品一区二区三区视频免费看 | 亚洲欧洲精品视频| 成人免费在线视频观看| 国自产拍偷拍精品啪啪一区二区| 国产精品成人国产| 亚洲国产精品一区二区三区| 国产三级精品三级观看| 亚洲每日更新| 欧美肥婆姓交大片| 国产免费www| thepron国产精品| 中文字幕免费高| 欧美成人资源| 亚洲精品在线网站| 国产精品精品软件男同| 天堂蜜桃91精品| 精品国产免费一区二区三区| 麻豆视频在线观看免费| 91黄色免费观看| 中文字幕精品视频在线| 你懂的国产精品| 国产精品午夜视频| 国产一级免费在线观看| 午夜视黄欧洲亚洲| 男人女人拔萝卜视频| 色婷婷色综合| 国产精品成人va在线观看| 天天摸天天干天天操| 一区二区三区不卡在线观看| 日韩av一卡二卡三卡| 不卡中文字幕| 国产精品99久久久久久www| 天天色综合久久| 亚洲成人一区在线| jjzz黄色片| 欧美精品国产| 97人人香蕉| 美女精品导航| 亚洲精品在线三区| 国产精品2020| 不卡av在线免费观看| 日韩精品一区二区在线视频| 久久久久久爱| 欧美大尺度在线观看| 国产欧美一区二区三区视频在线观看| 国产精品日韩成人| 欧美成人三级在线播放| 色135综合网| 国产精品一区电影| 日p在线观看| 欧美精品久久天天躁| 成人免费毛片xxx| 国产一区二区三区综合| 老司机午夜网站| 91成人噜噜噜在线播放| 久久久久久久久久久91| 日韩有码第一页| 欧美日韩亚洲天堂| 欧美18—19性高清hd4k| 麻豆一区二区99久久久久| 在线丝袜欧美日韩制服| 亚洲成a人片777777久久| 久久中国妇女中文字幕| 精品人妻少妇AV无码专区 | 在线视频中文亚洲| 亚洲中文字幕在线一区| 综合久久给合久久狠狠狠97色 | 欧美成人精品xxx| 国产91免费看| 色综合久久久网| 潮喷失禁大喷水aⅴ无码| 激情文学综合丁香| 国产手机免费视频| 国产成+人+综合+亚洲欧美| 中文字幕亚洲精品| 国产91视频在线| 亚洲成av人片一区二区梦乃| 中文字幕av网址| 美女视频黄频大全不卡视频在线播放| 性欧美18一19内谢| 精品日产乱码久久久久久仙踪林| 日本精品在线视频| a天堂中文在线观看| 亚瑟在线精品视频| 精品日韩在线视频| 成人av资源站| 欧美日韩在线观看不卡| 影视亚洲一区二区三区| 九色视频成人porny| yiren22亚洲综合| 欧美激情视频一区二区三区不卡 | 亚洲网址在线观看| 日本91av在线播放| 中文在线观看免费| 亚洲视频第一页| 丰满肉肉bbwwbbww| 91高清视频在线| 精品无码黑人又粗又大又长| 久久久www成人免费毛片麻豆| 精品国产乱码久久久久久1区二区| 亚洲精品美女| 中文字幕在线乱| 啪啪亚洲精品| 国产精品国产精品| 亚洲网站免费| 国产97免费视| www.综合网.com| 久久精品国产亚洲精品| 青青草视频在线观看| 91麻豆精品国产91久久久久久久久 | 午夜精品一区二区三区国产| 蜜桃传媒视频第一区入口在线看| 精品视频一区二区三区在线观看| 国产成人精品一区二区在线| 成人超碰在线| 久热精品视频在线观看一区| 岛国在线视频| 亚洲欧美日韩精品久久亚洲区| 亚洲男人天堂久久| 91精品国产高清一区二区三区蜜臀| 精品人妻一区二区三区免费看| 一区二区三区在线视频免费 | 亚洲一区二区三区小说| 久久国产高清视频| 国产精品午夜免费| 六月婷婷七月丁香| 91在线视频网址| 国产a√精品区二区三区四区| 国产精选一区二区三区| 日本77777| 精品综合免费视频观看| 中文字幕av专区| 日本不卡视频一二三区| 一本久道综合色婷婷五月| 99精品国产在热久久婷婷| 欧美极品少妇无套实战| 一区二区在线| 欧美 国产 精品| 一区二区三区午夜视频| 中文字幕第50页| 欧美va天堂在线| 波多野结衣 作品| 欧美黄色免费| 老子影院午夜伦不卡大全| 欧美日本一区二区高清播放视频| 精品嫩模一区二区三区| 国产精品地址| 男女啪啪免费视频网站| 日韩视频精品在线观看| jizzjizzxxxx| 秋霞电影一区二区| 91视频这里只有精品| 国内成人精品2018免费看| 日本一二三四区视频| 国产成人综合在线观看| 日韩av成人网| 99久久精品国产麻豆演员表| 久久偷拍免费视频| 欧美经典一区二区三区| 在线免费看视频| 亚洲男人的天堂网| 久久精品视频6| 色综合久久天天| 影音先锋黄色网址| 日韩欧美在线观看一区二区三区| 精品人妻一区二区三区四区不卡| 精品国精品国产尤物美女| 天天干天天色天天| 国产香蕉97碰碰久久人人| 在线免费黄色| 欧美激情三级免费| 婷婷六月国产精品久久不卡| 国产精品永久在线| 亚洲视频一起| 欧美一区二区综合| 亚洲久久久久| 波多野结衣乳巨码无在线| 日本成人在线不卡视频| 久久久久亚洲av无码麻豆| 成人性视频网站| 国产成人一区二区在线观看| 亚洲欧美偷拍卡通变态| 青青草免费观看视频| 欧美日本在线一区| 日韩在线一区二区三区四区| 国产一区二区动漫| 国内高清免费在线视频| 日韩免费在线看| 日韩欧洲国产| 欧美乱偷一区二区三区在线| 亚洲精品888| 国产男女激情视频| 国产成人av影院| 国产精品无码无卡无需播放器| 伊人色综合久久天天人手人婷| 欧美一区二区三区网站| 日韩小视频在线观看专区| 黄色av网址在线免费观看| 欧美日韩成人网| 巨胸喷奶水www久久久| 国产一区二区免费在线观看| 青青草国产成人a∨下载安卓| 蜜臀精品一区二区| 国产一区在线观看视频| 久久丫精品忘忧草西安产品| 亚洲一区二区精品久久av| 中文字幕一区二区免费| 亚洲精品福利免费在线观看| 国产在线1区| 国产精品视频精品视频| 日韩动漫一区| 成人免费a级片| 国产综合成人久久大片91| 这里只有久久精品| 午夜亚洲国产au精品一区二区| 国产精品伦一区二区三区| 亚洲人成电影网| 九色porny丨首页入口在线| 亚洲淫片在线视频| 日韩美女一区二区三区在线观看| 欧美 丝袜 自拍 制服 另类| 国产高清久久久| 国产稀缺精品盗摄盗拍| 欧美性xxxxxxxx| 国产在线视频资源| 2020欧美日韩在线视频| 91国内精品| 亚洲熟妇无码av在线播放| 狠狠狠色丁香婷婷综合激情| 九一在线免费观看| 91国产丝袜在线播放| 日本福利午夜视频在线| **欧美日韩vr在线| 另类ts人妖一区二区三区| 欧美无砖专区免费| 国产成人免费视频一区| 欧美黑人一级片| 日韩免费一区二区| v片在线观看| 91久久伊人青青碰碰婷婷| 亚洲精品a级片| 午夜免费福利网站| 亚洲老妇xxxxxx| 精品人妻一区二区三区蜜桃| 欧美日本啪啪无遮挡网站| 中文字幕一区二区三区中文字幕| 黄色录像特级片| 高清成人免费视频| 日韩精品一区三区| 亚洲精品久久久久久久久| 国产自产自拍视频在线观看| 国产综合色一区二区三区| 亚洲综合不卡| 51妺嘿嘿午夜福利| 欧美日韩国产不卡| 大地资源网3页在线观看| 91原创国产| 亚洲激情偷拍| 自拍偷拍亚洲天堂| 欧美探花视频资源| 国产激情小视频在线| 亚洲影视中文字幕| 99re国产精品| 国产sm调教视频| 4438x亚洲最大成人网| 99自拍视频在线观看| 国产精品免费一区二区三区| aa国产精品| 91资源在线播放| 欧美一区二区三区影视| heyzo中文字幕在线| 欧美另类高清视频在线| 韩国一区二区三区| 日韩 欧美 综合| 欧美性猛交xxx| 超碰免费97在线观看| 成人乱色短篇合集| 亚洲精品九九| 激情无码人妻又粗又大| 欧美成人女星排名| 美女100%一区| 不卡中文字幕在线| 成人av电影在线网| 中文在线最新版天堂| 欧美第一黄色网| 国产成人一区| 久久久精品人妻一区二区三区| 欧美日韩国产在线| 日韩大片在线永久免费观看网站| 99国精产品一二二线| 噜噜噜91成人网| 九九久久免费视频| 亚洲无亚洲人成网站77777| 欧美经典影片视频网站| 成人羞羞国产免费网站| 一区二区在线观看视频| 电影在线高清| 国产综合 伊人色| 国产精品资源在线看| 久久国产视频精品| 久久6免费高清热精品|