久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

看完这篇 HashMap ,和面试官扯皮就没问题了

發布時間:2024/8/23 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 看完这篇 HashMap ,和面试官扯皮就没问题了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源 | Java?建設者

責編 | Carol

封圖 | CSDN 下載自視覺中國

(如果你沒有時間細摳本文,可以直接看 HashMap 概述,能讓你對 HashMap 有個大致的了解)

HashMap 是 Map 接口的實現,HashMap 允許空的 key-value 鍵值對,HashMap 被認為是 Hashtable 的增強版,HashMap 是一個非線程安全的容器,如果想構造線程安全的 Map 考慮使用 ConcurrentHashMap。HashMap 是無序的,因為 HashMap 無法保證內部存儲的鍵值對的有序性。

HashMap 的底層數據結構是數組 + 鏈表的集合體,數組在 HashMap 中又被稱為桶(bucket)。遍歷 HashMap 需要的時間損耗為 HashMap 實例桶的數量 + (key - value 映射) 的數量。因此,如果遍歷元素很重要的話,不要把初始容量設置的太高或者負載因子設置的太低。

HashMap 實例有兩個很重要的因素,初始容量和負載因子,初始容量指的就是 hash 表桶的數量,負載因子是一種衡量哈希表填充程度的標準,當哈希表中存在足夠數量的 entry,以至于超過了負載因子和當前容量,這個哈希表會進行 rehash 操作,內部的數據結構重新 rebuilt。

注意 HashMap 不是線程安全的,如果多個線程同時影響了 HashMap ,并且至少一個線程修改了 HashMap 的結構,那么必須對 HashMap 進行同步操作。可以使用?Collections.synchronizedMap(new HashMap)?來創建一個線程安全的 Map。

HashMap 會導致除了迭代器本身的 remove 外,外部 remove 方法都可能會導致 fail-fast 機制,因此盡量要用迭代器自己的 remove 方法。如果在迭代器創建的過程中修改了 map 的結構,就會拋出?ConcurrentModificationException?異常。

下面就來聊一聊 HashMap 的細節問題。我們還是從面試題入手來分析 HashMap 。

HashMap 和 HashTable 的區別

我們上面介紹了一下 HashMap ,現在來介紹一下 HashTable。

相同點

HashMap 和 HashTable 都是基于哈希表實現的,其內部每個元素都是?key-value?鍵值對,HashMap 和 HashTable 都實現了 Map、Cloneable、Serializable 接口。

不同點

  • 父類不同:HashMap 繼承了?AbstractMap?類,而 HashTable 繼承了?Dictionary?類

  • 空值不同:HashMap 允許空的 key 和 value 值,HashTable 不允許空的 key 和 value 值。HashMap 會把 Null key 當做普通的 key 對待。不允許 null key 重復。

  • 線程安全性:HashMap 不是線程安全的,如果多個外部操作同時修改 HashMap 的數據結構比如 add 或者是 delete,必須進行同步操作,僅僅對 key 或者 value 的修改不是改變數據結構的操作。可以選擇構造線程安全的 Map 比如?Collections.synchronizedMap?或者是?ConcurrentHashMap。而 HashTable 本身就是線程安全的容器。

  • 性能方面:雖然 HashMap 和 HashTable 都是基于單鏈表的,但是 HashMap 進行 put 或者 get???? 操作,可以達到常數時間的性能;而 HashTable 的 put 和 get 操作都是加了?synchronized?鎖的,所以效率很差。

  • 初始容量不同:HashTable 的初始長度是11,之后每次擴充容量變為之前的 2n+1(n為上一次的長度)

    而 HashMap 的初始長度為16,之后每次擴充變為原來的兩倍。創建時,如果給定了容量初始值,那么HashTable 會直接使用你給定的大小,而 HashMap 會將其擴充為2的冪次方大小。

HashMap 和 HashSet 的區別

也經常會問到 HashMap 和 HashSet 的區別

HashSet 繼承于 AbstractSet 接口,實現了 Set、Cloneable,、java.io.Serializable 接口。HashSet 不允許集合中出現重復的值。HashSet 底層其實就是 HashMap,所有對 HashSet 的操作其實就是對 HashMap 的操作。所以 HashSet 也不保證集合的順序。

HashMap 底層結構

要了解一個類,先要了解這個類的結構,先來看一下 HashMap 的結構:

最主要的三個類(接口)就是?HashMap,AbstractMap和?Map?了,HashMap 我們上面已經在概述中簡單介紹了一下,下面來介紹一下 AbstractMap。

AbstractMap 類

這個抽象類是 Map 接口的骨干實現,以求最大化的減少實現類的工作量。為了實現不可修改的 map,程序員僅需要繼承這個類并且提供 entrySet 方法的實現即可。它將會返回一組 map 映射的某一段。通常,返回的集合將在AbstractSet 之上實現。這個set不應該支持 add 或者 remove 方法,并且它的迭代器也不支持 remove 方法。

為了實現可修改的 map,程序員必須額外重寫這個類的 put 方法(否則就會拋出UnsupportedOperationException),并且 entrySet.iterator() 返回的 iterator 必須實現 remove() 方法。

Map 接口

Map 接口定義了 key-value 鍵值對的標準。一個對象支持 key-value 存儲。Map不能包含重復的 key,每個鍵最多映射一個值。這個接口代替了Dictionary 類,Dictionary是一個抽象類而不是接口。

Map 接口提供了三個集合的構造器,它允許將 map 的內容視為一組鍵,值集合或一組鍵值映射。map的順序定義為map映射集合上的迭代器返回其元素的順序。一些map實現,像是TreeMap類,保證了map的有序性;其他的實現,像是HashMap,則沒有保證。

重要內部類和接口

Node 接口

Node節點是用來存儲HashMap的一個個實例,它實現了?Map.Entry接口,我們先來看一下 Map中的內部接口 Entry 接口的定義

Map.Entry

//?一個map?的entry?鏈,這個Map.entrySet()方法返回一個集合的視圖,包含類中的元素, //?這個唯一的方式是從集合的視圖進行迭代,獲取一個map的entry鏈。這些Map.Entry鏈只在 //?迭代期間有效。 interface?Entry<K,V>?{K?getKey();V?getValue();V?setValue(V?value);boolean?equals(Object?o);int?hashCode(); }

Node 節點會存儲四個屬性,hash值,key,value,指向下一個Node節點的引用

?//?hash值 final?int?hash; //?鍵 final?K?key; //?值 V?value; //?指向下一個Node節點的Node類型 Node<K,V>?next;

因為Map.Entry 是一條條entry 鏈連接在一起的,所以Node節點也是一條條entry鏈。構造一個新的HashMap實例的時候,會把這四個屬性值分為傳入

Node(int?hash,?K?key,?V?value,?Node<K,V>?next)?{this.hash?=?hash;this.key?=?key;this.value?=?value;this.next?=?next; }

實現了 Map.Entry 接口所以必須實現其中的方法,所以 Node 節點中也包括上面的五個方法

KeySet 內部類

keySet 類繼承于 AbstractSet 抽象類,它是由 HashMap 中的?keyset()?方法來創建 KeySet 實例的,旨在對HashMap 中的key鍵進行操作,看一個代碼示例

圖中把「1, 2, 3」這三個key 放在了HashMap中,然后使用 lambda 表達式循環遍歷 key 值,可以看到,map.keySet() 其實是返回了一個 Set 接口,KeySet() 是在 Map 接口中進行定義的,不過是被HashMap 進行了實現操作,來看一下源碼就明白了

//?返回一個set視圖,這個視圖中包含了map中的key。 public?Set<K>?keySet()?{//?//?keySet?指向的是?AbstractMap?中的?keysetSet<K>?ks?=?keySet;if?(ks?==?null)?{//?如果?ks?為空,就創建一個?KeySet?對象//?并對 ks 賦值。ks?=?new?KeySet();keySet?=?ks;}return?ks; }

所以 KeySet 類中都是對 Map中的 Key 進行操作的:

Values 內部類

Values 類的創建其實是和 KeySet 類很相似,不過 KeySet 旨在對 Map中的鍵進行操作,Values 旨在對key-value?鍵值對中的 value 值進行使用,看一下代碼示例:

循環遍歷 Map中的 values值,看一下 values() 方法最終創建的是什么:

