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

面試必問的 JVM 運行時數據區,你懂了嗎?

云計算 虛擬化
Java 虛擬機的運行時數據區經常在面試中被拿來提問,很多概念在市面上有各種各樣的說法,搞的不少同學應該是懵逼的。

[[411100]]

前言

Java 虛擬機的運行時數據區經常在面試中被拿來提問,很多概念在市面上有各種各樣的說法,搞的不少同學應該是懵逼的。

當我們陷入不知道哪個說法是正確的情況時,最好的參考就是源碼和規范。

在面試中,當面試官反問你:為什么某某是這樣?的時候,如果你回答:因為規范是這么寫的、因為源碼是這么寫的。

這個回答是非常有說服力的。

因此,本文在描述一些有爭議的問題上,優先以《Java 虛擬機規范》的說法為準。

正文

1、運行時數據區(Run-Time Data Areas)

Java 虛擬機定義了若干種在程序執行期間會使用到的運行時數據區域。

其中一些數據區域在 Java 虛擬機啟動時被創建,隨著虛擬機退出而銷毀。也就是線程間共享的區域:堆、方法區、運行時常量池。

另外一些數據區域是按線程劃分的,這些數據區域在線程創建時創建,在線程退出時銷毀。也就是線程間隔離的區域:程序計數器、Java虛擬機棧、本地方法棧。

1)程序計數器(Program Counter Register)

Java 虛擬機可以支持多個線程同時執行,每個線程都有自己的程序計數器。在任何時刻,每個線程都只會執行一個方法的代碼,這個方法稱為該線程的當前方法(current method)。

如果線程正在執行的是 Java 方法(不是 native 的),則程序計數器記錄的是正在執行的 Java 虛擬機字節碼指令的地址。如果正在執行的是本地(native)方法,那么計數器的值是空的(undefined)。

2)Java虛擬機棧(Java Virtual Machine Stacks)

每個 Java 虛擬機線程都有自己私有的 Java 虛擬機棧,它與線程同時創建,用于存儲棧幀。

Java 虛擬機棧描述的是 Java 方法執行的內存模型:每個方法在執行的同時都會創建一個棧幀用于存儲局部變量表、操作數棧、動態鏈接、方法出口等信息。

每一個方法從調用直至執行完成的過程,就對應著一個棧幀在虛擬機棧中入棧到出棧的過程。

3)本地方法棧(Native Method Stacks)

本地方法棧與 Java 虛擬機棧所發揮的作用是非常相似的,它們之間的區別不過是 Java 虛擬機棧為虛擬機執行 Java方法(也就是字節碼)服務,而本地方法棧則為虛擬機使用到的本地(Native)方法服務。

4)堆(Heap)

堆是被各個線程共享的運行時內存區域,也是供所有類實例和數組對象分配內存的區域。

堆在虛擬機啟動時創建,堆存儲的對象不會被顯示釋放,而是由垃圾收集器進行統一管理和回收。

5)方法區(Method Area)

方法區是被各個線程共享的運行時內存區域。方法區類似于傳統語言的編譯代碼的存儲區。它存儲了每一個類的結構信息,例如:運行時常量池、字段和方法數據,構造函數和普通方法的字節碼內容,還包括一些用于類、實例、接口初始化用到的特殊方法。

6)運行時常量池(Run-Time Constant Pool)

運行時常量池是 class 文件中每一個類或接口的常量池表(constant_pool table)的運行時表示形式。

它包含了若干種常量,從編譯時已知的數值字面量到必須在運行時解析后才能獲得的方法和字段引用。運行時常量池的功能類似于傳統編程語言的符號表(symbol table),不過它包含的數據范圍比通常意義上的符號表要更為廣泛。

2、Java 中有哪幾種常量池?

現在我們經常提到的常量池主要有三種:class 文件常量池、運行時常量池、字符串常量池。

3、class 文件常量池

class 文件常量池(class constant pool)屬于 class 文件的其中一項,class 類文件包含:魔數、類的版本、常量池、訪問標志、字段表集合、方發表等信息。

常量池用于存放編譯期間生成的各種字面量(Literal)和符號引用(Symbolic References)。

字面量比較接近于Java語言層面的常量概念,如文本字符串、聲明為 final 的常量值等。

符號引用則屬于編譯原理方面的概念。符號引用是一組符號來描述所引用的目標,符號可以是任何形式的字面量,只要使用時能無歧義地定位到目標即可(它與直接引用區分,直接引用一般是指向方法區的本地指針,相對偏移量或是一個能間接定位到目標的句柄)。符號引用主要包括下面幾類常量:

  • 被模塊導出或開放的包(Package)
  • 類和接口的全限定名(Fully Qualified Name)
  • 字段的名稱和描述符(Descriptor)

常量池中每一項常量都是一個表,截至JDK 13,常量表中分別有17種不同類型的常量。17種常量類型所代表的具體含義如圖所示。

關于 class 文件常量池的更多內容可以閱讀周志明的《深入理解Java虛擬機》6.3.2 章節。

4、運行時常量池

class 文件常量池是在類被編譯成 class 文件時生成的。而當類被加載到內存中后,JVM 就會將 class 文件常量池中的內容存放到運行時常量池中。

Java 虛擬機規范中對運行時常量池的定義如下:

A run-time constant pool is a per-class or per-interface run-time representation of the constant_pool table in a class file.

運行時常量池是 class 文件中每一個類或接口的常量池表(constant_pool table)的運行時表示形式。

因此,根據規范定義,可以說運行時常量池是 class 文件常量池的運行時表示,每個類在運行時都有自己的一個獨立的運行時常量池。

5、字符串常量池

簡單來說,HotSpot VM 里的字符串常量池(StringTable)是個哈希表,全局只有一份,被所有的類共享。

StringTable 具體存儲的是 String 對象的引用,而不是 String 對象實例自身。String 對象實例在 JDK 6 及之前是在永久代里,從JDK 7 開始放在堆里。

根據 Java 虛擬機規范的定義,堆是存儲 Java 對象的地方,其他地方是不會有 Java 對象實體的,如果有的話,根據規范定義,這些地方也要算堆的一部分。

6、字符串常量池是否屬于方法區?

我認為是不屬于的。

在讀本文之前,我相信很多同學會有如下觀點:因為運行時常量池屬于方法區,所以很多同學認為字符串常量池也應該屬于方法區。

但是相信看了上面的內容后,會開始意識到,運行時常量池和字符串常量池其實是不同的兩個東西,當然它們在字符串解析時會有關聯。

Java 虛擬機規范中對方法區的定義如下:

The Java Virtual Machine has a method area that is shared among all Java Virtual Machine threads. The method area is analogous to the storage area for compiled code of a conventional language or analogous to the "text" segment in an operating system process. It stores per-class structures such as the run-time constant pool, field and method data, and the code for methods and constructors, including the special methods (§2.9) used in class and instance initialization and interface initialization

在 Java 虛擬機中,方法區是被各個線程共享的運行時內存區域。方法區類似于傳統語言的編譯代碼的存儲區,或者類似于操作系統進程中的文本段。它存儲了每一個類的結構信息,例如:運行時常量池、字段和方法數據,構造函數和普通方法的字節碼內容,還包括一些用于類、實例、接口初始化用到的特殊方法。

這邊的關鍵在于 “它存儲了每一個類的結構信息”,而字符串常量池并不屬于某個類,字符串常量是全局共享的,因此,根據規范定義,我們可以說字符串常量池不屬于方法區。

那字符串常量池(StringTable)究竟存在哪里了?

StringTable 本體是存儲在 native memory(本地內存)里,不是在永久代里,不是在方法區里,當然,更不是在堆里。

7、運行時常量池和字符串常量池的關聯?

上面說了,運行時常量池和字符串常量池在字符串解析時會有關聯,具體如下。

類的運行時常量池中有 CONSTANT_String_info(見題3表格)類型的常量,CONSTANT_String_info 類型的常量的解析(resolve)過程如下:

首先到字符串常量池(StringTable)中查找是否已經有了該字符串的引用,如果有,則直接返回字符串常量池的引用;如果沒有,則在堆中創建 String 對象,并在字符串常量池駐留其引用,然后返回該引用。

也就說,運行時常量池里的 CONSTANT_String_info 類型的常量,經過解析(resolve)之后,同樣存的是字符串的引用,并且和 StringTable 駐留的引用的是一致的。

8、String#intern 方法

在 JDK 7 及之后的版本中,該方法的作用如下:如果字符串常量池中已經有這個字符串,則直接返回常量池中的引用;如果沒有,則將這個字符串的引用保存一份到字符串常量池,然后返回這個引用。