public?Collection<V>?values()?{//?values?其實是?AbstractMap?中的?valuesCollection<V>?vs?=?values;if?(vs?==?null)?{vs?=?new?Values();values?=?vs;}return?vs; }

所有的 values 其實都存儲在 AbstractMap 中,而 Values 類其實也是實現了 Map 中的 Values 接口,看一下對 values 的操作都有哪些方法

其實是和 key 的操作差不多

EntrySet 內部類

上面提到了HashMap中分別有對 key、value 進行操作的,其實還有對?key-value?鍵值對進行操作的內部類,它就是 EntrySet,來看一下EntrySet 的創建過程:

點進去 entrySet() 會發現這個方法也是在 Map 接口中定義的,HashMap對它進行了重寫

//?返回一個?set?視圖,此視圖包含了?map?中的key-value?鍵值對 public?Set<Map.Entry<K,V>>?entrySet()?{Set<Map.Entry<K,V>>?es;return?(es?=?entrySet)?==?null???(entrySet?=?new?EntrySet())?:?es; }

如果 es 為空創建一個新的 EntrySet 實例,EntrySet 主要包括了對key-value 鍵值對映射的方法,如下

HashMap 1.7 的底層結構

JDK1.7 中,HashMap 采用位桶 + 鏈表的實現,即使用鏈表來處理沖突,同一 hash 值的鏈表都存儲在一個數組中。但是當位于一個桶中的元素較多,即 hash 值相等的元素較多時,通過 key 值依次查找的效率較低。它的數據結構如下

HashMap 大致結構

HashMap 底層數據結構就是一個 Entry 數組,Entry 是 HashMap 的基本組成單元,每個 Entry 中包含一個 key-value 鍵值對。

transient?Entry<K,V>[]?table?=?(Entry<K,V>[])?EMPTY_TABLE;

而每個 Entry 中包含?「hash, key ,value」?屬性,它是 HashMap 的一個內部類

static?class?Entry<K,V>?implements?Map.Entry<K,V>?{final?K?key;V?value;Entry<K,V>?next;int?hash;Entry(int?h,?K?k,?V?v,?Entry<K,V>?n)?{value?=?v;next?=?n;key?=?k;hash?=?h;}... }

所以,HashMap 的整體結構就像下面這樣

HashMap 1.8 的底層結構

與 JDK 1.7 相比,1.8 在底層結構方面做了一些改變,當每個桶中元素大于 8 的時候,會轉變為紅黑樹,目的就是優化查詢效率,JDK 1.8 重寫了?resize()?方法。

HashMap 重要屬性

「初始容量」

HashMap 的默認初始容量是由?DEFAULT_INITIAL_CAPACITY?屬性管理的。

static?final?int?DEFAULT_INITIAL_CAPACITY?=?1?<<?4;

HashMap 的默認初始容量是 1 << 4 = 16, << 是一個左移操作,它相當于是

「最大容量」

HashMap 的最大容量是

static?final?int?MAXIMUM_CAPACITY?=?1?<<?30;

這里是不是有個疑問?int 占用四個字節,按說最大容量應該是左移 31 位,為什么 HashMap 最大容量是左移 30 位呢?因為在數值計算中,最高位也就是最左位的位?是代表著符號為,0 -> 正數,1 -> 負數,容量不可能是負數,所以 HashMap 最高位只能移位到 2 ^ 30 次冪。

「默認負載因子」

HashMap 的默認負載因子是

static?final?float?DEFAULT_LOAD_FACTOR?=?0.75f;

float 類型所以用?.f?為單位,負載因子是和擴容機制有關,這里大致提一下,后面會細說。擴容機制的原則是當 HashMap 中存儲的數量 > HashMap 容量 * 負載因子時,就會把 HashMap 的容量擴大為原來的二倍。

HashMap 的第一次擴容就在 DEFAULT_INITIAL_CAPACITY * DEFAULT_LOAD_FACTOR = 12 時進行。

「樹化閾值」

HashMap 的樹化閾值是

static?final?int?TREEIFY_THRESHOLD?=?8;

在進行添加元素時,當一個桶中存儲元素的數量 > 8 時,會自動轉換為紅黑樹(JDK1.8 特性)。

「鏈表閾值」

HashMap 的鏈表閾值是

static?final?int?UNTREEIFY_THRESHOLD?=?6;

在進行刪除元素時,如果一個桶中存儲元素數量 < 6 后,會自動轉換為鏈表

「擴容臨界值」

static?final?int?MIN_TREEIFY_CAPACITY?=?64;

這個值表示的是當桶數組容量小于該值時,優先進行擴容,而不是樹化

「節點數組」

HashMap 中的節點數組就是 Entry 數組,它代表的就是 HashMap 中?「數組 + 鏈表」?數據結構中的數組。

transient?Node<K,V>[]?table;

Node 數組在第一次使用的時候進行初始化操作,在必要的時候進行?resize,resize 后數組的長度擴容為原來的二倍。

「鍵值對數量」

在 HashMap 中,使用?size?來表示 HashMap 中鍵值對的數量。

「修改次數」

在 HashMap 中,使用?modCount?來表示修改次數,主要用于做并發修改 HashMap 時的快速失敗 - fail-fast 機制。

「擴容閾值」

在 HashMap 中,使用?threshold?表示擴容的閾值,也就是 初始容量 * 負載因子的值。

threshold 涉及到一個擴容的閾值問題,這個問題是由?tableSizeFor?源碼解決的。我們先看一下它的源碼再來解釋

static?final?int?tableSizeFor(int?cap)?{int?n?=?cap?-?1;n?|=?n?>>>?1;n?|=?n?>>>?2;n?|=?n?>>>?4;n?|=?n?>>>?8;n?|=?n?>>>?16;return?(n?<?0)???1?:?(n?>=?MAXIMUM_CAPACITY)???MAXIMUM_CAPACITY?:?n?+?1; }

代碼中涉及一個運算符?|=?,它表示的是按位或,啥意思呢?你一定知道?「a+=b 的意思是 a=a+b」,那么同理:a |= b 就是 a = a | b,也就是雙方都轉換為二進制,來進行與操作。如下圖所示

我們上面采用了一個比較大的數字進行擴容,由上圖可知 2^29 次方的數組經過一系列的或操作后,會算出來結果是 2^30 次方。

所以擴容后的數組長度是原來的 2 倍。

「負載因子」

loadFactor?表示負載因子,它表示的是 HashMap 中的密集程度。

HashMap 構造函數

在 HashMap 源碼中,有四種構造函數,分別來介紹一下

  • 帶有初始容量 initialCapacity?和?負載因子 loadFactor?的構造函數

public?HashMap(int?initialCapacity,?float?loadFactor)?{if?(initialCapacity?<?0)throw?new?IllegalArgumentException("Illegal?initial?capacity:?"?+initialCapacity);if?(initialCapacity?>?MAXIMUM_CAPACITY)initialCapacity?=?MAXIMUM_CAPACITY;if?(loadFactor?<=?0?||?Float.isNaN(loadFactor))throw?new?IllegalArgumentException("Illegal?load?factor:?"?+loadFactor);this.loadFactor?=?loadFactor;//?擴容的閾值this.threshold?=?tableSizeFor(initialCapacity); }

初始容量不能為負,所以當傳遞初始容量 < 0 的時候,會直接拋出?IllegalArgumentException?異常。如果傳遞進來的初始容量 > 最大容量時,初始容量 = 最大容量。負載因子也不能小于 0 。然后進行數組的擴容,這個擴容機制也非常重要,我們后面進行探討

  • 只帶有 initialCapacity 的構造函數

public?HashMap(int?initialCapacity)?{this(initialCapacity,?DEFAULT_LOAD_FACTOR); }

最終也會調用到上面的構造函數,不過這個默認的負載因子就是 HashMap 的默認負載因子也就是?0.75f

  • 無參數的構造函數

public?HashMap()?{this.loadFactor?=?DEFAULT_LOAD_FACTOR; }

默認的負載因子也就是 0.75f

  • 帶有 map 的構造函數

public?HashMap(Map<??extends?K,???extends?V>?m)?{this.loadFactor?=?DEFAULT_LOAD_FACTOR;putMapEntries(m,?false); }

帶有 Map 的構造函數,會直接把外部元素批量放入 HashMap 中。

講一講 HashMap put 的全過程

我記得剛畢業一年去北京面試,一家公司問我 HashMap put 過程的時候,我支支吾吾答不上來,后面痛下決心好好整。以 JDK 1.8 為基準進行分析,后面也是。先貼出整段代碼,后面會逐行進行分析。

final?V?putVal(int?hash,?K?key,?V?value,?boolean?onlyIfAbsent,boolean?evict)?{Node<K,V>[]?tab;?Node<K,V>?p;?int?n,?i;//?如果table?為null?或者沒有為?table?分配內存,就resize一次if?((tab?=?table)?==?null?||?(n?=?tab.length)?==?0)n?=?(tab?=?resize()).length;//?指定hash值節點為空則直接插入,這個(n?-?1)?&?hash才是表中真正的哈希if?((p?=?tab[i?=?(n?-?1)?&?hash])?==?null)tab[i]?=?newNode(hash,?key,?value,?null);//?如果不為空else?{Node<K,V>?e;?K?k;//?計算表中的這個真正的哈希值與要插入的key.hash相比if?(p.hash?==?hash?&&((k?=?p.key)?==?key?||?(key?!=?null?&&?key.equals(k))))e?=?p;//?若不同的話,并且當前節點已經在?TreeNode?上了else?if?(p?instanceof?TreeNode)//?采用紅黑樹存儲方式e?=?((TreeNode<K,V>)p).putTreeVal(this,?tab,?hash,?key,?value);//?key.hash?不同并且也不再?TreeNode?上,在鏈表上找到?p.next==nullelse?{for?(int?binCount?=?0;?;?++binCount)?{if?((e?=?p.next)?==?null)?{//?在表尾插入p.next?=?newNode(hash,?key,?value,?null);//?新增節點后如果節點個數到達閾值,則進入?treeifyBin()?進行再次判斷if?(binCount?>=?TREEIFY_THRESHOLD?-?1)?//?-1?for?1sttreeifyBin(tab,?hash);break;}//?如果找到了同?hash、key?的節點,那么直接退出循環if?(e.hash?==?hash?&&((k?=?e.key)?==?key?||?(key?!=?null?&&?key.equals(k))))break;//?更新?p?指向下一節點p?=?e;}}//?map中含有舊值,返回舊值if?(e?!=?null)?{?//?existing?mapping?for?keyV?oldValue?=?e.value;if?(!onlyIfAbsent?||?oldValue?==?null)e.value?=?value;afterNodeAccess(e);return?oldValue;}}//?map調整次數?+?1++modCount;//?鍵值對的數量達到閾值,需要擴容if?(++size?>?threshold)resize();afterNodeInsertion(evict);return?null; }

首先看一下?putVal?方法,這個方法是 final 的,如果你自已定義 HashMap 繼承的話,是不允許你自己重寫 put 方法的,然后這個方法涉及五個參數

  • hash -> put 放在桶中的位置,在 put 之前,會進行 hash 函數的計算。

  • key -> 參數的 key 值

  • value -> 參數的 value 值

  • onlyIfAbsent -> 是否改變已經存在的值,也就是是否進行 value 值的替換標志

  • evict -> 是否是剛創建 HashMap 的標志

在調用到 putVal 方法時,首先會進行 hash 函數計算應該插入的位置

public?V?put(K?key,?V?value)?{return?putVal(hash(key),?key,?value,?false,?true); }

哈希函數的源碼如下

static?final?int?hash(Object?key)?{int?h;return?(key?==?null)???0?:?(h?=?key.hashCode())?^?(h?>>>?16); }

首先先來理解一下 hash 函數的計算規則

Hash 函數

hash 函數會根據你傳遞的 key 值進行計算,首先計算 key 的?hashCode?值,然后再對 hashcode 進行無符號右移操作,最后再和 hashCode 進行異或 ^?操作。

?

>>>: 無符號右移操作,它指的是?「無符號右移,也叫邏輯右移,即若該數為正,則高位補0,而若該數為負數,則右移后高位同樣補0」?,也就是不管是正數還是負數,右移都會在空缺位補 0 。

?

在得到 hash 值后,就會進行 put 過程。

首先會判斷 HashMap 中的 Node 數組是否為 null,如果第一次創建 HashMap 并進行第一次插入元素,首先會進行數組的 resize,也就是重新分配,這里還涉及到一個?resize()?擴容機制源碼分析,我們后面會介紹。擴容完畢后,會計算出 HashMap 的存放位置,通過使用?「( n - 1 ) & hash」?進行計算得出。

然后會把這個位置作為數組的下標作為存放元素的位置。如果不為空,那么計算表中的這個真正的哈希值與要插入的 key.hash 相比。如果哈希值相同,key-value 不一樣,再判斷是否是樹的實例,如果是的話,那么就把它插入到樹上。如果不是,就執行尾插法在 entry 鏈尾進行插入。

會根據桶中元素的數量判斷是鏈表還是紅黑樹。然后判斷鍵值對數量是否大于閾值,大于的話則進行擴容。

擴容機制

在 Java 中,數組的長度是固定的,這意味著數組只能存儲固定量的數據。但在開發的過程中,很多時候我們無法知道該建多大的數組合適。好在 HashMap 是一種自動擴容的數據結構,在這種基于變長的數據結構中,擴容機制是非常重要的。

在 HashMap 中,閾值大小為桶數組長度與負載因子的乘積。當 HashMap 中的鍵值對數量超過閾值時,進行擴容。HashMap 中的擴容機制是由?resize()?方法來實現的,下面我們就來一次認識下。(貼出中文注釋,便于復制)

final?Node<K,V>[]?resize()?{Node<K,V>[]?oldTab?=?table;//?存儲old?table?的大小int?oldCap?=?(oldTab?==?null)???0?:?oldTab.length;//?存儲擴容閾值int?oldThr?=?threshold;int?newCap,?newThr?=?0;if?(oldCap?>?0)?{//?如果old?table數據已達最大,那么threshold也被設置成最大if?(oldCap?>=?MAXIMUM_CAPACITY)?{threshold?=?Integer.MAX_VALUE;return?oldTab;}//?左移擴大二倍,else?if?((newCap?=?oldCap?<<?1)?<?MAXIMUM_CAPACITY?&&oldCap?>=?DEFAULT_INITIAL_CAPACITY)//?擴容成原來二倍newThr?=?oldThr?<<?1;?//?double?threshold}//?如果oldThr???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????!>?0else?if?(oldThr?>?0)?//?initial?capacity?was?placed?in?thresholdnewCap?=?oldThr;//?如果old?table?<=?0?并且?存儲的閾值?<=?0else?{???????????????//?zero?initial?threshold?signifies?using?defaultsnewCap?=?DEFAULT_INITIAL_CAPACITY;newThr?=?(int)(DEFAULT_LOAD_FACTOR?*?DEFAULT_INITIAL_CAPACITY);}//?如果擴充閾值為0if?(newThr?==?0)?{//?擴容閾值為?初始容量*負載因子float?ft?=?(float)newCap?*?loadFactor;newThr?=?(newCap?<?MAXIMUM_CAPACITY?&&?ft?<?(float)MAXIMUM_CAPACITY??(int)ft?:?Integer.MAX_VALUE);}//?重新給負載因子賦值threshold?=?newThr;//?獲取擴容后的數組@SuppressWarnings({"rawtypes","unchecked"})Node<K,V>[]?newTab?=?(Node<K,V>[])new?Node[newCap];table?=?newTab;//?如果第一次進行table?初始化不會走下面的代碼//?擴容之后需要重新把節點放在新擴容的數組中if?(oldTab?!=?null)?{for?(int?j?=?0;?j?<?oldCap;?++j)?{Node<K,V>?e;if?((e?=?oldTab[j])?!=?null)?{oldTab[j]?=?null;if?(e.next?==?null)newTab[e.hash?&?(newCap?-?1)]?=?e;else?if?(e?instanceof?TreeNode)//?重新映射時,需要對紅黑樹進行拆分((TreeNode<K,V>)e).split(this,?newTab,?j,?oldCap);else?{?//?preserve?orderNode<K,V>?loHead?=?null,?loTail?=?null;Node<K,V>?hiHead?=?null,?hiTail?=?null;Node<K,V>?next;//?遍歷鏈表,并將鏈表節點按原順序進行分組do?{next?=?e.next;if?((e.hash?&?oldCap)?==?0)?{if?(loTail?==?null)loHead?=?e;elseloTail.next?=?e;loTail?=?e;}else?{if?(hiTail?==?null)hiHead?=?e;elsehiTail.next?=?e;hiTail?=?e;}}?while?((e?=?next)?!=?null);//?將分組后的鏈表映射到新桶中if?(loTail?!=?null)?{loTail.next?=?null;newTab[j]?=?loHead;}if?(hiTail?!=?null)?{hiTail.next?=?null;newTab[j?+?oldCap]?=?hiHead;}}}}}return?newTab; }

擴容機制源碼比較長,我們耐心點進行拆分

我們以 if...else if...else 邏輯進行拆分,上面代碼主要做了這幾個事情

  • 判斷 HashMap 中的數組的長度,也就是?(Node<K,V>[])oldTab.length()?,再判斷數組的長度是否比最大的的長度也就是 2^30 次冪要大,大的話直接取最大長度,否則利用位運算?<<擴容為原來的兩倍

  • 如果數組長度不大于0 ,再判斷擴容閾值?threshold?是否大于 0 ,也就是看有無外部指定的擴容閾值,若有則使用,這里需要說明一下 threshold 何時是?oldThr > 0,因為 oldThr = threshold ,這里其實比較的就是 threshold,因為 HashMap 中的每個構造方法都會調用?HashMap(initCapacity,loadFactor)?這個構造方法,所以如果沒有外部指定 initialCapacity,初始容量使用的就是 16,然后根據?this.threshold = tableSizeFor(initialCapacity);?求得 threshold 的值。

  • 否則,直接使用默認的初始容量和擴容閾值,走 else 的邏輯是在 table 剛剛初始化的時候。

然后會判斷 newThr 是否為 0 ,筆者在剛開始研究時發現?newThr = (int)(DEFAULT_LOAD_FACTOR * DEFAULT_INITIAL_CAPACITY);?一直以為這是常量做乘法,怎么會為 0 ,其實不是這部分的問題,在于上面邏輯判斷中的擴容操作,可能會導致位溢出。

導致位溢出的示例:oldCap = 2^28 次冪,threshold > 2 的三次方整數次冪。在進入到?float ft = (float)newCap * loadFactor;?這個方法是 2^28 * 2^(3+n) 會直接 > 2^31 次冪,導致全部歸零。

「在擴容后需要把節點放在新擴容的數組中,這里也涉及到三個步驟」

  • 循環桶中的每個 Node 節點,判斷 Node[i] 是否為空,為空直接返回,不為空則遍歷桶數組,并將鍵值對映射到新的桶數組中。

  • 如果不為空,再判斷是否是樹形結構,如果是樹形結構則按照樹形結構進行拆分,拆分方法在?split?方法中。

  • 如果不是樹形結構,則遍歷鏈表,并將鏈表節點按原順序進行分組。

講一講 get 方法全過程

我們上面講了 HashMap 中的 put 方法全過程,下面我們來看一下?get?方法的過程,

public?V?get(Object?key)?{Node<K,V>?e;return?(e?=?getNode(hash(key),?key))?==?null???null?:?e.value; }final?Node<K,V>?getNode(int?hash,?Object?key)?{Node<K,V>[]?tab;?Node<K,V>?first,?e;?int?n;?K?k;//?找到真實的元素位置if?((tab?=?table)?!=?null?&&?(n?=?tab.length)?>?0?&&(first?=?tab[(n?-?1)?&?hash])?!=?null)?{//?總是會check?一下第一個元素if?(first.hash?==?hash?&&?//?always?check?first?node((k?=?first.key)?==?key?||?(key?!=?null?&&?key.equals(k))))return?first;//?如果不是第一個元素,并且下一個元素不是空的if?((e?=?first.next)?!=?null)?{//?判斷是否屬于?TreeNode,如果是?TreeNode?實例,直接從?TreeNode.getTreeNode?取if?(first?instanceof?TreeNode)return?((TreeNode<K,V>)first).getTreeNode(hash,?key);//?如果還不是?TreeNode?實例,就直接循環數組元素,直到找到指定元素位置do?{if?(e.hash?==?hash?&&((k?=?e.key)?==?key?||?(key?!=?null?&&?key.equals(k))))return?e;}?while?((e?=?e.next)?!=?null);}}return?null; }

來簡單介紹下吧,首先會檢查 table 中的元素是否為空,然后根據 hash 算出指定 key 的位置。然后檢查鏈表的第一個元素是否為空,如果不為空,是否匹配,如果匹配,直接返回這條記錄;如果匹配,再判斷下一個元素的值是否為 null,為空直接返回,如果不為空,再判斷是否是?TreeNode?實例,如果是 TreeNode 實例,則直接使用?TreeNode.getTreeNode?取出元素,否則執行循環,直到下一個元素為 null 位置。

getNode?方法有一個比較重要的過程就是?「(n - 1) & hash」,這段代碼是確定需要查找的桶的位置的,那么,為什么要 (n - 1) & hash 呢?

n 就是 HashMap 中桶的數量,這句話的意思也就是說 (n - 1) & hash 就是 (桶的容量 - 1) & hash

//?為什么?HashMap?的檢索位置是?(table.size?-?1)?&?hash public?static?void?main(String[]?args)?{Map<String,Object>?map?=?new?HashMap<>();//?debug?得知?1?的?hash?值算出來是?49map.put("1","cxuan");//?debug?得知?1?的?hash?值算出來是?50map.put("2","cxuan");//?debug?得知?1?的?hash?值算出來是?51map.put("3","cxuan");}

那么每次算完之后的 (n - 1) & hash ,依次為

也就是?「tab[(n - 1) & hash]」?算出的具體位置。

HashMap 的遍歷方式

HashMap 的遍歷,也是一個使用頻次特別高的操作

HashMap 遍歷的基類是?HashIterator,它是一個 Hash 迭代器,它是一個 HashMap 內部的抽象類,它的構造比較簡單,只有三種方法,「hasNext 、 remove 和 nextNode」?方法,其中 nextNode 方法是由三種迭代器實現的

這三種迭代器就就是

  • KeyIterator?,對 key 進行遍歷

  • ValueIterator,對 value 進行遍歷

  • EntryIterator, 對 Entry 鏈進行遍歷

雖然說看著迭代器比較多,但其實他們的遍歷順序都是一樣的,構造也非常簡單,都是使用?HashIterator?中的?nextNode?方法進行遍歷

final?class?KeyIterator?extends?HashIteratorimplements?Iterator<K>?{public?final?K?next()?{?return?nextNode().key;?}}final?class?ValueIterator?extends?HashIteratorimplements?Iterator<V>?{public?final?V?next()?{?return?nextNode().value;?} }final?class?EntryIterator?extends?HashIteratorimplements?Iterator<Map.Entry<K,V>>?{public?final?Map.Entry<K,V>?next()?{?return?nextNode();?} }

HashIterator 中的遍歷方式

abstract?class?HashIterator?{Node<K,V>?next;????????//?下一個?entry?節點Node<K,V>?current;?????//?當前?entry?節點int?expectedModCount;??//?fail-fast?的判斷標識int?index;?????????????//?當前槽HashIterator()?{expectedModCount?=?modCount;Node<K,V>[]?t?=?table;current?=?next?=?null;index?=?0;if?(t?!=?null?&&?size?>?0)?{?//?advance?to?first?entrydo?{}?while?(index?<?t.length?&&?(next?=?t[index++])?==?null);}}public?final?boolean?hasNext()?{return?next?!=?null;}final?Node<K,V>?nextNode()?{Node<K,V>[]?t;Node<K,V>?e?=?next;if?(modCount?!=?expectedModCount)throw?new?ConcurrentModificationException();if?(e?==?null)throw?new?NoSuchElementException();if?((next?=?(current?=?e).next)?==?null?&&?(t?=?table)?!=?null)?{do?{}?while?(index?<?t.length?&&?(next?=?t[index++])?==?null);}return?e;}public?final?void?remove()?{...} }

next 和 current 分別表示下一個 Node 節點和當前的 Node 節點,HashIterator 在初始化時會遍歷所有的節點。下面我們用圖來表示一下他們的遍歷順序

你會發現?nextNode()?方法的遍歷方式和 HashIterator 的遍歷方式一樣,只不過判斷條件不一樣,構造 HashIterator 的時候判斷條件是有沒有鏈表,桶是否為 null,而遍歷 nextNode 的判斷條件變為下一個 node 節點是不是 null ,并且桶是不是為 null。

HashMap 中的移除方法

HashMap 中的移除方法也比較簡單了,源碼如下

public?V?remove(Object?key)?{Node<K,V>?e;return?(e?=?removeNode(hash(key),?key,?null,?false,?true))?==?null??null?:?e.value; }final?Node<K,V>?removeNode(int?hash,?Object?key,?Object?value,boolean?matchValue,?boolean?movable)?{Node<K,V>[]?tab;?Node<K,V>?p;?int?n,?index;if?((tab?=?table)?!=?null?&&?(n?=?tab.length)?>?0?&&(p?=?tab[index?=?(n?-?1)?&?hash])?!=?null)?{Node<K,V>?node?=?null,?e;?K?k;?V?v;if?(p.hash?==?hash?&&((k?=?p.key)?==?key?||?(key?!=?null?&&?key.equals(k))))node?=?p;else?if?((e?=?p.next)?!=?null)?{if?(p?instanceof?TreeNode)node?=?((TreeNode<K,V>)p).getTreeNode(hash,?key);else?{do?{if?(e.hash?==?hash?&&((k?=?e.key)?==?key?||(key?!=?null?&&?key.equals(k))))?{node?=?e;break;}p?=?e;}?while?((e?=?e.next)?!=?null);}}if?(node?!=?null?&&?(!matchValue?||?(v?=?node.value)?==?value?||(value?!=?null?&&?value.equals(v))))?{if?(node?instanceof?TreeNode)((TreeNode<K,V>)node).removeTreeNode(this,?tab,?movable);else?if?(node?==?p)tab[index]?=?node.next;elsep.next?=?node.next;++modCount;--size;afterNodeRemoval(node);return?node;}}return?null; }

remove 方法有很多,最終都會調用到 removeNode 方法,只不過傳遞的參數值不同,我們拿 remove(object) 來演示一下。

首先會通過 hash 來找到對應的 bucket,然后通過遍歷鏈表,找到鍵值相等的節點,然后把對應的節點進行刪除。

關于 HashMap 的面試題

HashMap 的數據結構

JDK1.7 中,HashMap 采用位桶 + 鏈表的實現,即使用鏈表來處理沖突,同一 hash 值的鏈表都存儲在一個數組中。但是當位于一個桶中的元素較多,即 hash 值相等的元素較多時,通過 key 值依次查找的效率較低。

所以,與 JDK 1.7 相比,JDK 1.8 在底層結構方面做了一些改變,當每個桶中元素大于 8 的時候,會轉變為紅黑樹,目的就是優化查詢效率。

HashMap 的 put 過程

大致過程如下,首先會使用 hash 方法計算對象的哈希碼,根據哈希碼來確定在 bucket 中存放的位置,如果 bucket 中沒有 Node 節點則直接進行 put,如果對應 bucket 已經有 Node 節點,會對鏈表長度進行分析,判斷長度是否大于 8,如果鏈表長度小于 8 ,在 JDK1.7 前會使用頭插法,在 JDK1.8 之后更改為尾插法。如果鏈表長度大于 8 會進行樹化操作,把鏈表轉換為紅黑樹,在紅黑樹上進行存儲。

HashMap 為啥線程不安全

HashMap 不是一個線程安全的容器,不安全性體現在多線程并發對 HashMap 進行 put 操作上。如果有兩個線程 A 和 B ,首先 A 希望插入一個鍵值對到 HashMap 中,在決定好桶的位置進行 put 時,此時 A 的時間片正好用完了,輪到 B 運行,B 運行后執行和 A 一樣的操作,只不過 B 成功把鍵值對插入進去了。如果 A 和 B 插入的位置(桶)是一樣的,那么線程 A 繼續執行后就會覆蓋 B 的記錄,造成了數據不一致問題。

還有一點在于 HashMap 在擴容時,因 resize 方法會形成環,造成死循環,導致 CPU 飆高。

HashMap 是如何處理哈希碰撞的

HashMap 底層是使用位桶 + 鏈表實現的,位桶決定元素的插入位置,位桶是由 hash 方法決定的,當多個元素的 hash 計算得到相同的哈希值后,HashMap 會把多個 Node 元素都放在對應的位桶中,形成鏈表,這種處理哈希碰撞的方式被稱為鏈地址法。

其他處理 hash 碰撞的方式還有?「開放地址法、rehash 方法、建立一個公共溢出區」這幾種方法。

HashMap 是如何 get 元素的

首先會檢查 table 中的元素是否為空,然后根據 hash 算出指定 key 的位置。然后檢查鏈表的第一個元素是否為空,如果不為空,是否匹配,如果匹配,直接返回這條記錄;如果匹配,再判斷下一個元素的值是否為 null,為空直接返回,如果不為空,再判斷是否是?TreeNode?實例,如果是 TreeNode 實例,則直接使用?TreeNode.getTreeNode?取出元素,否則執行循環,直到下一個元素為 null 位置。

HashMap 和 HashTable 有什么區別

見上

HashMap 和 HashSet 的區別

見上

HashMap 是如何擴容的

HashMap 中有兩個非常重要的變量,一個是?loadFactor?,一個是?threshold?,loadFactor 表示的就是負載因子,threshold 表示的是下一次要擴容的閾值,當 threshold = loadFactor * 數組長度時,數組長度擴大位原來的兩倍,來重新調整 map 的大小,并將原來的對象放入新的 bucket 數組中。

HashMap 的長度為什么是 2 的冪次方

這道題我想了幾天,之前和群里小伙伴們探討每日一題的時候,問他們為什么 length%hash == (n - 1) & hash,它們說相等的前提是 length 的長度 2 的冪次方,然后我回了一句難道 length 還能不是 2 的冪次方嗎?其實是我沒有搞懂因果關系,因為 HashMap 的長度是 2 的冪次方,所以使用余數來判斷在桶中的下標。如果 length 的長度不是 2 的冪次方,小伙伴們可以舉個例子來試試。

例如長度為 9 時候,3 & (9-1) = 0,2 & (9-1) = 0 ,都在 0 上,碰撞了;

這樣會增大 HashMap 碰撞的幾率。

HashMap 線程安全的實現有哪些

因為 HashMap 不是一個線程安全的容器,所以并發場景下推薦使用?ConcurrentHashMap?,或者使用線程安全的 HashMap,使用?Collections?包下的線程安全的容器,比如說

Collections.synchronizedMap(new?HashMap());

還可以使用 HashTable ,它也是線程安全的容器,基于 key-value 存儲,經常用 HashMap 和 HashTable 做比較就是因為 HashTable 的數據結構和 HashMap 相同。

上面效率最高的就是 ConcurrentHashMap。

文章并沒有敘述太多關于紅黑樹的構造、包含添加、刪除、樹化等過程,一方面是自己能力還達不到,一方面是關于紅黑樹的描述太過于占據篇幅,紅黑樹又是很大的一部分內容,所以會考慮放在后續的紅黑樹進行講解。

推薦閱讀
  • 淺談分布式存儲中的網絡通信

  • 138 張圖帶你 MySQL 入門!

  • 如何在 Kubernetes 上配置 Jenkins?

  • 突發!印度封禁抖音、微信、快手等 59 款中國 App

  • 厲害!國內大學生計算機編程第一人,一人挑戰一個隊,百度最年輕 T10,現創業自動駕駛

  • Balancer因通縮代幣STA遭遇閃電貸攻擊,價值50萬美元資產被黑

  • 淺談分布式存儲中的網絡通信

真香,朕在看了!

總結

以上是生活随笔為你收集整理的看完这篇 HashMap ,和面试官扯皮就没问题了的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

波多野结衣av一区二区全免费观看 | 日韩在线不卡免费视频一区 | 欧美日韩视频无码一区二区三 | 精品无码一区二区三区的天堂 | 天天做天天爱天天爽综合网 | 伊人久久大香线蕉亚洲 | 亚洲色大成网站www国产 | 性色欲情网站iwww九文堂 | 中文字幕乱码亚洲无线三区 | 国产美女极度色诱视频www | 3d动漫精品啪啪一区二区中 | 最近中文2019字幕第二页 | 婷婷五月综合缴情在线视频 | 久久精品女人天堂av免费观看 | 久久久精品欧美一区二区免费 | 欧美自拍另类欧美综合图片区 | 青青草原综合久久大伊人精品 | 亚洲热妇无码av在线播放 | 久久久久99精品成人片 | 亚洲va欧美va天堂v国产综合 | 久久综合香蕉国产蜜臀av | 丰满人妻精品国产99aⅴ | 亚洲精品一区二区三区婷婷月 | 亚洲精品一区二区三区在线观看 | 色婷婷综合激情综在线播放 | 色综合天天综合狠狠爱 | 丰满少妇熟乱xxxxx视频 | 国产精品久久福利网站 | 欧美熟妇另类久久久久久多毛 | 亚洲国产精品无码一区二区三区 | 欧美喷潮久久久xxxxx | 亚洲一区二区三区 | 成人免费无码大片a毛片 | 99视频精品全部免费免费观看 | 久久久亚洲欧洲日产国码αv | 亚洲最大成人网站 | 九九综合va免费看 | 免费观看的无遮挡av | 日韩欧美成人免费观看 | 精品国产精品久久一区免费式 | 无码播放一区二区三区 | 欧洲精品码一区二区三区免费看 | 国内丰满熟女出轨videos | 色情久久久av熟女人妻网站 | 露脸叫床粗话东北少妇 | 中国女人内谢69xxxx | 老熟女乱子伦 | 精品偷自拍另类在线观看 | 午夜无码人妻av大片色欲 | 日本精品人妻无码77777 天堂一区人妻无码 | 全黄性性激高免费视频 | 久久99精品国产.久久久久 | 亚洲精品国偷拍自产在线观看蜜桃 | 色婷婷香蕉在线一区二区 | av人摸人人人澡人人超碰下载 | 国产xxx69麻豆国语对白 | 日产精品99久久久久久 | 窝窝午夜理论片影院 | 欧美人与物videos另类 | 伦伦影院午夜理论片 | 亚洲国产一区二区三区在线观看 | 精品国产精品久久一区免费式 | 欧美兽交xxxx×视频 | 久久国内精品自在自线 | 亚洲の无码国产の无码影院 | av无码不卡在线观看免费 | av无码久久久久不卡免费网站 | 欧美zoozzooz性欧美 | 久久久久久av无码免费看大片 | 中文字幕av日韩精品一区二区 | 国产色精品久久人妻 | 亚洲成a人片在线观看无码 | 亚欧洲精品在线视频免费观看 | 国产一区二区三区日韩精品 | 夫妻免费无码v看片 | 女高中生第一次破苞av | 欧美成人高清在线播放 | 久久久久久av无码免费看大片 | 亚洲国产欧美在线成人 | 亚洲成熟女人毛毛耸耸多 | 中文久久乱码一区二区 | 人人澡人人妻人人爽人人蜜桃 | 日本熟妇大屁股人妻 | 狠狠色欧美亚洲狠狠色www | 99久久精品日本一区二区免费 | 国産精品久久久久久久 | 樱花草在线社区www | 国产激情无码一区二区app | 国产精品久久久久影院嫩草 | 欧洲精品码一区二区三区免费看 | 麻豆国产97在线 | 欧洲 | 波多野结衣高清一区二区三区 | 亚洲区欧美区综合区自拍区 | 国产精品永久免费视频 | 日日碰狠狠躁久久躁蜜桃 | 成人无码视频在线观看网站 | 国产成人无码av一区二区 | 精品久久久无码中文字幕 | 国产三级精品三级男人的天堂 | 最近免费中文字幕中文高清百度 | 久久精品丝袜高跟鞋 | 三上悠亚人妻中文字幕在线 | 美女毛片一区二区三区四区 | 欧美熟妇另类久久久久久不卡 | 天天拍夜夜添久久精品大 | 久久国内精品自在自线 | 国产精品久久精品三级 | 十八禁真人啪啪免费网站 | 欧美日韩人成综合在线播放 | 伊在人天堂亚洲香蕉精品区 | 国产办公室秘书无码精品99 | 国产国语老龄妇女a片 | 亚洲一区二区三区香蕉 | 亚洲中文字幕在线观看 | 精品 日韩 国产 欧美 视频 | 乱人伦人妻中文字幕无码久久网 | 日本高清一区免费中文视频 | 小泽玛莉亚一区二区视频在线 | 日韩av无码一区二区三区 | 日本精品少妇一区二区三区 | 久久久国产精品无码免费专区 | 一本精品99久久精品77 | 久久久精品成人免费观看 | 日韩无码专区 | 麻豆果冻传媒2021精品传媒一区下载 | 一区二区三区乱码在线 | 欧洲 | 亚洲一区二区三区无码久久 | 亚洲人亚洲人成电影网站色 | 国产成人av免费观看 | 久激情内射婷内射蜜桃人妖 | 国产小呦泬泬99精品 | 女人被爽到呻吟gif动态图视看 | 少妇愉情理伦片bd | 欧美激情综合亚洲一二区 | 亚洲成a人一区二区三区 | 亚洲成a人片在线观看无码3d | 国产在线无码精品电影网 | 国产麻豆精品精东影业av网站 | 最新版天堂资源中文官网 | 日韩人妻无码中文字幕视频 | 麻豆国产97在线 | 欧洲 | 一本一道久久综合久久 | 中文字幕+乱码+中文字幕一区 | 亚洲理论电影在线观看 | 麻豆蜜桃av蜜臀av色欲av | 一本大道久久东京热无码av | 欧美黑人乱大交 | 亚洲性无码av中文字幕 | 亚洲综合精品香蕉久久网 | 无码人妻av免费一区二区三区 | 人妻有码中文字幕在线 | 国产在线无码精品电影网 | 国产69精品久久久久app下载 | www国产亚洲精品久久网站 | 欧美激情综合亚洲一二区 | 人人澡人人妻人人爽人人蜜桃 | 亚洲成av人片在线观看无码不卡 | 国产精品久久国产精品99 | 日本熟妇人妻xxxxx人hd | 一本久道久久综合婷婷五月 | 99久久亚洲精品无码毛片 | 久久久久免费看成人影片 | 三上悠亚人妻中文字幕在线 | 久久久久久av无码免费看大片 | 欧美国产日韩亚洲中文 | 免费无码一区二区三区蜜桃大 | 亚洲精品国产第一综合99久久 | 成人aaa片一区国产精品 | 亚洲色大成网站www国产 | 漂亮人妻洗澡被公强 日日躁 | 中文久久乱码一区二区 | 久久www免费人成人片 | 色情久久久av熟女人妻网站 | 18禁止看的免费污网站 | 国产精品久久久久久久影院 | 中文精品无码中文字幕无码专区 | 亚洲va欧美va天堂v国产综合 | 中文字幕乱码亚洲无线三区 | 久久久久久九九精品久 | 中文字幕无码人妻少妇免费 | 国产精品成人av在线观看 | 中文无码成人免费视频在线观看 | 久久精品国产一区二区三区肥胖 | 97人妻精品一区二区三区 | 一本大道伊人av久久综合 | 波多野结衣一区二区三区av免费 | 欧美日韩综合一区二区三区 | 给我免费的视频在线观看 | 亚洲日韩一区二区 | 男女性色大片免费网站 | 精品日本一区二区三区在线观看 | 国产成人无码一二三区视频 | 免费视频欧美无人区码 | 久久伊人色av天堂九九小黄鸭 | 人人爽人人爽人人片av亚洲 | 无码吃奶揉捏奶头高潮视频 | 国产农村妇女高潮大叫 | 久久久av男人的天堂 | 亚洲伊人久久精品影院 | 亚洲精品鲁一鲁一区二区三区 | 亚洲七七久久桃花影院 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲一区二区三区播放 | 色欲av亚洲一区无码少妇 | 欧美xxxxx精品 | 天干天干啦夜天干天2017 | 自拍偷自拍亚洲精品10p | 国产日产欧产精品精品app | 成人免费视频视频在线观看 免费 | 国产深夜福利视频在线 | 精品国产aⅴ无码一区二区 | 中国女人内谢69xxxx | 中文字幕av伊人av无码av | 999久久久国产精品消防器材 | 亚洲成a人片在线观看无码3d | 久久人人爽人人爽人人片ⅴ | 性欧美videos高清精品 | 亚洲国产精品美女久久久久 | 人人妻人人澡人人爽人人精品浪潮 | 国产电影无码午夜在线播放 | 性欧美牲交xxxxx视频 | 黑人玩弄人妻中文在线 | 日日噜噜噜噜夜夜爽亚洲精品 | 在线亚洲高清揄拍自拍一品区 | 两性色午夜免费视频 | 中文字幕av无码一区二区三区电影 | 红桃av一区二区三区在线无码av | 亚洲精品综合一区二区三区在线 | 欧美日本精品一区二区三区 | 老熟妇乱子伦牲交视频 | 成人精品视频一区二区 | 国产av久久久久精东av | 风流少妇按摩来高潮 | 亚洲成a人一区二区三区 | 国产人妻久久精品二区三区老狼 | 免费国产成人高清在线观看网站 | 一本大道伊人av久久综合 | 久久亚洲中文字幕精品一区 | 动漫av一区二区在线观看 | 国精产品一品二品国精品69xx | 国产成人av免费观看 | 嫩b人妻精品一区二区三区 | 成人av无码一区二区三区 | aⅴ在线视频男人的天堂 | 日日鲁鲁鲁夜夜爽爽狠狠 | 2019午夜福利不卡片在线 | 无码av免费一区二区三区试看 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 欧美精品免费观看二区 | 日本护士xxxxhd少妇 | 亚洲色www成人永久网址 | 亚洲国产精品久久久天堂 | 无码精品国产va在线观看dvd | 亚洲一区av无码专区在线观看 | 欧美国产日韩亚洲中文 | 九九久久精品国产免费看小说 | 国产精品沙发午睡系列 | 久久熟妇人妻午夜寂寞影院 | 动漫av网站免费观看 | av无码电影一区二区三区 | 婷婷丁香六月激情综合啪 | 国内精品一区二区三区不卡 | 高清国产亚洲精品自在久久 | 国产内射爽爽大片视频社区在线 | 亚洲日韩一区二区 | 欧美兽交xxxx×视频 | 亚洲aⅴ无码成人网站国产app | 成人无码视频免费播放 | 久久综合激激的五月天 | 中国大陆精品视频xxxx | 久久久久成人精品免费播放动漫 | 高中生自慰www网站 | 精品无码一区二区三区爱欲 | 欧洲vodafone精品性 | 免费乱码人妻系列无码专区 | 久久久久免费看成人影片 | 77777熟女视频在线观看 а天堂中文在线官网 | 99视频精品全部免费免费观看 | 精品成在人线av无码免费看 | 老头边吃奶边弄进去呻吟 | 成年女人永久免费看片 | 亚洲欧美国产精品久久 | 99久久人妻精品免费二区 | 99久久久无码国产aaa精品 | 国产办公室秘书无码精品99 | 国产香蕉尹人综合在线观看 | 一二三四社区在线中文视频 | 国内综合精品午夜久久资源 | 午夜嘿嘿嘿影院 | 亚洲一区二区三区在线观看网站 | 日本免费一区二区三区最新 | 免费人成网站视频在线观看 | 人人澡人摸人人添 | 中文字幕精品av一区二区五区 | 好男人www社区 | 国产又粗又硬又大爽黄老大爷视 | 人人妻人人澡人人爽人人精品浪潮 | 无码人妻精品一区二区三区不卡 | 久久天天躁夜夜躁狠狠 | 国产午夜无码精品免费看 | 久久综合激激的五月天 | 色诱久久久久综合网ywww | 日韩精品无码一区二区中文字幕 | 中文无码成人免费视频在线观看 | 精品国产青草久久久久福利 | 国内精品人妻无码久久久影院蜜桃 | 性做久久久久久久久 | 少妇性荡欲午夜性开放视频剧场 | 久久精品国产一区二区三区肥胖 | 国产精品福利视频导航 | 国产精品亚洲а∨无码播放麻豆 | 久久久久成人精品免费播放动漫 | 日本精品久久久久中文字幕 | 男女性色大片免费网站 | 精品国精品国产自在久国产87 | 国产福利视频一区二区 | 大屁股大乳丰满人妻 | 成人性做爰aaa片免费看不忠 | 无遮挡国产高潮视频免费观看 | 丰满人妻翻云覆雨呻吟视频 | 久久综合给久久狠狠97色 | 内射白嫩少妇超碰 | 精品欧美一区二区三区久久久 | 国产激情精品一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载 | 99久久精品无码一区二区毛片 | 国产无遮挡又黄又爽免费视频 | 最近的中文字幕在线看视频 | 日本www一道久久久免费榴莲 | 国产激情无码一区二区 | 人妻尝试又大又粗久久 | 国产成人无码午夜视频在线观看 | 久久国产36精品色熟妇 | 亚洲精品国偷拍自产在线观看蜜桃 | 99国产欧美久久久精品 | 久久亚洲中文字幕精品一区 | av无码电影一区二区三区 | 国产香蕉尹人综合在线观看 | 日韩成人一区二区三区在线观看 | 欧美阿v高清资源不卡在线播放 | 精品久久久久久人妻无码中文字幕 | 国产成人精品久久亚洲高清不卡 | 欧美日韩一区二区综合 | 成人亚洲精品久久久久软件 | 少妇性俱乐部纵欲狂欢电影 | 55夜色66夜色国产精品视频 | 国产又爽又猛又粗的视频a片 | 欧美熟妇另类久久久久久不卡 | av无码久久久久不卡免费网站 | 久久精品99久久香蕉国产色戒 | 亚洲一区二区三区香蕉 | 国产成人亚洲综合无码 | 狠狠色色综合网站 | 亚洲第一无码av无码专区 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 蜜桃视频韩日免费播放 | 中文字幕久久久久人妻 | 欧美精品一区二区精品久久 | 国产人妻人伦精品 | 国产一区二区三区精品视频 | 成人精品视频一区二区三区尤物 | 国内精品久久久久久中文字幕 | 亚洲欧美日韩国产精品一区二区 | 国产精品va在线播放 | 日本大乳高潮视频在线观看 | 麻豆精品国产精华精华液好用吗 | 鲁鲁鲁爽爽爽在线视频观看 | 亚洲国产精品无码一区二区三区 | 国产成人av免费观看 | 久久zyz资源站无码中文动漫 | 亚洲成a人片在线观看无码3d | 中文字幕乱码亚洲无线三区 | 高清不卡一区二区三区 | 亚洲日韩av片在线观看 | 亚洲无人区午夜福利码高清完整版 | 无遮挡国产高潮视频免费观看 | 天天综合网天天综合色 | 人人妻人人藻人人爽欧美一区 | 又大又硬又爽免费视频 | 国产av无码专区亚洲awww | 蜜桃臀无码内射一区二区三区 | 亚洲一区二区三区偷拍女厕 | av香港经典三级级 在线 | 永久免费观看国产裸体美女 | 亚洲国产欧美在线成人 | 天天拍夜夜添久久精品 | 亚洲成熟女人毛毛耸耸多 | 欧美激情综合亚洲一二区 | 亚洲国产成人av在线观看 | 色综合天天综合狠狠爱 | 国产av一区二区三区最新精品 | 377p欧洲日本亚洲大胆 | 高清不卡一区二区三区 | 久久99久久99精品中文字幕 | 中文字幕人妻无码一区二区三区 | 欧美性生交活xxxxxdddd | 久久久婷婷五月亚洲97号色 | 中文字幕人妻无码一区二区三区 | 国产97人人超碰caoprom | 久久 国产 尿 小便 嘘嘘 | 国产精品久久国产三级国 | 特级做a爰片毛片免费69 | 成人精品一区二区三区中文字幕 | 99视频精品全部免费免费观看 | 国产精品人人爽人人做我的可爱 | 99riav国产精品视频 | 中文字幕av日韩精品一区二区 | 欧美成人高清在线播放 | 精品国偷自产在线视频 | 色诱久久久久综合网ywww | 中文精品无码中文字幕无码专区 | 欧美激情内射喷水高潮 | 免费国产黄网站在线观看 | 国产一精品一av一免费 | 纯爱无遮挡h肉动漫在线播放 | 又紧又大又爽精品一区二区 | 国产精品国产自线拍免费软件 | 国产精品怡红院永久免费 | 亚洲第一无码av无码专区 | 亚洲天堂2017无码中文 | 国内精品久久毛片一区二区 | 国产成人综合在线女婷五月99播放 | 国产农村乱对白刺激视频 | 亚洲午夜无码久久 | 精品国产一区二区三区四区在线看 | 日韩无码专区 | 成熟人妻av无码专区 | 亚洲 日韩 欧美 成人 在线观看 | 色情久久久av熟女人妻网站 | 免费无码肉片在线观看 | 久久精品成人欧美大片 | 精品国产精品久久一区免费式 | 男人扒开女人内裤强吻桶进去 | 精品国产乱码久久久久乱码 | 久久久久成人片免费观看蜜芽 | 国产美女精品一区二区三区 | 中文无码伦av中文字幕 | 狠狠色丁香久久婷婷综合五月 | 乱人伦人妻中文字幕无码 | 国产免费久久精品国产传媒 | 永久黄网站色视频免费直播 | 99久久人妻精品免费二区 | 日欧一片内射va在线影院 | 久久97精品久久久久久久不卡 | 久久无码中文字幕免费影院蜜桃 | 精品一二三区久久aaa片 | 国产明星裸体无码xxxx视频 | 国产免费观看黄av片 | 国内精品人妻无码久久久影院蜜桃 | 亚洲色偷偷男人的天堂 | 国产特级毛片aaaaaa高潮流水 | 粗大的内捧猛烈进出视频 | 国产精品内射视频免费 | 人妻少妇精品无码专区动漫 | 一本一道久久综合久久 | 国产尤物精品视频 | 国产特级毛片aaaaaa高潮流水 | 欧美性生交活xxxxxdddd | 高清国产亚洲精品自在久久 | 天堂一区人妻无码 | 亚洲成色www久久网站 | 国产人成高清在线视频99最全资源 | 久久aⅴ免费观看 | 色欲久久久天天天综合网精品 | 久久国产精品精品国产色婷婷 | 国产人妻精品一区二区三区不卡 | 131美女爱做视频 | 性做久久久久久久久 | 欧美日本免费一区二区三区 | 欧美国产日韩久久mv | 久久精品国产99久久6动漫 | 日本一区二区三区免费播放 | 亚洲成色在线综合网站 | 在线播放免费人成毛片乱码 | 国语精品一区二区三区 | 国产亚洲精品久久久久久国模美 | 亚洲欧美日韩成人高清在线一区 | 成人欧美一区二区三区黑人 | 99精品视频在线观看免费 | 对白脏话肉麻粗话av | 久久精品国产日本波多野结衣 | 亚洲色大成网站www | 国产麻豆精品一区二区三区v视界 | 亚洲中文字幕va福利 | 久久 国产 尿 小便 嘘嘘 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 日本精品高清一区二区 | 国产精品对白交换视频 | 97资源共享在线视频 | 国产成人精品一区二区在线小狼 | 亚洲自偷精品视频自拍 | 荡女精品导航 | 日韩精品一区二区av在线 | 狠狠色噜噜狠狠狠狠7777米奇 | 在线观看免费人成视频 | 国产真人无遮挡作爱免费视频 | 久久99国产综合精品 | 色一情一乱一伦一区二区三欧美 | 欧美精品在线观看 | √天堂资源地址中文在线 | 亚洲综合久久一区二区 | 青青草原综合久久大伊人精品 | 国产av一区二区精品久久凹凸 | 国产尤物精品视频 | 欧美色就是色 | 国产成人无码av在线影院 | 国产精品-区区久久久狼 | 无码吃奶揉捏奶头高潮视频 | 久久熟妇人妻午夜寂寞影院 | 3d动漫精品啪啪一区二区中 | 国产手机在线αⅴ片无码观看 | 亚洲精品午夜国产va久久成人 | 狠狠亚洲超碰狼人久久 | 亚洲一区二区观看播放 | 国产成人亚洲综合无码 | 夜夜躁日日躁狠狠久久av | 成人精品天堂一区二区三区 | 亚洲а∨天堂久久精品2021 | 在线天堂新版最新版在线8 | 日本免费一区二区三区最新 | 小鲜肉自慰网站xnxx | 亚洲精品中文字幕 | 人妻少妇精品视频专区 | 无码人妻出轨黑人中文字幕 | 亚洲精品一区二区三区在线观看 | 伊人久久大香线蕉午夜 | 久久亚洲中文字幕精品一区 | 免费中文字幕日韩欧美 | 国产av一区二区精品久久凹凸 | 亚洲一区二区三区在线观看网站 | 亚洲成av人影院在线观看 | 无遮无挡爽爽免费视频 | 一二三四在线观看免费视频 | 亚洲aⅴ无码成人网站国产app | 国产综合在线观看 | 任你躁在线精品免费 | 正在播放东北夫妻内射 | 精品无码一区二区三区爱欲 | 欧美激情综合亚洲一二区 | 色偷偷人人澡人人爽人人模 | 亚洲国产精品久久人人爱 | 欧美三级a做爰在线观看 | 精品日本一区二区三区在线观看 | 成 人 网 站国产免费观看 | 亚洲精品国产第一综合99久久 | 国精品人妻无码一区二区三区蜜柚 | 久久精品女人的天堂av | 99久久婷婷国产综合精品青草免费 | 激情综合激情五月俺也去 | 精品国产成人一区二区三区 | 桃花色综合影院 | 欧美激情一区二区三区成人 | 东北女人啪啪对白 | 日本熟妇乱子伦xxxx | 亚洲国产欧美国产综合一区 | 国产亚洲人成在线播放 | 在线a亚洲视频播放在线观看 | 少妇性l交大片欧洲热妇乱xxx | 色综合视频一区二区三区 | 欧美人与动性行为视频 | 久久久精品成人免费观看 | 亚洲gv猛男gv无码男同 | 中文字幕无码av激情不卡 | 亚洲精品久久久久久久久久久 | 中国大陆精品视频xxxx | 性史性农村dvd毛片 | 国产精品办公室沙发 | 无码国产色欲xxxxx视频 | 东北女人啪啪对白 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 美女毛片一区二区三区四区 | 久久久成人毛片无码 | 国产精品久久久久7777 | 99久久精品日本一区二区免费 | 亚洲国产精品久久久天堂 | a在线亚洲男人的天堂 | 亚洲精品国产a久久久久久 | 露脸叫床粗话东北少妇 | 欧美丰满少妇xxxx性 | 日韩精品一区二区av在线 | 无码帝国www无码专区色综合 | 久久久久国色av免费观看性色 | 女高中生第一次破苞av | 国产在线aaa片一区二区99 | 永久免费观看美女裸体的网站 | 99久久久无码国产精品免费 | 亚洲色成人中文字幕网站 | 国产精品美女久久久久av爽李琼 | 日本www一道久久久免费榴莲 | 3d动漫精品啪啪一区二区中 | а√天堂www在线天堂小说 | 免费人成网站视频在线观看 | www一区二区www免费 | 日日碰狠狠躁久久躁蜜桃 | 国产一精品一av一免费 | 白嫩日本少妇做爰 | 一本色道久久综合亚洲精品不卡 | 欧洲熟妇色 欧美 | 性做久久久久久久免费看 | 无码人妻久久一区二区三区不卡 | 乌克兰少妇xxxx做受 | 国产精品成人av在线观看 | 性色欲情网站iwww九文堂 | 亚洲小说图区综合在线 | 欧美丰满熟妇xxxx | 国产精品无码一区二区桃花视频 | 久久精品成人欧美大片 | 国产国产精品人在线视 | 鲁大师影院在线观看 | 九九综合va免费看 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲人成影院在线无码按摩店 | 欧美午夜特黄aaaaaa片 | 四虎永久在线精品免费网址 | 性生交大片免费看女人按摩摩 | 久久国产自偷自偷免费一区调 | 人人妻人人澡人人爽欧美一区 | 精品国偷自产在线 | 99久久婷婷国产综合精品青草免费 | 宝宝好涨水快流出来免费视频 | 中文字幕乱码亚洲无线三区 | 亚洲色www成人永久网址 | 亚洲男人av天堂午夜在 | 日韩精品久久久肉伦网站 | 在线 国产 欧美 亚洲 天堂 | 久久久久亚洲精品男人的天堂 | 欧洲熟妇色 欧美 | 久久国产精品精品国产色婷婷 | 蜜桃无码一区二区三区 | 福利一区二区三区视频在线观看 | 亚洲精品久久久久中文第一幕 | 亚洲国产欧美国产综合一区 | 亚洲熟妇色xxxxx亚洲 | 少妇一晚三次一区二区三区 | 无码午夜成人1000部免费视频 | 亚洲色欲色欲欲www在线 | 综合激情五月综合激情五月激情1 | 18禁止看的免费污网站 | 波多野结衣一区二区三区av免费 | 中文精品无码中文字幕无码专区 | 福利一区二区三区视频在线观看 | 精品欧洲av无码一区二区三区 | 亚洲天堂2017无码中文 | 久久精品99久久香蕉国产色戒 | 久久综合九色综合欧美狠狠 | 日本精品人妻无码免费大全 | 少妇人妻大乳在线视频 | 大色综合色综合网站 | 中文字幕日产无线码一区 | а√天堂www在线天堂小说 | 亚洲 日韩 欧美 成人 在线观看 | 一个人看的视频www在线 | 成 人影片 免费观看 | 中文字幕色婷婷在线视频 | 无码人妻精品一区二区三区不卡 | 成人毛片一区二区 | 国产美女极度色诱视频www | 日韩在线不卡免费视频一区 | 色综合视频一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 人人澡人摸人人添 | 国产农村妇女高潮大叫 | 永久免费精品精品永久-夜色 | 久久久国产精品无码免费专区 | 国产又爽又黄又刺激的视频 | 亚洲中文字幕在线无码一区二区 | 人人妻人人澡人人爽人人精品 | 女人被男人躁得好爽免费视频 | 久久久亚洲欧洲日产国码αv | www国产亚洲精品久久网站 | 最新国产乱人伦偷精品免费网站 | 亚洲国产一区二区三区在线观看 | 欧美人妻一区二区三区 | 精品无码国产一区二区三区av | 国产在线精品一区二区三区直播 | 国产精品久久久久久无码 | 日日鲁鲁鲁夜夜爽爽狠狠 | 欧美人与动性行为视频 | 国产免费无码一区二区视频 | 少妇被黑人到高潮喷出白浆 | 亚洲人成影院在线观看 | 精品成人av一区二区三区 | 黑人粗大猛烈进出高潮视频 | 图片区 小说区 区 亚洲五月 | 最近的中文字幕在线看视频 | 国产成人午夜福利在线播放 | 国产在线精品一区二区高清不卡 | 亚洲精品美女久久久久久久 | 中文字幕无码人妻少妇免费 | 丝袜 中出 制服 人妻 美腿 | 国内精品九九久久久精品 | www国产亚洲精品久久网站 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产精品99爱免费视频 | 一个人看的视频www在线 | 强奷人妻日本中文字幕 | 成人免费视频视频在线观看 免费 | 成 人影片 免费观看 | 欧美性猛交xxxx富婆 | 成人欧美一区二区三区黑人免费 | 高清不卡一区二区三区 | 国产精品.xx视频.xxtv | 亚洲经典千人经典日产 | 无码帝国www无码专区色综合 | 麻豆国产丝袜白领秘书在线观看 | 少妇无码av无码专区在线观看 | 亚洲国产精品毛片av不卡在线 | 野狼第一精品社区 | 日本丰满护士爆乳xxxx | 亚洲啪av永久无码精品放毛片 | 中文精品无码中文字幕无码专区 | 人人澡人摸人人添 | 亚洲精品www久久久 | а√资源新版在线天堂 | 国产美女极度色诱视频www | 奇米影视7777久久精品人人爽 | 国产黄在线观看免费观看不卡 | 性做久久久久久久久 | 亚洲精品一区二区三区婷婷月 | 国产免费无码一区二区视频 | 精品无码成人片一区二区98 | 亚洲日韩中文字幕在线播放 | 欧美丰满老熟妇xxxxx性 | 国产肉丝袜在线观看 | 亚洲熟妇色xxxxx欧美老妇 | 久9re热视频这里只有精品 | 水蜜桃亚洲一二三四在线 | 荫蒂被男人添的好舒服爽免费视频 | 99精品国产综合久久久久五月天 | 亚洲日韩精品欧美一区二区 | 欧美国产日韩久久mv | 亚洲一区二区三区 | 久久www免费人成人片 | 男人的天堂av网站 | 在线播放免费人成毛片乱码 | 国产极品视觉盛宴 | 久久久中文字幕日本无吗 | 99er热精品视频 | 国产疯狂伦交大片 | 国产成人一区二区三区别 | 丰满护士巨好爽好大乳 | 欧美人与动性行为视频 | 亚洲s色大片在线观看 | 欧美 日韩 亚洲 在线 | 熟妇人妻无码xxx视频 | 老太婆性杂交欧美肥老太 | 又大又黄又粗又爽的免费视频 | 亚洲精品国产第一综合99久久 | 国产综合久久久久鬼色 | 国产精品-区区久久久狼 | 亚洲gv猛男gv无码男同 | 国内精品人妻无码久久久影院蜜桃 | 精品国产麻豆免费人成网站 | 国产两女互慰高潮视频在线观看 | 亚洲精品国偷拍自产在线麻豆 | 亚洲va中文字幕无码久久不卡 | 亚洲va欧美va天堂v国产综合 | 亚洲高清偷拍一区二区三区 | 红桃av一区二区三区在线无码av | 国产成人一区二区三区别 | 国产人妻久久精品二区三区老狼 | 久久aⅴ免费观看 | 欧美性猛交xxxx富婆 | 精品一区二区三区无码免费视频 | 国内精品人妻无码久久久影院 | 少妇高潮一区二区三区99 | 国产激情无码一区二区app | 国产精品亚洲一区二区三区喷水 | 久久精品女人天堂av免费观看 | 香蕉久久久久久av成人 | a国产一区二区免费入口 | 色综合久久网 | 日本饥渴人妻欲求不满 | 国产明星裸体无码xxxx视频 | 日本大乳高潮视频在线观看 | 久久熟妇人妻午夜寂寞影院 | 欧美性生交活xxxxxdddd | 久久99精品久久久久久动态图 | а√天堂www在线天堂小说 | 欧美亚洲国产一区二区三区 | 久久人人爽人人人人片 | 日本欧美一区二区三区乱码 | 成人无码影片精品久久久 | 亚洲人交乣女bbw | 亚洲国产精品毛片av不卡在线 | 日本饥渴人妻欲求不满 | 3d动漫精品啪啪一区二区中 | 丰满护士巨好爽好大乳 | 性欧美牲交在线视频 | 狠狠cao日日穞夜夜穞av | 亚洲成av人综合在线观看 | 日本又色又爽又黄的a片18禁 | 国产精品99久久精品爆乳 | 亚洲日本一区二区三区在线 | 亚洲一区二区三区在线观看网站 | 国产另类ts人妖一区二区 | 亚洲高清偷拍一区二区三区 | 正在播放东北夫妻内射 | 国产内射爽爽大片视频社区在线 | 亚洲精品成人福利网站 | 亚洲国产午夜精品理论片 | 欧美三级不卡在线观看 | 久久国产精品_国产精品 | 无码一区二区三区在线 | 久久这里只有精品视频9 | 亚洲人成无码网www | 老熟妇乱子伦牲交视频 | 免费国产黄网站在线观看 | 丰满岳乱妇在线观看中字无码 | 国内少妇偷人精品视频 | 99精品国产综合久久久久五月天 | 一本加勒比波多野结衣 | 国产无遮挡又黄又爽又色 | 人人妻人人澡人人爽精品欧美 | 国产乱人伦偷精品视频 | 国产成人一区二区三区别 | 强伦人妻一区二区三区视频18 | 亚洲日韩精品欧美一区二区 | 中文字幕乱码人妻二区三区 | 国产又爽又黄又刺激的视频 | 又大又黄又粗又爽的免费视频 | 自拍偷自拍亚洲精品10p | 狠狠色噜噜狠狠狠狠7777米奇 | 在线精品亚洲一区二区 | 亚洲国产av美女网站 | 人人超人人超碰超国产 | 成人综合网亚洲伊人 | 九月婷婷人人澡人人添人人爽 | √天堂资源地址中文在线 | 欧美午夜特黄aaaaaa片 | 亚洲欧美精品伊人久久 | 日本va欧美va欧美va精品 | 在线a亚洲视频播放在线观看 | 成 人影片 免费观看 | 欧美成人高清在线播放 | 亚洲精品中文字幕乱码 | 樱花草在线播放免费中文 | 久久久久免费精品国产 | 成熟女人特级毛片www免费 | 中国女人内谢69xxxxxa片 | 亚洲va中文字幕无码久久不卡 | 精品成人av一区二区三区 | 国产特级毛片aaaaaaa高清 | 亚洲熟妇色xxxxx欧美老妇y | 成年美女黄网站色大免费视频 | 欧美日韩久久久精品a片 | 18无码粉嫩小泬无套在线观看 | 亚洲熟妇自偷自拍另类 | 色综合久久久无码网中文 | 亚洲色大成网站www | 欧美人与动性行为视频 | 久久亚洲中文字幕无码 | 久久人人爽人人爽人人片ⅴ | 久久久久国色av免费观看性色 | 麻豆av传媒蜜桃天美传媒 | 国内精品久久毛片一区二区 | 欧美 日韩 亚洲 在线 | 亚洲一区二区三区偷拍女厕 | www一区二区www免费 | 九九久久精品国产免费看小说 | 国产精品免费大片 | 香蕉久久久久久av成人 | 强辱丰满人妻hd中文字幕 | 国产在线aaa片一区二区99 | 精品久久久无码中文字幕 | 性生交大片免费看l | 中文字幕无码视频专区 | 精品一二三区久久aaa片 | 岛国片人妻三上悠亚 | 日韩精品成人一区二区三区 | 天堂亚洲2017在线观看 | 无套内谢的新婚少妇国语播放 | 一个人看的视频www在线 | 男女超爽视频免费播放 | 国产人成高清在线视频99最全资源 | 国产精品亚洲lv粉色 | 无码人妻精品一区二区三区下载 | 日本免费一区二区三区最新 | 国产免费无码一区二区视频 | 国产一区二区三区影院 | 精品厕所偷拍各类美女tp嘘嘘 | 欧洲美熟女乱又伦 | 国产精品99久久精品爆乳 | 高潮毛片无遮挡高清免费视频 | 亚洲欧美日韩国产精品一区二区 | 免费乱码人妻系列无码专区 | 国产在线精品一区二区三区直播 | 樱花草在线社区www | 国产极品美女高潮无套在线观看 | 亚洲精品一区二区三区大桥未久 | 鲁一鲁av2019在线 | 国语自产偷拍精品视频偷 | 四虎永久在线精品免费网址 | 无码国内精品人妻少妇 | 亚洲精品一区二区三区婷婷月 | 熟妇人妻无乱码中文字幕 | 精品国产一区av天美传媒 | 国产69精品久久久久app下载 | 国产亚洲精品久久久ai换 | 精品人人妻人人澡人人爽人人 | 久久久精品欧美一区二区免费 | 国产av人人夜夜澡人人爽麻豆 | 日欧一片内射va在线影院 | 婷婷综合久久中文字幕蜜桃三电影 | 欧美性色19p | 亚洲国产欧美国产综合一区 | 精品无人区无码乱码毛片国产 | 日产精品高潮呻吟av久久 | 强开小婷嫩苞又嫩又紧视频 | 色婷婷综合中文久久一本 | 亚洲中文字幕久久无码 | 野狼第一精品社区 | 午夜熟女插插xx免费视频 | 无码精品人妻一区二区三区av | 国产偷抇久久精品a片69 | 无码吃奶揉捏奶头高潮视频 | 午夜熟女插插xx免费视频 | 中文字幕精品av一区二区五区 | 久久久精品456亚洲影院 | 免费观看又污又黄的网站 | 人妻少妇精品视频专区 | 波多野结衣一区二区三区av免费 | 亚洲男人av天堂午夜在 | 久久无码专区国产精品s | 日本熟妇浓毛 | 国产成人无码av在线影院 | 99久久久国产精品无码免费 | 婷婷丁香六月激情综合啪 | 白嫩日本少妇做爰 | 国产午夜无码精品免费看 | 欧美黑人巨大xxxxx | 亚洲小说春色综合另类 | 国产一区二区三区四区五区加勒比 | 亚洲高清偷拍一区二区三区 | 国产免费无码一区二区视频 | 牲欲强的熟妇农村老妇女 | 一本精品99久久精品77 | 国产精品久久久久影院嫩草 | 任你躁国产自任一区二区三区 | 狠狠躁日日躁夜夜躁2020 | 欧美成人免费全部网站 | 亚洲乱码中文字幕在线 | 精品人妻人人做人人爽 | 亚洲 a v无 码免 费 成 人 a v | 中文字幕 人妻熟女 | 最近免费中文字幕中文高清百度 | 亚洲精品午夜国产va久久成人 | 欧美一区二区三区视频在线观看 | 乱码av麻豆丝袜熟女系列 | 国产精品久久久午夜夜伦鲁鲁 | 任你躁在线精品免费 | 九月婷婷人人澡人人添人人爽 | 人人妻人人澡人人爽人人精品 | 精品人人妻人人澡人人爽人人 | 欧美肥老太牲交大战 | 四虎4hu永久免费 | 天天做天天爱天天爽综合网 | 在线播放无码字幕亚洲 | 帮老师解开蕾丝奶罩吸乳网站 | 午夜性刺激在线视频免费 | 亚洲精品国产第一综合99久久 | 少妇一晚三次一区二区三区 | 国产精品人妻一区二区三区四 | 亚洲精品午夜国产va久久成人 | 亚洲精品中文字幕乱码 | 国产午夜福利亚洲第一 | 任你躁国产自任一区二区三区 | 国产一区二区三区日韩精品 | 久久成人a毛片免费观看网站 | 国产av无码专区亚洲awww | 亚洲精品国偷拍自产在线麻豆 | 欧美大屁股xxxxhd黑色 | 大地资源网第二页免费观看 | 一本无码人妻在中文字幕免费 | 日本一卡2卡3卡四卡精品网站 | 丰满人妻被黑人猛烈进入 | 国产午夜亚洲精品不卡下载 | 精品无码av一区二区三区 | 男女性色大片免费网站 | 久9re热视频这里只有精品 | 久久人妻内射无码一区三区 | 乌克兰少妇xxxx做受 | 天堂亚洲2017在线观看 | 精品偷自拍另类在线观看 | 精品无人区无码乱码毛片国产 | 中文字幕日韩精品一区二区三区 | 麻豆蜜桃av蜜臀av色欲av | 亚洲 另类 在线 欧美 制服 | 欧美三级a做爰在线观看 | 国产疯狂伦交大片 | 亚洲欧美综合区丁香五月小说 | 国内精品九九久久久精品 | 国产亚洲美女精品久久久2020 | 伊人色综合久久天天小片 | 国产精品99久久精品爆乳 | 激情国产av做激情国产爱 | 久久精品国产99精品亚洲 | 中文字幕人妻无码一区二区三区 | 大地资源中文第3页 | 麻豆国产人妻欲求不满谁演的 | 亚洲成av人在线观看网址 | 在线播放无码字幕亚洲 | 久在线观看福利视频 | 午夜性刺激在线视频免费 | 青草青草久热国产精品 | 色婷婷综合激情综在线播放 | 99久久精品国产一区二区蜜芽 | 少妇邻居内射在线 | 成熟人妻av无码专区 | 无码av免费一区二区三区试看 | aⅴ亚洲 日韩 色 图网站 播放 | 久久精品国产一区二区三区肥胖 | 亚洲日本va中文字幕 | 99久久久国产精品无码免费 | 国产色视频一区二区三区 | 丝袜足控一区二区三区 | 无遮无挡爽爽免费视频 | 国产97在线 | 亚洲 | 中文字幕乱码中文乱码51精品 | 日韩精品一区二区av在线 | 成人三级无码视频在线观看 | 99久久婷婷国产综合精品青草免费 | 美女毛片一区二区三区四区 | 亚洲精品久久久久中文第一幕 | 在线a亚洲视频播放在线观看 | 亚洲成a人片在线观看无码 | 久久久亚洲欧洲日产国码αv | 国产精品永久免费视频 | 亚洲日韩一区二区 | 老司机亚洲精品影院无码 | 久久综合激激的五月天 | 丁香啪啪综合成人亚洲 | 亚洲国产精品毛片av不卡在线 | 亚洲成a人一区二区三区 | 波多野结衣av一区二区全免费观看 | 男人扒开女人内裤强吻桶进去 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚欧洲精品在线视频免费观看 | 国产成人精品无码播放 | 男女作爱免费网站 | 国产黄在线观看免费观看不卡 | 老子影院午夜精品无码 | 色五月丁香五月综合五月 | 亚洲中文无码av永久不收费 | 欧美三级不卡在线观看 | 无码人妻丰满熟妇区五十路百度 | 国产精品igao视频网 | 欧美日本免费一区二区三区 | 无套内谢老熟女 | 国产两女互慰高潮视频在线观看 | 欧洲熟妇精品视频 | 人妻少妇精品无码专区动漫 | 国产尤物精品视频 | 国产69精品久久久久app下载 | 国产在线精品一区二区三区直播 | 特黄特色大片免费播放器图片 | 5858s亚洲色大成网站www | 欧美日韩精品 | 性色av无码免费一区二区三区 | 成在人线av无码免费 | 扒开双腿疯狂进出爽爽爽视频 | 国产又粗又硬又大爽黄老大爷视 | 无码人妻黑人中文字幕 | 亚洲中文字幕乱码av波多ji | 在线 国产 欧美 亚洲 天堂 | 亚洲综合久久一区二区 | 熟妇人妻无码xxx视频 | 国产免费久久精品国产传媒 | 国产美女精品一区二区三区 | 男人扒开女人内裤强吻桶进去 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 欧美日韩视频无码一区二区三 | 久久久中文久久久无码 | 亚洲精品国偷拍自产在线麻豆 | 三上悠亚人妻中文字幕在线 | 精品国产麻豆免费人成网站 | 日本免费一区二区三区最新 | 中文无码成人免费视频在线观看 | 成人性做爰aaa片免费看不忠 | 美女极度色诱视频国产 | 久久久久成人片免费观看蜜芽 | 狂野欧美激情性xxxx | 免费无码的av片在线观看 | 国产成人精品无码播放 | 俺去俺来也在线www色官网 | 亚洲欧美精品伊人久久 | 亚洲国产av精品一区二区蜜芽 | 午夜熟女插插xx免费视频 | 美女黄网站人色视频免费国产 | 免费看少妇作爱视频 | 99久久精品国产一区二区蜜芽 | 国产乱人伦av在线无码 | 精品久久久无码人妻字幂 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产高清av在线播放 | 国产农村乱对白刺激视频 | 久久精品国产99久久6动漫 | 偷窥村妇洗澡毛毛多 | 国产精品欧美成人 | 午夜免费福利小电影 | 好屌草这里只有精品 | 性欧美熟妇videofreesex | 精品人妻中文字幕有码在线 | 丰满岳乱妇在线观看中字无码 | 日本精品久久久久中文字幕 | 中文字幕无线码 | 久久天天躁夜夜躁狠狠 | 黄网在线观看免费网站 | 人妻无码αv中文字幕久久琪琪布 | 国产莉萝无码av在线播放 | 成 人影片 免费观看 | 天天av天天av天天透 | 一本加勒比波多野结衣 | 国产精品亚洲五月天高清 | 精品一区二区三区波多野结衣 | 亚洲爆乳无码专区 | 国产午夜亚洲精品不卡 | 色综合久久久无码中文字幕 | 欧美成人午夜精品久久久 | 国产免费久久久久久无码 | 国产网红无码精品视频 | 麻花豆传媒剧国产免费mv在线 | 老熟妇仑乱视频一区二区 | 丝袜人妻一区二区三区 | 激情人妻另类人妻伦 | 成人精品一区二区三区中文字幕 | 欧美性猛交内射兽交老熟妇 | 亚洲а∨天堂久久精品2021 | 综合激情五月综合激情五月激情1 | 最近中文2019字幕第二页 | 久久久久av无码免费网 | 乱人伦人妻中文字幕无码久久网 | 九九久久精品国产免费看小说 | 无码一区二区三区在线观看 | 亚洲国产精品一区二区第一页 | 熟妇人妻无码xxx视频 | 夜夜影院未满十八勿进 | 狠狠cao日日穞夜夜穞av | v一区无码内射国产 | 特黄特色大片免费播放器图片 | 国产艳妇av在线观看果冻传媒 | 装睡被陌生人摸出水好爽 | 一本久久伊人热热精品中文字幕 | 妺妺窝人体色www在线小说 | 亚洲国产av精品一区二区蜜芽 | 久久 国产 尿 小便 嘘嘘 | 东京一本一道一二三区 | 性开放的女人aaa片 | 97夜夜澡人人双人人人喊 | 欧美变态另类xxxx | 久热国产vs视频在线观看 | 乱人伦中文视频在线观看 | 人人妻人人藻人人爽欧美一区 | 在线亚洲高清揄拍自拍一品区 | 人妻体内射精一区二区三四 | 亚洲自偷自偷在线制服 | 国产精品对白交换视频 | 中文字幕精品av一区二区五区 | 欧美日韩色另类综合 | 午夜熟女插插xx免费视频 | 国产偷国产偷精品高清尤物 | 无码毛片视频一区二区本码 | 特级做a爰片毛片免费69 | 真人与拘做受免费视频一 | 亚洲国产精品成人久久蜜臀 | 内射白嫩少妇超碰 | 亚洲精品一区三区三区在线观看 | 丰满人妻被黑人猛烈进入 | 国产精品亚洲一区二区三区喷水 | 麻豆国产丝袜白领秘书在线观看 | 国产精品毛多多水多 | 狠狠色噜噜狠狠狠7777奇米 | 理论片87福利理论电影 | 高清国产亚洲精品自在久久 | 日本大乳高潮视频在线观看 | 丰满护士巨好爽好大乳 | 天天摸天天碰天天添 | 婷婷色婷婷开心五月四房播播 | 欧美35页视频在线观看 | 久久精品人人做人人综合试看 | 亚洲中文字幕乱码av波多ji | 国产人妻大战黑人第1集 | 亚洲性无码av中文字幕 | 中国大陆精品视频xxxx | 欧美兽交xxxx×视频 | 久久久精品国产sm最大网站 | 女人被男人躁得好爽免费视频 | 人人爽人人澡人人高潮 | 噜噜噜亚洲色成人网站 | 九九综合va免费看 | 亚洲日本一区二区三区在线 | 人人妻人人澡人人爽欧美精品 | 欧美亚洲国产一区二区三区 | 欧美成人免费全部网站 | 最新版天堂资源中文官网 | 精品久久久无码人妻字幂 | 荫蒂被男人添的好舒服爽免费视频 | 欧美乱妇无乱码大黄a片 | 人妻少妇精品无码专区动漫 | 精品偷拍一区二区三区在线看 | 99久久精品国产一区二区蜜芽 | 亚洲乱码国产乱码精品精 | 97夜夜澡人人爽人人喊中国片 | 99久久久无码国产aaa精品 | 日韩精品成人一区二区三区 | www国产亚洲精品久久网站 | 四虎4hu永久免费 | 日韩精品一区二区av在线 | 国语精品一区二区三区 | 国产av久久久久精东av | 内射后入在线观看一区 | 99久久人妻精品免费二区 | 日产精品高潮呻吟av久久 | 西西人体www44rt大胆高清 | 欧美精品国产综合久久 | 免费人成网站视频在线观看 | 爆乳一区二区三区无码 | 国产舌乚八伦偷品w中 | 亚洲一区二区三区国产精华液 | 久久国产自偷自偷免费一区调 | 亚洲午夜无码久久 | 久久精品人妻少妇一区二区三区 | 成年美女黄网站色大免费全看 | 真人与拘做受免费视频一 | 久久这里只有精品视频9 | 欧美freesex黑人又粗又大 | 国产乱人偷精品人妻a片 | 久久久久亚洲精品男人的天堂 | 小sao货水好多真紧h无码视频 | 无码国产乱人伦偷精品视频 | 中文字幕无码免费久久9一区9 | 国精产品一品二品国精品69xx | 永久免费观看国产裸体美女 | 亚洲人成影院在线观看 | 精品一区二区三区波多野结衣 | 中文字幕中文有码在线 | 88国产精品欧美一区二区三区 | 国产精品国产三级国产专播 | 成 人影片 免费观看 | av人摸人人人澡人人超碰下载 | 欧美人与禽zoz0性伦交 | www国产亚洲精品久久久日本 | 九九热爱视频精品 | 97夜夜澡人人双人人人喊 | 亚洲gv猛男gv无码男同 | 国产成人无码av一区二区 | 日本www一道久久久免费榴莲 | 在线观看国产午夜福利片 | 日韩人妻系列无码专区 | 久久综合久久自在自线精品自 | 未满小14洗澡无码视频网站 | 亚洲自偷精品视频自拍 | 成人性做爰aaa片免费看不忠 | 人妻尝试又大又粗久久 | 高中生自慰www网站 | 国内少妇偷人精品视频免费 | 性欧美熟妇videofreesex | 又粗又大又硬毛片免费看 | 大色综合色综合网站 | 亚洲欧美日韩综合久久久 | 美女扒开屁股让男人桶 | 无码免费一区二区三区 | 日日天日日夜日日摸 | 在教室伦流澡到高潮hnp视频 | 亚洲国产高清在线观看视频 | 夜夜影院未满十八勿进 | 2020久久超碰国产精品最新 | 国产精品无码一区二区三区不卡 | 亚洲欧美日韩综合久久久 | 狠狠躁日日躁夜夜躁2020 | 无码一区二区三区在线 | 精品人妻人人做人人爽 | 久久久中文字幕日本无吗 | 国产明星裸体无码xxxx视频 | 日日麻批免费40分钟无码 | 亚洲天堂2017无码中文 | 纯爱无遮挡h肉动漫在线播放 | 国产精品久久久久久亚洲毛片 | 18精品久久久无码午夜福利 | 国产精品视频免费播放 | 香港三级日本三级妇三级 | 亚洲一区二区观看播放 | 午夜嘿嘿嘿影院 | 人妻与老人中文字幕 | 人人澡人摸人人添 | 午夜成人1000部免费视频 | 国产人妻精品一区二区三区 | 亚洲色偷偷偷综合网 | 鲁大师影院在线观看 | 两性色午夜视频免费播放 | 国产在线无码精品电影网 | 久久国产精品_国产精品 | 高清无码午夜福利视频 | 国产成人综合色在线观看网站 | 熟女少妇在线视频播放 | а√资源新版在线天堂 | 99er热精品视频 | 水蜜桃亚洲一二三四在线 | 国内丰满熟女出轨videos | 少妇厨房愉情理9仑片视频 | 亚洲日韩一区二区 | 牲欲强的熟妇农村老妇女视频 | 亚洲日韩av一区二区三区中文 | 亚洲色偷偷偷综合网 | 在线成人www免费观看视频 | 小泽玛莉亚一区二区视频在线 | ass日本丰满熟妇pics | 精品国产一区二区三区av 性色 | 欧美野外疯狂做受xxxx高潮 | 亚洲人成网站在线播放942 | 欧洲vodafone精品性 | 漂亮人妻洗澡被公强 日日躁 | 奇米影视888欧美在线观看 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国内揄拍国内精品人妻 | 日本精品久久久久中文字幕 | 亚洲日韩av一区二区三区四区 | 中文字幕 亚洲精品 第1页 | 2019午夜福利不卡片在线 | 亚洲伊人久久精品影院 | 成人影院yy111111在线观看 | 中文亚洲成a人片在线观看 | 狠狠躁日日躁夜夜躁2020 | 成年美女黄网站色大免费视频 | 国产情侣作爱视频免费观看 | 成人免费视频视频在线观看 免费 | 国产精品亚洲lv粉色 | 漂亮人妻洗澡被公强 日日躁 | 精品偷自拍另类在线观看 | 无码人妻精品一区二区三区不卡 | 国产av无码专区亚洲a∨毛片 | 97夜夜澡人人双人人人喊 | 欧美人妻一区二区三区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲人成无码网www | 免费国产成人高清在线观看网站 | 一个人看的视频www在线 | 中国大陆精品视频xxxx | 娇妻被黑人粗大高潮白浆 | 国产精品美女久久久 | 久久精品中文字幕大胸 | 免费播放一区二区三区 | 亚洲国产精品成人久久蜜臀 | 亚洲精品美女久久久久久久 | 亚洲成a人片在线观看无码3d | 国内少妇偷人精品视频 | 成人性做爰aaa片免费看 | 成人av无码一区二区三区 | 亚洲综合另类小说色区 | 国内精品久久久久久中文字幕 | 亚洲国产一区二区三区在线观看 | 久久婷婷五月综合色国产香蕉 | 牲交欧美兽交欧美 | 东京无码熟妇人妻av在线网址 | 久久久婷婷五月亚洲97号色 | 老熟妇仑乱视频一区二区 | 亚洲の无码国产の无码步美 | 日本欧美一区二区三区乱码 | 欧美日韩一区二区三区自拍 | 久青草影院在线观看国产 | 亚洲欧洲中文日韩av乱码 | 亚洲 另类 在线 欧美 制服 | 国色天香社区在线视频 | 性生交大片免费看l | 又大又紧又粉嫩18p少妇 | 欧美国产日产一区二区 | 国产国语老龄妇女a片 | 亚洲成a人片在线观看无码 | 无人区乱码一区二区三区 | 激情综合激情五月俺也去 | 牲欲强的熟妇农村老妇女 | 任你躁在线精品免费 | 女人被爽到呻吟gif动态图视看 | 国产 精品 自在自线 | 麻豆成人精品国产免费 | 国内精品久久毛片一区二区 | 中文字幕乱码中文乱码51精品 | 欧美精品国产综合久久 | 日韩亚洲欧美中文高清在线 | 一区二区三区高清视频一 | 成人性做爰aaa片免费看不忠 | 麻豆国产丝袜白领秘书在线观看 | 人人爽人人澡人人高潮 | 小泽玛莉亚一区二区视频在线 | 窝窝午夜理论片影院 | 国产凸凹视频一区二区 | 精品欧美一区二区三区久久久 | 亚洲综合无码一区二区三区 | 男女作爱免费网站 | a片在线免费观看 | 亚洲色www成人永久网址 | 久久亚洲精品成人无码 | 欧美人与牲动交xxxx | 日韩欧美群交p片內射中文 | 国产黄在线观看免费观看不卡 | 无码纯肉视频在线观看 | 丁香啪啪综合成人亚洲 | 无码av中文字幕免费放 | 国产精品人人妻人人爽 | 欧美xxxxx精品 | 麻豆国产97在线 | 欧洲 | 久久天天躁狠狠躁夜夜免费观看 | 99久久久国产精品无码免费 | 亚洲综合在线一区二区三区 | 福利一区二区三区视频在线观看 | 久久99久久99精品中文字幕 | 中文无码成人免费视频在线观看 | 天天做天天爱天天爽综合网 | 国产超级va在线观看视频 | 中文字幕久久久久人妻 | 成人精品视频一区二区 | 三级4级全黄60分钟 | 日日橹狠狠爱欧美视频 | 动漫av网站免费观看 | 国产精品久免费的黄网站 | 国产在线aaa片一区二区99 | 国产深夜福利视频在线 | 国产精华av午夜在线观看 | 人妻少妇精品无码专区动漫 | 亚欧洲精品在线视频免费观看 | 乱码午夜-极国产极内射 | 亚洲一区二区三区国产精华液 | 玩弄人妻少妇500系列视频 | 国内老熟妇对白xxxxhd | 日欧一片内射va在线影院 | 人人澡人人妻人人爽人人蜜桃 | 亚洲人成无码网www | 亚洲综合无码久久精品综合 | 国产成人综合色在线观看网站 | 久久精品国产一区二区三区肥胖 | 激情综合激情五月俺也去 | 极品尤物被啪到呻吟喷水 | 亚洲精品一区三区三区在线观看 | 任你躁在线精品免费 | 少妇性荡欲午夜性开放视频剧场 | 久久综合激激的五月天 | 麻豆成人精品国产免费 | 亚洲自偷精品视频自拍 | 欧洲欧美人成视频在线 | 国产片av国语在线观看 | 午夜丰满少妇性开放视频 | 亚洲欧美日韩国产精品一区二区 | 亚洲爆乳大丰满无码专区 | 国产精品毛片一区二区 | 性史性农村dvd毛片 | 天堂亚洲2017在线观看 | 又湿又紧又大又爽a视频国产 | 一本久道久久综合狠狠爱 | 亚洲春色在线视频 | 在线观看欧美一区二区三区 | 亚洲 高清 成人 动漫 | 亚洲人成网站在线播放942 | 十八禁视频网站在线观看 | 久久精品人妻少妇一区二区三区 | 人人妻在人人 | 天堂久久天堂av色综合 | 亚洲阿v天堂在线 | 中文字幕无码免费久久99 | 国产精品久久精品三级 | 撕开奶罩揉吮奶头视频 | 亚洲男女内射在线播放 | 帮老师解开蕾丝奶罩吸乳网站 | 欧美变态另类xxxx | 精品国产aⅴ无码一区二区 | 久久久亚洲欧洲日产国码αv | 97久久精品无码一区二区 | 在线亚洲高清揄拍自拍一品区 | 国产69精品久久久久app下载 | 国产人成高清在线视频99最全资源 | 国产精品鲁鲁鲁 | 亚洲精品久久久久久久久久久 | 免费无码午夜福利片69 | 精品国偷自产在线视频 | 亚洲精品国产品国语在线观看 | 国产极品美女高潮无套在线观看 | 青青青手机频在线观看 | 永久免费观看美女裸体的网站 | 国产人妻人伦精品1国产丝袜 | 国产乡下妇女做爰 | 欧美乱妇无乱码大黄a片 | 亚洲一区二区观看播放 | 久久亚洲精品中文字幕无男同 | 亚洲乱码国产乱码精品精 | 精品一区二区三区波多野结衣 | 曰韩少妇内射免费播放 | 最新国产麻豆aⅴ精品无码 | 国产性生交xxxxx无码 | 夜先锋av资源网站 | 亚洲熟妇色xxxxx亚洲 | 国产精品第一国产精品 | 无码帝国www无码专区色综合 | 玩弄人妻少妇500系列视频 | 欧美性猛交内射兽交老熟妇 | 亚洲色欲色欲欲www在线 | 国产综合在线观看 | 色 综合 欧美 亚洲 国产 | 精品无人区无码乱码毛片国产 | 国产又粗又硬又大爽黄老大爷视 | 精品欧洲av无码一区二区三区 | 美女张开腿让人桶 | 日本欧美一区二区三区乱码 | 亚洲国产欧美在线成人 | 日本爽爽爽爽爽爽在线观看免 | 国产精品亚洲а∨无码播放麻豆 | 亚洲成a人片在线观看日本 | 欧美丰满熟妇xxxx性ppx人交 | 波多野结衣av在线观看 | 国产两女互慰高潮视频在线观看 | 国产精品无码永久免费888 | 成人性做爰aaa片免费看不忠 | 黑人玩弄人妻中文在线 | 精品国产一区二区三区四区在线看 | 丰满少妇女裸体bbw | 国产亚洲日韩欧美另类第八页 | 亚洲日本一区二区三区在线 | 青草视频在线播放 | 国产无遮挡又黄又爽又色 | 水蜜桃色314在线观看 | 人妻无码αv中文字幕久久琪琪布 | 亚洲中文字幕无码中文字在线 | 亚洲成熟女人毛毛耸耸多 | 国内丰满熟女出轨videos | √8天堂资源地址中文在线 | 中文精品无码中文字幕无码专区 | 青草视频在线播放 | 欧美zoozzooz性欧美 | 男女猛烈xx00免费视频试看 | 久久这里只有精品视频9 | а天堂中文在线官网 | 日韩成人一区二区三区在线观看 | 正在播放老肥熟妇露脸 | 婷婷丁香六月激情综合啪 | 色噜噜亚洲男人的天堂 | 国产精品亚洲一区二区三区喷水 | 天堂久久天堂av色综合 | 亚洲国产精品一区二区美利坚 | 国产偷抇久久精品a片69 | 国产免费无码一区二区视频 | 午夜男女很黄的视频 | 久久久久成人精品免费播放动漫 | 国产熟女一区二区三区四区五区 | 性欧美疯狂xxxxbbbb | 成人无码视频在线观看网站 | 欧洲精品码一区二区三区免费看 | 国产精品无码永久免费888 | 国产99久久精品一区二区 | 久久综合狠狠综合久久综合88 | 性欧美熟妇videofreesex | 亚洲国产精华液网站w | 欧美老熟妇乱xxxxx | 三上悠亚人妻中文字幕在线 | 亚洲中文字幕va福利 | 久久久www成人免费毛片 | 亚洲中文字幕无码中字 | 日韩精品无码免费一区二区三区 | 亚洲欧美日韩国产精品一区二区 | 中文字幕+乱码+中文字幕一区 | 俺去俺来也在线www色官网 | 水蜜桃av无码 | 黑人巨大精品欧美黑寡妇 | 欧美国产日产一区二区 | 97久久国产亚洲精品超碰热 | 精品夜夜澡人妻无码av蜜桃 | 久久综合香蕉国产蜜臀av | 中文亚洲成a人片在线观看 | 日本高清一区免费中文视频 | 粉嫩少妇内射浓精videos | 丁香啪啪综合成人亚洲 | 国产成人人人97超碰超爽8 | 久久综合狠狠综合久久综合88 | 日日摸日日碰夜夜爽av | 人妻夜夜爽天天爽三区 | 国产国语老龄妇女a片 | 国产美女精品一区二区三区 | 特大黑人娇小亚洲女 | 熟女俱乐部五十路六十路av | 扒开双腿疯狂进出爽爽爽视频 | 99精品国产综合久久久久五月天 | 成人精品一区二区三区中文字幕 | 亚洲啪av永久无码精品放毛片 | 一个人免费观看的www视频 | 亚洲精品综合一区二区三区在线 | 最新国产乱人伦偷精品免费网站 | 2020最新国产自产精品 | 国产精品亚洲一区二区三区喷水 | 久久久久人妻一区精品色欧美 | 激情人妻另类人妻伦 | 国色天香社区在线视频 | 97夜夜澡人人双人人人喊 | 中文字幕人妻无码一区二区三区 | 国产特级毛片aaaaaaa高清 | 无码一区二区三区在线观看 | 亚洲男人av天堂午夜在 | 亚洲色欲久久久综合网东京热 | 国产在热线精品视频 | 国产精品久久久久无码av色戒 | 日本精品人妻无码免费大全 | 欧美 日韩 亚洲 在线 | 在线播放免费人成毛片乱码 | 无码吃奶揉捏奶头高潮视频 | 国产精品人人爽人人做我的可爱 | 色婷婷久久一区二区三区麻豆 | 人人妻人人澡人人爽欧美一区 | 亚洲人成网站在线播放942 | 国产三级久久久精品麻豆三级 | 丰满岳乱妇在线观看中字无码 | 99久久久国产精品无码免费 | 中文字幕色婷婷在线视频 | 综合人妻久久一区二区精品 | 无套内射视频囯产 | 日日天日日夜日日摸 | 人人妻人人藻人人爽欧美一区 | 999久久久国产精品消防器材 | 成人影院yy111111在线观看 | 亚洲中文字幕乱码av波多ji | 亚洲最大成人网站 | 成 人 网 站国产免费观看 | 18禁黄网站男男禁片免费观看 | 白嫩日本少妇做爰 | 日韩av无码一区二区三区 | 青青青手机频在线观看 | 丰满少妇高潮惨叫视频 | 精品无人区无码乱码毛片国产 | 精品夜夜澡人妻无码av蜜桃 | 狂野欧美性猛交免费视频 | 国产成人午夜福利在线播放 | 久久亚洲精品中文字幕无男同 | 中文字幕久久久久人妻 | 欧洲熟妇色 欧美 | 精品无码国产一区二区三区av | 男女爱爱好爽视频免费看 | 欧美性色19p | 久久国产精品_国产精品 | 国产人妻人伦精品1国产丝袜 | 一区二区传媒有限公司 | 精品熟女少妇av免费观看 | 免费国产成人高清在线观看网站 | 亚洲va中文字幕无码久久不卡 | 黄网在线观看免费网站 | 免费人成在线视频无码 | av小次郎收藏 | 精品国产成人一区二区三区 | 国产超碰人人爽人人做人人添 | 国产av无码专区亚洲awww | 中文久久乱码一区二区 | 欧美放荡的少妇 | 无码一区二区三区在线观看 | 乱码av麻豆丝袜熟女系列 | 亚洲精品久久久久avwww潮水 | 欧美人与禽猛交狂配 | 国产在热线精品视频 | 国产精品-区区久久久狼 | 亚洲男人av天堂午夜在 | 久久精品视频在线看15 | 天天爽夜夜爽夜夜爽 | 丝袜人妻一区二区三区 | 未满小14洗澡无码视频网站 | 国产精品无码一区二区桃花视频 | 国产成人午夜福利在线播放 | 亚洲中文字幕无码中文字在线 | 18精品久久久无码午夜福利 | 性欧美牲交xxxxx视频 | 国产成人精品优优av | 亚洲综合无码久久精品综合 | 久久国语露脸国产精品电影 | 99久久99久久免费精品蜜桃 | 三级4级全黄60分钟 | 亚洲经典千人经典日产 | 牲欲强的熟妇农村老妇女视频 | 国产精品香蕉在线观看 | 国产综合在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 国产亚洲tv在线观看 | 装睡被陌生人摸出水好爽 | 国产欧美熟妇另类久久久 | 成人免费无码大片a毛片 |