下面的例子可以進行簡單的驗證:

  1. public static void main(String args[]) { 
  2.  
  3.     // 創建2個對象,str持有的是new創建的對象引用 
  4.     // 1)駐留(intern)在字符串常量池中的對象 
  5.     // 2)new創建的對象 
  6.     String str = new String("joonwhee"); 
  7.     // 字符串常量池中已經有了,返回字符串常量池中的引用 
  8.     String str2 = "joonwhee"
  9.     // false,str為new創建的對象引用,str2為字符創常量池中的引用 
  10.     System.out.println(str == str2); 
  11.     // str修改為字符串常量池的引用,所以下面為true 
  12.     str = str.intern(); 
  13.     // true 
  14.     System.out.println(str == str2); 

9、永久代(PermGen)

永久代在 Java 8 被移除。根據官方提案的描述,移除的主要動機是:要將 JRockit 和 Hotspot 進行融合,而 JRockit 并沒有永久代。

而據我們所了解的,還有另外一個重要原因是永久代本身也存在較多的問題,經常出現OOM,還出過不少bug。

根據官方提案的描述,永久代主要存儲了三種數據:

1)Class metadata(類元數據),也就是方法區中包含的數據,除了編譯生成的字節碼被放在 native memory(本地內存)。

2)interned Strings,也就是字符串常量池中駐留引用的字符串對象,字符串常量池只駐留引用,而實際對象是在永久代中。

3)class static variables,類靜態變量。

移除永久代后,interned Strings 和 class static variables 被移動了堆中,Class metadata 被移動到了后來的元空間。

10、永久代和方法區的關系?

方法區是 Java 虛擬機規范中定義的一種邏輯概念,而永久代是對方法區的實現。但是永久代并不等同于方法區,方法區也不等同于永久代。

永久代中的 interned Strings 并不屬于方法區,按規范:堆是存儲 Java 對象的地方 ,這部分應該屬于堆,因此永久代并不是只用于實現方法區。

方法區中 JIT 編譯生成的代碼并不是存放在永久代,而是在 native memory 中,因此可以說方法區也并不只是由永久代來實現。

11、元空間(metaspace)

元空間在 Java 8 移除永久代后被引入,用來代替永久代,本質和永久代類似,都是對方法區的實現。不過元空間與永久代之間最大的區別在于:元空間并不在虛擬機中,而是使用本地內存(native memory)。

元空間主要用于存儲 Class metadata(類元數據),根據其命名其實也看得出來。

可以通過 -XX:MaxMetaspaceSize 參數來限制元空間的大小,如果沒有設置該參數,則元空間默認限制為機器內存。

12、為什么引入元空間?

在 Java 8 之前,Java 虛擬機使用永久代來存放類元信息,通過-XX:PermSize、-XX:MaxPermSize 來控制這塊內存的大小,隨著動態類加載的情況越來越多,這塊內存變得不太可控,到底設置多大合適是每個開發者要考慮的問題。

如果設置小了,容易出現內存溢出;如果設置大了,又有點浪費,盡管不會實質分配這么大的物理內存。

而元空間可以較好的解決內存設置多大的問題:當我們沒有指定 -XX:MaxMetaspaceSize 時,元空間可以動態的調整使用的內存大小,以容納不斷增加的類。

13、元空間能徹底解決內存溢出(Out Of Memory)問題嗎?

很遺憾,答案是不行的。

元空間無法徹底解決內存溢出的問題,只能說是有所緩解。當內存使用完畢后,元空間一樣會出現內存溢出的情況,最典型的場景就是出現了內存泄漏時。

本文轉載自微信公眾號「程序員囧輝」,可以通過以下二維碼關注。轉載本文請聯系程序員囧輝公眾號。

 

責任編輯:武曉燕 來源: 程序員囧輝
相關推薦

2022-03-21 11:07:43

JVM內存字節碼

2018-11-22 12:07:37

Java虛擬機結構

2022-01-17 22:09:50

JVM方法區數據

2023-06-07 08:08:43

JVM內存模型

2024-11-26 08:31:36

2021-12-06 11:03:57

JVM性能調優

2021-08-13 08:15:23

JVM 虛擬機Java

2015-07-20 15:44:46

Swift框架MJExtension反射

2021-09-18 08:02:49

Go程序工具

2023-07-31 07:33:05

JVM調優Full GC

2021-04-26 17:23:21

JavaCAS原理

2021-10-10 20:36:49

Android Root權限

2024-03-21 09:15:58

JS運行的JavaScrip

2018-10-25 09:04:56

Java虛擬機JVM

2023-12-27 07:44:15

雙模式系統可移植性

2020-12-07 13:31:43

GoMutex開發者

2024-04-07 08:23:01

JS隔離JavaScript

2011-06-14 12:56:55

SQL Server復災

2009-07-09 13:52:41

Inside JVM

2019-07-12 09:30:12

DashboardDockerDNS
點贊
收藏

51CTO技術棧公眾號

成年人在线免费看片| 国产xxxxx在线观看| 亚洲不卡免费视频| 欧美亚洲一级| 日韩中文综合网| 免费观看一区二区三区| 波多野结衣亚洲| 亚洲视频一二区| 国产偷久久久精品专区| 日本黄色中文字幕| 女同性一区二区三区人了人一| 亚洲成人网av| 国产三级三级看三级| 午夜激情在线| 欧美激情在线一区二区| 999热视频| 懂色av蜜臀av粉嫩av分享吧最新章节| 亚洲一级毛片| 亚洲视频一区二区| 三级黄色片免费看| 色www永久免费视频首页在线| www国产精品av| 亚洲综合中文字幕68页| 日本免费在线观看视频| 国产主播一区| 波霸ol色综合久久| 亚洲黄色免费视频| 黄色美女久久久| 日韩一区二区三区视频| 亚洲一级片网站| 美女福利一区二区三区| 一区二区激情视频| 一级一片免费播放| 大地资源中文在线观看免费版| 成人深夜在线观看| 91中文在线观看| 国产精品无码一区| 国产亚洲在线| 国内精品久久久久影院 日本资源| 亚洲二区在线播放| 精品久久久久久久久久久下田 | 亚洲欧美成aⅴ人在线观看| 日韩av电影免费在线观看| 天天射天天色天天干| 国产69精品久久久久777| 成人免费在线视频网址| 日韩国产亚洲欧美| 久久亚洲风情| 国产成人一区二区三区电影| 国产精品21p| 久久电影一区| 国产精品av免费在线观看| 久久久久久少妇| 午夜亚洲福利在线老司机| 久久久久亚洲精品| 国产午夜激情视频| 亚洲激情成人| 4388成人网| 无码无套少妇毛多18pxxxx| 性色一区二区三区| 欧美综合激情网| 国产伦精品一区二区三区视频网站 | 亚洲黄色av女优在线观看| 久久久久无码国产精品一区李宗瑞| 在线免费观看亚洲| 日韩视频一区在线观看| 香蕉视频免费网站| 久久狠狠久久| 亚洲视频在线观看| 九九九视频在线观看| 不卡中文一二三区| www.日韩.com| 久久一二三四区| 99成人免费视频| 日韩美女在线看| 中文字幕精品在线观看| 韩日精品视频一区| yellow视频在线观看一区二区| 国产 欧美 自拍| 久久久久久久久一| 一卡二卡3卡四卡高清精品视频| 久久久久久久久免费视频| 亚洲乱码国产乱码精品精98午夜| 999一区二区三区| 中文字幕乱码中文乱码51精品| 色欧美乱欧美15图片| 中文字幕第100页| 在线观看视频一区二区三区| 日韩国产欧美精品一区二区三区| 91精品人妻一区二区三区蜜桃欧美| 国产尤物久久久| 欧美xxxx18国产| 久草手机在线观看| 精品一区二区三区视频在线观看| 国产成人精品自拍| 国产精品久久久久久久龚玥菲 | 素人啪啪色综合| 日韩欧美的一区| 男女做爰猛烈刺激| 欧美在线观看天堂一区二区三区| 26uuu亚洲国产精品| 亚洲综合五月天婷婷丁香| 成人午夜看片网址| 亚洲欧美日韩另类精品一区二区三区 | 这里只有久久精品视频| 国产精品系列在线观看| 快播亚洲色图| 一区二区三区伦理| 欧美中文字幕一二三区视频| 色哟哟无码精品一区二区三区| 欧美**字幕| 欧美激情xxxxx| 中文字幕一区二区久久人妻| 99久久精品国产一区二区三区| 亚洲欧洲日本国产| а√在线中文网新版地址在线| 欧美日韩一区二区欧美激情 | 国产又黄又粗又长| 久久日一线二线三线suv| 中国女人做爰视频| 成人综合网站| 亚洲欧洲偷拍精品| 精品无码av在线| 激情成人午夜视频| 日本一区二区三区视频在线观看 | 亚洲成a人片在线观看中文| av网站在线不卡| 免费黄色成人| 7777精品视频| 熟妇人妻一区二区三区四区 | 少妇大叫太大太粗太爽了a片小说| 韩国理伦片久久电影网| 亚洲天堂第一页| 特级毛片www| 91丨九色丨尤物| 国产精品久久..4399| 欧州一区二区三区| 美女啪啪无遮挡免费久久网站| 天天干天天插天天射| 99精品一区二区| 欧美乱大交xxxxx潮喷l头像| 亚洲小说春色综合另类电影| 久久韩剧网电视剧| 一级黄色大片免费观看| 国产日韩欧美高清在线| 国产一区二区视频免费在线观看| 久久a爱视频| 91精品国产91久久久久久吃药| 亚洲免费一级片| 亚洲一级不卡视频| 中文字幕天堂av| 亚洲欧洲一级| 久久艳妇乳肉豪妇荡乳av| 亚洲美女炮图| 亚洲人成电影在线观看天堂色| 色屁屁影院www国产高清麻豆| 久久综合久久综合九色| 国内外免费激情视频| 精品国产91乱码一区二区三区四区 | 亚洲wwww| 伊人青青综合网站| 在线免费观看视频网站| 中文字幕亚洲电影| 久久久久久久久久久影视| 亚洲午夜黄色| 久久久com| 日韩高清在线| 日韩视频在线免费| 国产夫妻自拍av| 亚洲成av人片在线观看无码| av在线网站观看| 裸体在线国模精品偷拍| 欧美性受xxxx黑人猛交88| 2020国产精品极品色在线观看| 久久久久久久爱| 神马久久精品| 在线观看亚洲一区| 欧美特黄一级片| 成人免费视频网站在线观看| 播放灌醉水嫩大学生国内精品| 久久99精品久久久久久园产越南| 国产精品偷伦免费视频观看的 | 91国产美女在线观看| 欧美日韩激情视频一区二区三区| 欧美在线观看一二区| 欧产日产国产v| 91色在线porny| 欧美美女一级片| 精品91在线| 视频二区一区| 日韩精品成人在线观看| 7777精品视频| a天堂中文在线官网在线| 亚洲精品成人网| 亚洲字幕av一区二区三区四区| 亚洲妇女屁股眼交7| 免费看黄色三级| 成人午夜电影久久影院| 狠狠操精品视频| 国产精品观看| 亚洲精品白虎| 黄色美女久久久| 成人网在线观看| 国产精品专区免费| 欧美乱大交xxxxx另类电影| 欧美zozo| 亚洲国产成人一区| 国产精品一区二区人人爽| 日韩欧美精品网站| 毛片aaaaa| 少妇无套高潮一二三区| 亚洲欧美视频| 国产黄色激情视频| 成人精品影视| 欧美激情www| 国产精品chinese在线观看| 国产美女直播视频一区| 日本在线播放一二三区| 美女久久久久久久| www视频在线观看免费| 亚洲高清久久久久久| 91丨porny丨在线中文 | 中文字幕欧美在线观看| 无码av中文一区二区三区桃花岛| √天堂中文官网8在线| 国产午夜精品一区二区三区视频| 天天躁日日躁狠狠躁av| 国产老女人精品毛片久久| 五月天婷婷激情视频| 国产日韩欧美一区在线| 99热久久这里只有精品| 午夜精品久久99蜜桃的功能介绍| 艳色歌舞团一区二区三区| 九九亚洲精品| 免费在线一区二区| 天天久久夜夜| 精品久久蜜桃| 成人爽a毛片免费啪啪红桃视频| 91免费欧美精品| 久久久加勒比| 国产综合久久久久久| 国产亚洲精彩久久| 国产精品嫩草影院一区二区| 欧美成a人片在线观看久| 欧日韩在线观看| 欧美一级鲁丝片| 青青久久av北条麻妃黑人| 欧美少妇网站| 欧美在线观看网址综合| 中文字幕资源网在线观看免费| 91国语精品自产拍在线观看性色| 国产盗摄在线视频网站| 久久久噜噜噜久久中文字免| 99riav视频在线观看| 午夜精品久久久久久久99黑人 | 欧美日韩国产色视频| 国产成人无码精品亚洲| 欧美午夜无遮挡| 久久亚洲精品石原莉奈| 欧美综合色免费| 91在线精品入口| 日韩一级精品视频在线观看| 国产www免费观看| 精品日产卡一卡二卡麻豆| 高清国产mv在线观看| 日韩精品视频免费| 成年人在线视频| 久久人人爽人人爽人人片亚洲| a毛片在线看免费观看| 国产69精品久久久久99| 中文字幕乱码中文乱码51精品| 国产精品xxxxx| 国产精品3区| 鬼打鬼之黄金道士1992林正英| 青青一区二区| 亚洲欧洲日本国产| 欧美日本一区| 欧美黄网站在线观看| 日本不卡中文字幕| 69久久精品无码一区二区| a亚洲天堂av| 懂色av粉嫩av浪潮av| 玉足女爽爽91| 成年人av网站| 欧美一区二区三区在线| 殴美一级特黄aaaaaa| 国产亚洲精品一区二555| 二区在线播放| 欧美一级黄色网| 亚洲最大的免费视频网站| 国产精品二区三区四区| 国内精品久久久久久久影视简单| 亚洲高潮无码久久| 久久久国产亚洲精品| 91精产国品一二三产区别沈先生| 99视频热这里只有精品免费| 国产视频三区四区| 亚洲一区二区三区免费视频| 无码人妻精品一区二区蜜桃色欲| 日韩亚洲欧美成人一区| 国产一级片在线| 久久久久久久久久久91| 免费成人毛片| 麻豆精品传媒视频| 欧美午夜免费影院| 亚洲福利精品视频| fc2成人免费人成在线观看播放 | 视频在线不卡| 欧美日韩成人在线播放| 国产精品久久久久久久久久齐齐| 国产视频一区二区三区四区| 999视频精品| 久久久久久久久久久久久久国产| 国产高清在线精品| 女人黄色一级片| 欧美性少妇18aaaa视频| 国产黄色片免费观看| 日韩在线观看免费全集电视剧网站 | 精品99在线| 欧美二区在线视频| 国产.欧美.日韩| youjizz亚洲女人| 色av成人天堂桃色av| 日本激情视频网站| 久久国产天堂福利天堂| 青娱乐极品盛宴一区二区| 日韩videos| 西西人体一区二区| 亚洲av成人无码一二三在线观看| 亚洲免费观看在线视频| 中文亚洲av片在线观看| 日韩精品中文在线观看| av日韩国产| 高清一区二区三区视频| 欧美+日本+国产+在线a∨观看| 在线播放av中文字幕| 亚洲国产精品黑人久久久| 波多野结衣在线观看一区| 国产视频精品在线| 新版的欧美在线视频| 久久国产精品一区二区三区| 日韩午夜激情| 香蕉网在线播放| 一本色道a无线码一区v| 欧美日本网站| 国产精品普通话| 日韩大片在线| av免费一区二区| 亚洲另类色综合网站| 国产福利免费视频| 色综合五月天导航| 88久久精品| 极品美女扒开粉嫩小泬| 91丨porny丨在线| 成人免费毛片男人用品| 亚洲性无码av在线| 欧美日韩女优| 天堂av在线中文| 成人国产亚洲欧美成人综合网| 日本免费在线播放| 日韩电影在线观看中文字幕| 成人影院av| 亚洲永久激情精品| 国产精品一级在线| 懂色av.com| 亚洲欧美日韩久久久久久| 韩日一区二区| dy888午夜| 成人av网站在线| 黄色片中文字幕| 最近中文字幕2019免费| 欧美久久亚洲| 亚洲人精品午夜射精日韩| 久久麻豆一区二区| 一级特黄色大片| 欧美巨大黑人极品精男| 欧美人妖在线观看| 一路向西2在线观看| 亚洲综合激情小说| 内衣办公室在线| 亚洲一区二区三区乱码aⅴ| 亚洲理伦在线| 国产又粗又长又硬| 精品国产一区二区三区久久久蜜月| 极品在线视频| 一区二区三区四区欧美| 丁香一区二区三区| 日韩黄色一级视频| 欧美成年人网站| 亚洲图片久久| 成年人性生活视频| 色94色欧美sute亚洲线路一久| 免费**毛片在线| 久久久久国产精品视频| 精品亚洲成av人在线观看| 国产专区第一页| 久久精品最新地址| 一区二区三区韩国免费中文网站| 日韩a一级欧美一级| 欧美午夜精品在线|