3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

为JAVA性能而设计(一)

發(fā)布時(shí)間:2023/12/2 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为JAVA性能而设计(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為JAVA性能而設(shè)計(jì)(一)

?
發(fā)布時(shí)間:2007-1-9 15:51:42???? 來源:JavaWorld????作者:Brian?Go…

為JAVA性能而設(shè)計(jì)(二)

?
發(fā)布時(shí)間:2007-1-9 15:52:57???? 來源:JavaWorld????作者:Brian?Go…

為JAVA性能而設(shè)計(jì)(三)

?
發(fā)布時(shí)間:2007-1-9 15:53:50???? 來源:JavaWorld????作者:Brian?Go…

?

?

翻譯 by SuperMMX

  閱讀整個(gè)的 "為性能而設(shè)計(jì)" 系列:   第一部分: 接口事宜   第二部分: 減少對(duì)象創(chuàng)建   第三部分: 遠(yuǎn)程接口 (March 23, 2001)

  第三部分: 遠(yuǎn)程接口

  概述   許多 Java 的通常性能問題來源于設(shè)計(jì)過程早期的類設(shè)計(jì)想法中, 早在開發(fā)者開始考慮性能問題之前. 在這個(gè)系列中, Brian Goetz 討論了一些通常的 Java 性能的冒險(xiǎn), 解釋了怎樣在設(shè)計(jì)時(shí)間避免它們. 在這篇文章中, 它檢驗(yàn)了遠(yuǎn)程應(yīng)用程序中的特定的性能問題.

  遠(yuǎn)程調(diào)用的概念

  在分布式的應(yīng)用程序中, 一個(gè)運(yùn)行在一個(gè)系統(tǒng)中的對(duì)象可以調(diào)用另一個(gè)系統(tǒng)中的一個(gè)對(duì)象的方法. 這個(gè)通過很多使遠(yuǎn)程對(duì)象表現(xiàn)為本地的結(jié)構(gòu)的幫助而實(shí)現(xiàn). 要訪問一個(gè)遠(yuǎn)程對(duì)象,你首先要找到它, 可以通過使用目錄或者命名服務(wù)來實(shí)現(xiàn), 象 RMI 注冊(cè), JNDI, 或者 CORBA命名服務(wù).

  當(dāng)你通過目錄服務(wù)得到一個(gè)遠(yuǎn)程對(duì)象的引用時(shí), 你并沒有得到那個(gè)對(duì)象的實(shí)際的引用, 而是一個(gè)實(shí)現(xiàn)了和遠(yuǎn)程對(duì)象同樣接口的stub對(duì)象的引用. 當(dāng)你調(diào)用一個(gè)stub對(duì)象的方法時(shí), 對(duì)象把方法的所有參數(shù)匯集起來 -- 把它們轉(zhuǎn)化成一個(gè)字節(jié)流的表現(xiàn)形式, 類似于序列化過程. 這個(gè)stub對(duì)象把匯集的參數(shù)通過網(wǎng)絡(luò)傳遞給一個(gè)skeleton對(duì)象, 把參數(shù)分解出來, 你想調(diào)用的實(shí)際的對(duì)象的方法. 然后這個(gè)方法向skeleton對(duì)象返回一個(gè)值, skeleton對(duì)象把它傳送給stub對(duì)象, stub對(duì)象把它分解出來, 傳遞給調(diào)用者. Phew! 一個(gè)單獨(dú)的調(diào)用要做這么多的工作. 很明顯, 除去表面的相似性, 一個(gè)遠(yuǎn)程方法調(diào)用比本地方法調(diào)用更大.

  以上描述瀏覽了一些對(duì)于程序性能非常重要的細(xì)節(jié). 當(dāng)一個(gè)遠(yuǎn)程方法返回的不是一個(gè)原類? 而是一個(gè)對(duì)象時(shí), 會(huì)發(fā)生什么? 不一定. 如果返回的對(duì)象是一種支持遠(yuǎn)程方法調(diào)用的類型, 它就創(chuàng)建一個(gè)中stub對(duì)象和一個(gè)skeleton對(duì)象, 在這種情況下需要在注冊(cè)表中查找一個(gè)遠(yuǎn)潭韻,這顯然是一個(gè)高代價(jià)的操作. (遠(yuǎn)程對(duì)象支持一種分布式的垃圾回收的形式, 包括了每一個(gè)參與的 JVM 維護(hù)一個(gè)線程來和其他 JVM 的維護(hù)線程進(jìn)行通訊, 來回傳遞引用信息). 如果返回的對(duì)象不支持遠(yuǎn)程調(diào)用, 這個(gè)對(duì)象所有的域和引用的對(duì)象都要匯集起來, 這也是一個(gè)代價(jià)的操作.

  遠(yuǎn)程和本地方法調(diào)用的性能比較

  遠(yuǎn)程對(duì)象訪問的性能特征和本地的不一樣:遠(yuǎn)程對(duì)象的創(chuàng)建比本地對(duì)象創(chuàng)建代價(jià)要高. 不僅僅是當(dāng)它不存在時(shí)要?jiǎng)?chuàng)建它, 而且stub對(duì)和skeleton對(duì)象也要?jiǎng)?chuàng)建, 還要互相感知.

  遠(yuǎn)程方法調(diào)用還包括網(wǎng)絡(luò)的傳遞 -- 匯集起來的參數(shù)必須發(fā)送到遠(yuǎn)程系統(tǒng), 而且響應(yīng)也需匯集起來, 在調(diào)用程序重新得到控制權(quán)之前發(fā)送回來. 匯集, 分解, 網(wǎng)絡(luò)延時(shí), 實(shí)際的遠(yuǎn)調(diào)用所導(dǎo)致的延遲都加在一起; 客戶端通常是等待所有這些而步驟完成. 一個(gè)遠(yuǎn)程調(diào)用也大地依賴于底層網(wǎng)絡(luò)的延時(shí).

  不同的數(shù)據(jù)類型有不同的匯集開支. 匯集原類型相對(duì)來說花費(fèi)少一些; 匯集簡(jiǎn)單的對(duì)象, Point 或者 String 要多一些; 匯集遠(yuǎn)程對(duì)象要多得多, 而匯集那些引用非常多的對(duì)象的對(duì)象(象 collection 等)要更多. 這和本地調(diào)用完全矛盾, 因?yàn)閭鬟f一個(gè)簡(jiǎn)單對(duì)象的引用比一個(gè)復(fù)雜對(duì)象的引用花費(fèi)多.

  接口設(shè)計(jì)是關(guān)鍵

  設(shè)計(jì)不好的遠(yuǎn)程接口可能完全消除一個(gè)程序的性能. 不幸的是, 對(duì)本地對(duì)象來說好的接口的特性對(duì)遠(yuǎn)程對(duì)象可能不適合. 大量的臨時(shí)對(duì)象創(chuàng)建, 就象在本系列的第一, 二部分討論,也能阻礙分布式的應(yīng)用程序, 但是大量的傳遞更是一個(gè)性能問題. 所以, 調(diào)用一個(gè)在一個(gè)時(shí)對(duì)象(比如一個(gè) Point)中返回多個(gè)值的方法比多次調(diào)用來分別得到它們可能更有效.

  實(shí)際遠(yuǎn)程應(yīng)用程序的一些重要的性能指導(dǎo):

  提防不必要的數(shù)據(jù)傳遞. 如果一個(gè)對(duì)象要同時(shí)得到幾個(gè)相關(guān)的項(xiàng), 如果可能的話, 在一個(gè)遠(yuǎn)程調(diào)用中實(shí)現(xiàn)可能容易一些.   當(dāng)調(diào)用者可能不必要保持一個(gè)遠(yuǎn)程對(duì)象的引用時(shí), 提防返回遠(yuǎn)程的對(duì)象.當(dāng)遠(yuǎn)程對(duì)象不需要一個(gè)對(duì)象的拷貝時(shí), 提防傳遞復(fù)雜對(duì)象.   幸運(yùn)的是, 你可以通過簡(jiǎn)單查看遠(yuǎn)程對(duì)象的接口來找出所有的問題. 要求做任何高層動(dòng)作的方法調(diào)用序列可以從類接口中明顯看到. 如果你看到一個(gè)通常的高層操作需要許多連續(xù)的遠(yuǎn)程方法調(diào)用, 這就是一個(gè)警告信號(hào), 可能你需要重新查看一下類接口.

  減少遠(yuǎn)程調(diào)用代價(jià)的技巧

  一個(gè)例子, 考慮下面假定的管理一個(gè)組織目錄的應(yīng)用程序: 一個(gè)遠(yuǎn)程的 Directory 對(duì)象包含了 DirectoryEntry 對(duì)象的引用, 表現(xiàn)了電話簿的入口.

public interface Directory extends Remote { ? DirectoryEntry[] getEntries(); ? void addEntry(DirectoryEntry entry); ? void removeEntry(DirectoryEntry entry); } public interface DirectoryEntry extends Remote { ? String getName(); ? String getPhoneNumber(); ? String getEmailAddress(); }

  現(xiàn)在假設(shè)你想在一個(gè) GUI email 程序中使用 Directory 的東西. 程序首先調(diào)用getEntries() 來得到入口的列表, 接著在每個(gè)入口中調(diào)用 getName(), 計(jì)算結(jié)果的列表,當(dāng)用戶選擇一個(gè)時(shí),? 應(yīng)用程序在相應(yīng)的入口調(diào)用 getEmailAdress() 來得到 email 地址.

  在你能夠?qū)懸环?email 之前有多少遠(yuǎn)程方法調(diào)用必須發(fā)生? 你必須調(diào)用 getEntries() 一次, 地址簿中每個(gè)入口調(diào)用一次 getName(), 一次 getEmailAddress(). 所以如果在地址中有 N 個(gè)入口, 你必須進(jìn)行 N + 2 次遠(yuǎn)程調(diào)用. 注意你也需要?jiǎng)?chuàng)建 N + 1 個(gè)遠(yuǎn)程對(duì)象引用, 也是一個(gè)代價(jià)很高的操作. 如果你的地址簿有許多入口的話, 不僅僅是打開 email 窗口的時(shí)候非常慢, 也造成了網(wǎng)絡(luò)阻塞, 給你的目錄服務(wù)程序造成高負(fù)載, 導(dǎo)致可擴(kuò)展性的問題.

  現(xiàn)在考慮增強(qiáng)的 Directory 接口:

public interface Directory extends Remote { ? String[] getNames(); ? DirectoryEntry[] getEntries(); ? DirectoryEntry getEntryByName(String name); ? void addEntry(DirectoryEntry entry); ? void removeEntry(DirectoryEntry entry); }

  這將減少多少你的 email 程序所造成的花費(fèi)呢? 現(xiàn)在你可以調(diào)用 Directory.getNames()一次就可以同時(shí)得到所有的名字, 只需要給你想要發(fā)送 email 的容器調(diào)用 getEntryByName() .這個(gè)過程需要 3 個(gè)遠(yuǎn)程方法調(diào)用, 而不是 N + 2, 和兩個(gè)遠(yuǎn)程對(duì)象, 而不是 N + 1 個(gè).如果地址簿有再多一點(diǎn)的名字, 這個(gè)調(diào)用的減少在程序的響應(yīng)和網(wǎng)絡(luò)負(fù)載和系統(tǒng)負(fù)載有很大的不同.

  用來減少遠(yuǎn)程調(diào)用和引用傳遞的代價(jià)的技術(shù)叫做使用次要對(duì)象標(biāo)識(shí)符. 使用一個(gè)對(duì)象的標(biāo)屬性, -- 在這個(gè)例子中, 是 name -- 而不是傳回一個(gè)遠(yuǎn)程對(duì)象, 作為對(duì)象的一個(gè)輕量級(jí)曄斗?次要標(biāo)識(shí)符包含了它描述的對(duì)象足夠的信息, 這樣你只需要獲取你實(shí)際需要的遠(yuǎn)程對(duì)象.在這個(gè)目錄系統(tǒng)的例子中, 一個(gè)人的名字是一個(gè)好的次要標(biāo)識(shí)符. 在另一個(gè)例子中, 一個(gè)安全皮包管理系統(tǒng), 一個(gè)采購標(biāo)識(shí)號(hào)可能是一個(gè)好的次要標(biāo)識(shí)符.

  另一個(gè)減少遠(yuǎn)程調(diào)用數(shù)量的技巧是塊獲取. 你可以進(jìn)一步給 Directory 接口加個(gè)方法, 來一次獲取多個(gè)需要的 DirectoryEntry 對(duì)象:

public interface Directory extends Remote { ? String[] getNames(); ? DirectoryEntry[] getEntries(); ? DirectoryEntry getEntryByName(String name); ? DirectoryEntry[] getEntriesByName(String names[]); ? void addEntry(DirectoryEntry entry); ? void removeEntry(DirectoryEntry entry); }

  現(xiàn)在你不僅可以得到需要的遠(yuǎn)程 DirectoryEntry , 也可以用單獨(dú)一個(gè)遠(yuǎn)程方法調(diào)用得到要的所有的入口. 雖然這并不減少匯集的代價(jià), 但極大地較少了網(wǎng)絡(luò)往返的次數(shù). 如果網(wǎng)延遲很重要的話, 就可以產(chǎn)生一個(gè)響應(yīng)更快的系統(tǒng)(也能減少這個(gè)網(wǎng)絡(luò)的使用).

  照亮去向 RMI 層次的路徑的第三的技巧是不把 DirectoryEntry 作為一個(gè)遠(yuǎn)程對(duì)象, 而把它定義為一個(gè)通常的對(duì)象, 帶有訪問 name, address, email address 和其他域的訪問函數(shù).(在 CORBA 系統(tǒng)中, 我可能要使用類似的 object-by-value 機(jī)制.) 然后, 當(dāng) email 應(yīng)用程序調(diào)用 getEntryName() 時(shí), 它會(huì)獲取一個(gè) entry 對(duì)象的值 -- 不需要?jiǎng)?chuàng)建一個(gè)stub對(duì)象或者skeleton對(duì)象, getEmailAddress() 的調(diào)用也是一個(gè)本地的調(diào)用而不是一個(gè)遠(yuǎn)程的.

  當(dāng)然, 所有這些技巧都都依賴于對(duì)遠(yuǎn)程對(duì)象實(shí)際上是怎樣使用的理解上的, 但是對(duì)于這個(gè)理解, 你甚至不需要看一看遠(yuǎn)程類的實(shí)現(xiàn)就可以找出一些潛在的嚴(yán)重性能問題.

  結(jié)論

  分布式的應(yīng)用程序的性能特性本質(zhì)上和本地程序不同. 許多對(duì)于本地程序代價(jià)很小的操作對(duì)于遠(yuǎn)程應(yīng)用程序來說代價(jià)非常高, 設(shè)計(jì)不好的遠(yuǎn)程接口導(dǎo)致一個(gè)程序有嚴(yán)重的擴(kuò)展性和能問題.

  幸運(yùn)的是, 很容易在設(shè)計(jì)時(shí)候, 為那些高代價(jià)的操作(象遠(yuǎn)程調(diào)用和遠(yuǎn)程對(duì)象創(chuàng)建), 通過平常的用例和分析它們, 確定和解決許多通常的分布式的性能問題, 正確使用這里提到的技巧,次要的對(duì)象標(biāo)識(shí)符, 塊獲取和 return-by-value -- 可以本質(zhì)上提高用戶響應(yīng)時(shí)間和整個(gè)統(tǒng)的吞吐量.

About the author Brian Goetz is a professional software developer with more than 15 years of experience. He is a principal consultant at Quiotix, a software development and consulting firm located in Los Altos, Calif.

?

翻譯 by SuperMMX

  閱讀整個(gè)的 "為性能而設(shè)計(jì)" 系列:   第一部分: 接口事宜   第二部分: 減少對(duì)象創(chuàng)建   第三部分: 遠(yuǎn)程接口 (March 23, 2001)

  第二部分: 減少對(duì)象創(chuàng)建

  概要   許多通常的 Java 性能問題都起源于在設(shè)計(jì)過程早期中的類設(shè)計(jì)的思想, 早在許多開發(fā)者開始考慮性能問題之前. 在這個(gè)系列中, Brian Goetz 討論了通常的 Java 性能上的冒險(xiǎn)以及怎么在設(shè)計(jì)時(shí)候避免它們. 在第二部分, 他討論了減少臨時(shí)對(duì)象創(chuàng)建的一些技術(shù)。

  雖然許多程序員把性能管理一直推遲到開發(fā)過程的最后, 性能考慮應(yīng)該從第一天起就和設(shè)計(jì)周期結(jié)合在一起. 這個(gè)系列探索一些早期的設(shè)計(jì)思想能夠極大影響應(yīng)用程序性能的方法.在這篇文章里, 我繼續(xù)探索大量臨時(shí)對(duì)象創(chuàng)建的問題, 并且提供一些避免它們的一些技術(shù).

  臨時(shí)對(duì)象就是一些生命周期比較短的對(duì)象, 一般用于保存其他數(shù)據(jù)而再?zèng)]有其他用途. 程序員一般用臨時(shí)變量向一個(gè)方法傳遞數(shù)據(jù)或者從一個(gè)方法返回?cái)?shù)據(jù). 第一部分探討了臨時(shí)對(duì)象是怎樣給一個(gè)程序的性能帶來負(fù)面的沖擊, 以及一些類接口的設(shè)計(jì)思想怎樣提供了臨時(shí)對(duì)象的創(chuàng)建. 避免了那些接口的創(chuàng)建, 你就能極大地減少那些影響你的程序性能的臨時(shí)對(duì)象創(chuàng)建的需求,

  只是對(duì) String 說不嗎?

  當(dāng)它要?jiǎng)?chuàng)建臨時(shí)變量時(shí), String 類是最大的罪人中的一個(gè). 為了演示, 在第一部分我寫了一個(gè)正規(guī)表達(dá)式匹配的例子, 通過和一個(gè)類似的但是經(jīng)過仔細(xì)設(shè)計(jì)的接口相比較, 演示了看起來無害的接口是怎樣引起大量對(duì)象的創(chuàng)建, 而慢上幾倍. 這里是原來的和好一些的類的接口:

BadRegExpMatcher

public class BadRegExpMatcher { ? public BadRegExpMatcher(String regExp); ? /** Attempts to match the specified regular expression against the input ????? text, returning the matched text if possible or null if not */ ? public String match(String inputText); }

BetterRegExpMatcher

class BetterRegExpMatcher { ? public BetterRegExpMatcher(...); ? /** Provide matchers for multiple formats of input -- String, ????? character array, and subset of character array.? Return -1 if no ????? match was made; return offset of match start if a match was ????? made.? */ ? public int match(String inputText); ? public int match(char[] inputText); ? public int match(char[] inputText, int offset, int length); ? /** If a match was made, returns the length of the match; between ????? the offset and the length, the caller should be able to ????? reconstruct the match text from the offset and length */ ? public int getMatchLength(); ? /** Convenience routine to get the match string, in the event the ????? caller happens to wants a String */ ? public String getMatchText(); }

  大量使用 BadREgExpMatcher 的程序比使用 BtterRegExpMatcher 的要慢好多. 首先,調(diào)用者不得不創(chuàng)建一個(gè) String 傳入 match(), 接著 match() 又創(chuàng)建了一個(gè) String 來返回匹配的文本. 結(jié)果是每次調(diào)用都有兩個(gè)對(duì)象創(chuàng)建, 看起來不多, 但是如果要經(jīng)常調(diào)用match(), 這些對(duì)象創(chuàng)建帶給性能的代價(jià)就太打了. BadRegExpMatcher 的性能問題不是在它的實(shí)現(xiàn)中, 而是它的接口; 象它定義的接口, 沒有辦法避免一些臨時(shí)變量的創(chuàng)建.

  BetterRegExpMatcher 的 match() 用原類型(整數(shù)和字符數(shù)組)代替了 String 對(duì)象; 不需要?jiǎng)?chuàng)建中間對(duì)象來在調(diào)用者和 match() 之間傳遞信息.

  既然在設(shè)計(jì)時(shí)候避免性能問題要比寫完整個(gè)系統(tǒng)以后再修改要容易一些, 你應(yīng)該注意你的類中控制對(duì)象創(chuàng)建的方法. 在 RegExpMatcher 的例子中, 它的方法要求和返回 String 對(duì)象, 就應(yīng)該為潛在的性能冒險(xiǎn)提個(gè)警告信號(hào). 因?yàn)?String 類是不可變的, 除了最常用以外, 所有的 String 參數(shù)在每次調(diào)用處理函數(shù)時(shí)都需要?jiǎng)?chuàng)建一個(gè)新的 String.

  不可變性對(duì)于性能來說是否很壞?

  因?yàn)?String 經(jīng)常和大量的對(duì)象創(chuàng)建聯(lián)系在一起, 一般來說歸咎于它的不可變性. 許多程序員認(rèn)為不可變的對(duì)象與生俱來對(duì)性能沒有好處. 但是, 事實(shí)多少會(huì)更復(fù)雜一些. 實(shí)際上, 不可變性有時(shí)候提供了性能上的優(yōu)勢(shì), 可變性的對(duì)象有時(shí)候?qū)е滦阅軉栴}. 不管可變性對(duì)性能來說有幫助或者有害, 依賴于對(duì)象是怎么使用的.

  程序經(jīng)常處理和修改文本字符串 -- 和不可變性非常不匹配. 每次你想處理一個(gè) String --想查找和解析出前綴或者子串, 變小寫或者大寫, 或者把兩個(gè)字符串合并 -- 你必須創(chuàng)建一個(gè)新的 String 對(duì)象. (在合并的情況下, 編譯器也會(huì)隱藏地創(chuàng)建一個(gè) StringBuffer() 對(duì)象)

  另一個(gè)方面, 一個(gè)不可變的對(duì)象的一個(gè)引用可以自由共享, 而不用擔(dān)心被引用的對(duì)象要被修改, 這個(gè)比可變對(duì)象提供性能優(yōu)勢(shì), 就象下一節(jié)例子所說的.

  可變的對(duì)象有它們自己的臨時(shí)對(duì)象問題.

  在 RegExpMatcher 的例子中, 你看見了 當(dāng)一個(gè)方法返回一個(gè) String 類型時(shí), 它通常需要新建一個(gè) String 對(duì)象. BadRegExpMatcher 的一個(gè)問題就是 match() 返回一個(gè)對(duì)象而不是一個(gè)原類型 -- 但是只因?yàn)橐粋€(gè)方法返回一個(gè)對(duì)象, 不意味著必須有一個(gè)新對(duì)象創(chuàng)建. 考慮一下 java.awt 中的幾何類, 象 Point 和 Rectangle. 一個(gè) Rectangle只是四個(gè)整數(shù)(x, y, 寬度, 長度)的容器. AWT Component 類存儲(chǔ)組件的位置, 通過getBounds()作為一個(gè)Rectangle 返回

public class Component { ? ... ? public Rectangle getBounds(); }

  在上面的例子中, getBounds() 只是一個(gè)存儲(chǔ)元 -- 它只使一些 Component 內(nèi)部的一些狀態(tài)信息可用. getBounds() 需要?jiǎng)?chuàng)建它返回的 Rectangle 嗎? 可能. 考慮一下下面getBounds() 可能的實(shí)現(xiàn).

public class Component { ? ... ? protected Rectangle myBounds; ? public Rectangle getBounds()? { return myBounds; } }

  當(dāng)一個(gè)調(diào)用者調(diào)用上面例子中的 getBounds(), 沒有新對(duì)象創(chuàng)建 -- 因?yàn)榻M件已經(jīng)知道它在哪里 -- 所以 getBounds() 效率很高. 但是 Rectangle 的可變性又有了其他問題. 當(dāng)一個(gè)調(diào)用者運(yùn)行一下程序會(huì)發(fā)生什么呢?

? Rectangle r = component.getBounds(); ? ... ? r.height *= 2;

  因?yàn)?Rectangle 是可變的, 它在 Component 不知道的情況下使 Component 移動(dòng). 對(duì)象AWT 這樣的 GUI 工具箱來說, 這是個(gè)災(zāi)難,? 因?yàn)楫?dāng)一個(gè)組件移動(dòng)以后, 屏幕需要重繪, 件監(jiān)聽器需要被通知, 等等. 所以上面的實(shí)現(xiàn) Component.getBounds() 的代碼看起來很危險(xiǎn). 一個(gè)安全一點(diǎn)的實(shí)現(xiàn)就象下面這樣:

? public Rectangle getBounds() { ??? return new Rectangle(myBounds.x, myBounds.y, ???????????????????????? myBounds.height, myBounds.width); ? }

  但是現(xiàn)在, 每一個(gè) getBounds() 的調(diào)用都創(chuàng)建一個(gè)新對(duì)象, 就象 RegExpMatcher 一樣.實(shí)際上, 下面的代碼片段創(chuàng)建了 4 個(gè)臨時(shí)對(duì)象:

? int x = component.getBounds().x; ? int y = component.getBounds().y; ? int h = component.getBounds().height; ? int w = component.getBounds().width;

  在 String 的情況中, 對(duì)象創(chuàng)建是必要的, 因?yàn)?String 是不可變的. 但在這個(gè)例子中,對(duì)象的創(chuàng)建也是必要的, 因?yàn)?Rectangle 是可變的. 我們使用 String 避免了這個(gè)問題,在我們的接口中沒有使用對(duì)象. 雖然在 RegExpMatcher 的情況下很好, 這個(gè)方法不總是可行的或者是希望的. 幸運(yùn)的是, 你可以在實(shí)際類的時(shí)候可以使用一些技巧, 來免除太多小對(duì)象的問題, 而不是完全避免小對(duì)象.

  減少對(duì)象的技巧 1: 加上好的存取函數(shù)

  在 Swing 工具箱的初始版本中, 對(duì)象小對(duì)象的臨時(shí)創(chuàng)建, 象 Point, Rectangle 和 Dimension極大地阻礙了性能. 把它們放在一個(gè) Point 或者 Rectangle 中來一次返回多個(gè)值, 看起來更有效, 實(shí)際上, 對(duì)象的創(chuàng)建比多個(gè)方法調(diào)用代價(jià)更高. 在 Swing 的最后發(fā)布之前, 通過給 Component 和其他一些類加一些新的存取方法, 問題就簡(jiǎn)單地解決了, 就象下面這樣:

? public int getX()????? { return myBounds.x; } ? public int getY()????? { return myBounds.y; } ? public int getHeight() { return myBounds.height; } ? public int getWidth()? { return myBounds.width; }

  現(xiàn)在一個(gè)調(diào)用者可以這樣獲取邊界而不用創(chuàng)建對(duì)象:

? int x = component.getX(); ? int y = component.getY(); ? int h = component.getHeight(); ? int w = component.getWidth();

  getBounds() 的舊形式仍然支持; 好的存取方法簡(jiǎn)單地提供了有效的方法來達(dá)到相同的目的. 結(jié)果是, Rectangle 的接口全部在 Component 中使用. 當(dāng)修改 Swing 包支持和使用這樣的存取函數(shù)后, 在許多 Swing 操作中比以前要快到兩倍. 這很好, 因?yàn)?GUI 代碼非常注意性能 -- 用戶等待發(fā)生一些事, 希望 UI 操作瞬間完成.

  使用這個(gè)技術(shù)不好的地方就是你的對(duì)象提供了更多的方法, 有多于一個(gè)的方法來得到相同的信息, 就使文檔更大更復(fù)雜, 可能使用戶害怕. 但是就象 Swing 的例子顯示的, 在關(guān)注性能的情況下, 這樣的優(yōu)化技術(shù)是有效的.

  技巧 2: 利用可變性

  除了給 Component 加上原類型的存儲(chǔ)函數(shù) -- 象上面討論的 getX() 函數(shù) -- 以外, Java 2 在 AWT 和 Swing 中也使用了另一種技術(shù)來減少對(duì)象創(chuàng)建, 允許一個(gè)調(diào)用者把邊界作為一個(gè) Rectangle 得到, 但是不需要任何臨時(shí)對(duì)象的創(chuàng)建.

? public Rectangle getBounds(Rectangle returnVal) { ??? returnVal.x = myBounds.x; ??? returnVal.y = myBounds.y; ??? returnVal.height = myBounds.height; ??? returnVal.width = myBounds.width; ??? return returnVal; ? }

  調(diào)用者仍然需要?jiǎng)?chuàng)建一個(gè) Rectangle 對(duì)象, 但它可以在后來的調(diào)用中重用. 如果一個(gè)調(diào)用者在一系列的 Component 中循環(huán), 可以只創(chuàng)建一個(gè) Rectangle 對(duì)象, 在每個(gè) Component 中重用. 注意這個(gè)技術(shù)只用于可變性對(duì)象; 你不能用這種方法消除 String 的創(chuàng)建.

  技巧 3: 得到兩個(gè)中的最好的.

  一個(gè)解決在簡(jiǎn)單類(象 Point 之類)的對(duì)象創(chuàng)建的問題, 更好的方法是使 Point 對(duì)象不可? 但是定義一個(gè)可變的子類, 就象下面這樣:

? public class Point { ??? protected int x, y; ??? public Point(int x, int y) { this.x = x; this.y = y; } ??? public final int getX() { return x; } ??? public final int getY() { return y; } ? }

? public class MutablePoint extends Point { ??? public final void setX(int x) { this.x = x; } ??? public final void setY(int y) { this.y = y; } ? }

? public class Shape { ??? private MutablePoint myLocation; ??? public Shape(int x, int y) { myLocation = new MutablePoint(x, y); } ??? public Point getLocation()?????? { return (Point) myLocation; } ? }

  在上面的例子中, Shape 可以安全返回一個(gè) myLocation 的引用, 因?yàn)檎{(diào)用者試圖修改域或者調(diào)用設(shè)置函數(shù)會(huì)失敗. (當(dāng)然, 調(diào)用者仍然可以把 Point 轉(zhuǎn)換為 MutablePoint, 但這明顯不安全, 這樣的調(diào)用者可能得到他們想要的) C++ 程序員可能注意到了這個(gè)技巧很象 C++ 中返回一個(gè) Rectangle 的常量引用(cong Rectangle&) -- 一個(gè) Java 不支持的特點(diǎn).

  這個(gè)技巧 -- 返回一個(gè)具有可變的和不可變的類, 只允許讀的對(duì)象, 而不創(chuàng)建新對(duì)象 --在 Java 1.3 類庫 java.math.BigInteger 類中使用. MutableBigInteger 類不可見 --它是一個(gè)只在 java.math 類庫中內(nèi)部使用的私有類型. 但是既然 BigInteger 的一些方法(象 gcd()) 在許多數(shù)學(xué)操作中都有, 在一個(gè)地方操作比創(chuàng)建上百個(gè)臨時(shí)變量性能提高非常大.

  結(jié)論

  所有的性能優(yōu)化的建議中, 值得記住的是有許多程序的性能可以完全接受的情況. 在這些情況下, 不值得犧牲可讀性, 可維護(hù)性, 抽象, 或者其他可取的程序?qū)傩詠慝@得性能. 但是, 既然許多性能問題的種子在設(shè)計(jì)時(shí)就種下了, 要注意到設(shè)計(jì)思想潛在地對(duì)性能的沖?當(dāng)你設(shè)計(jì)的類在關(guān)注性能的情況***使用, 你可以有效地使用這里提到的技巧來減少臨時(shí)對(duì)象的創(chuàng)建,

  在第三部分中, 我將看看分布式的應(yīng)用程序中特有的性能問題, 怎樣在設(shè)計(jì)時(shí)候找出和消除它們。

About the author Brian Goetz is a professional software developer with over 15 years of experience. He is a principal consultant at Quiotix, a software development and consulting firm located in Los Altos, Calif.

?

 翻譯 by SuperMMX

  閱讀整個(gè)的 "為性能而設(shè)計(jì)" 系列:   第一部分: 接口事宜   第二部分: 減少對(duì)象創(chuàng)建   第三部分: 遠(yuǎn)程接口 (March 23, 2001)

  第一部分: 接口事宜

  概要   許多通常的 Java 性能問題都起源于在設(shè)計(jì)過程早期中的類設(shè)計(jì)的思想, 早在許多開發(fā)者開始考慮性能問題之前. 在這個(gè)系列中, Brian Goetz討論了通常的 Java性能上的冒險(xiǎn)以及怎么在設(shè)計(jì)時(shí)候避免它們.

  許多程序員在開發(fā)周期的后期才可是考慮性能管理. 他們常常把性能優(yōu)化拖延到最后, 希望能完全避免 -- 有時(shí)候這種策略是成功的. 但是早期的設(shè)計(jì)思想可以影響性能優(yōu)化的需求及其成功. 如果性能是你的程序的一個(gè)重要指標(biāo), 那么性能管理應(yīng)該從第一天起就和設(shè)開發(fā)周期整合在一起.

  這個(gè)系列探索一些早期的設(shè)計(jì)思想能夠極大影響應(yīng)用程序性能的方法. 在這篇文章中, 我專注于最通常的性能問題中的一個(gè): 臨時(shí)變量的創(chuàng)建. 一個(gè)類的對(duì)象創(chuàng)建方式常常在設(shè)計(jì)時(shí)候就確定了的 -- 但不是故意的 --, 就為后來的性能問題種下了種子.

  性能問題有各種形式. 最容易調(diào)整的是那些你簡(jiǎn)單地為計(jì)算選擇了一個(gè)錯(cuò)誤的算法 -- 就象使用使用冒泡算法來對(duì)一個(gè)大數(shù)據(jù)集進(jìn)行排序, 或者在使用一個(gè)經(jīng)常使用的數(shù)據(jù)項(xiàng)時(shí)不是做緩沖, 而是每次都計(jì)算. 你可以使用概要分析來簡(jiǎn)單地找出這些瓶頸, 一旦找到了,你可以很容易地改正. 但是, 許多 Java 性能問題來自一個(gè)更深的, 更難改正的源頭 -- 一個(gè)程序組件的接口設(shè)計(jì).

  今天大多數(shù)程序是由內(nèi)部開發(fā)的或者外部買來的組件構(gòu)建而成. 甚至在程序不是很大地依于已經(jīng)存在的組件時(shí), 面向?qū)ο蟮脑O(shè)計(jì)過程也鼓勵(lì)應(yīng)用程序包裝成組件, 這樣就簡(jiǎn)化了設(shè)計(jì), 開發(fā)和測(cè)試過程. 這些優(yōu)勢(shì)是不可否認(rèn)的, 你應(yīng)該認(rèn)識(shí)到這些組件實(shí)現(xiàn)的接口可能極大地影響使用它們的程序的行為和性能.

  在這一點(diǎn)上, 你可能要問什么樣的接口和性能相關(guān). 一個(gè)類的接口不僅定義了這個(gè)類可以實(shí)現(xiàn)那些功能, 也可以定義它的對(duì)象創(chuàng)建行為和使用它的方法調(diào)用序列. 一個(gè)類怎樣定義它的構(gòu)造函數(shù)和方法決定了一個(gè)對(duì)象是否可以重用, 它的方法是否要?jiǎng)?chuàng)建 -- 或者要求它的客戶端創(chuàng)建 -- 中間對(duì)象,? 以及一個(gè)客戶端需要調(diào)用多少方法來使用這個(gè)類.這些因素都會(huì)影響程序的性能.

  注意對(duì)象的創(chuàng)建

  一個(gè)最基本的 Java 性能管理原則就是: 避免大量的對(duì)象創(chuàng)建. 這不是說你應(yīng)該不創(chuàng)建任何對(duì)象而放棄面向?qū)ο蟮暮锰? 但是你必須在執(zhí)行性能相關(guān)的代碼時(shí), 在緊循環(huán)中注意對(duì)象的創(chuàng)建. 對(duì)象的創(chuàng)建是如此地高代價(jià), 以至于你應(yīng)該在要求性能的情況下避免不必要的臨時(shí)或者中間對(duì)象的創(chuàng)建.

  String 類是在那些處理文本的程序中對(duì)象創(chuàng)建的主要來源. 因?yàn)?String 是不可修改的,每當(dāng)一個(gè) String 修改或創(chuàng)建, 就必須創(chuàng)建一個(gè)新的對(duì)象. 結(jié)果就是, 關(guān)注性能的程序應(yīng)該避免大量 String 的使用. 但是, 這通常是不可能的. 甚至當(dāng)你從你的代碼中完全除去對(duì) String 的依賴, 你常常會(huì)發(fā)現(xiàn)你自己在使用一些具有根據(jù) String 定義的接口的組件.所以, 你最后不得不使用 String.

  例子: 正規(guī)表達(dá)式匹配

  作為一個(gè)例子, 假設(shè)你寫一個(gè)叫做 MailBot 的郵件服務(wù)器. MailBot 需要處理 MIME 頭格式 -- 象發(fā)送日期或者發(fā)送者的 email 地址 -- 在每個(gè)信息的頂部. 使用一個(gè)匹配正規(guī)表達(dá)式的組件來使處理 MIME 頭的過程簡(jiǎn)單一些. MailBot 足夠聰明, 不為每個(gè)頭的行或者頭的元素創(chuàng)建一個(gè) String 對(duì)象. 相反, 它用輸入的文本填充了一個(gè)字符緩沖區(qū), 通過對(duì)緩沖區(qū)的索引來確定要處理的頭的位置. MailBot 會(huì)調(diào)用正規(guī)表達(dá)式匹配器來處理每個(gè)頭行, 所以匹配器的性能就非常重要. 我們以一個(gè)正規(guī)表達(dá)式匹配器類的拙劣的接口作為例子:

public class AwfulRegExpMatcher { ? /** Create a matcher with the given regular expression and which will ????? operate on the given input string */ ? public AwfulRegExpMatcher(String regExp, String inputText); ? /** Retrieve the next match of the pattern against the input text, ????? returning the matched text if possible or null if not */ ? public String getNextMatch(); }

  甚至在這個(gè)類實(shí)現(xiàn)了一個(gè)有效的正規(guī)表達(dá)式匹配的算法的時(shí)候, 任何大量使用它的程序仍然難以忍受. 既然匹配器對(duì)象和輸入的文本聯(lián)系起來, 每一次你調(diào)用它, 你必須創(chuàng)建一個(gè)新的匹配器對(duì)象. 既然你的目標(biāo)是減少不必要的對(duì)象的創(chuàng)建, 那么使這個(gè)匹配器可以賾將會(huì)是一個(gè)明顯的開始.

  下面的類定義演示了你的匹配器的另一個(gè)可能的接口, 允許你重用這個(gè)匹配器, 但仍然很壞.

public class BadRegExpMatcher { ? public BadRegExpMatcher(String regExp); ? /** Attempts to match the specified regular expression against the input ????? text, returning the matched text if possible or null if not */ ? public String match(String inputText); ? /** Get the next match against the input text, or return null if no match */ ? public String getNextMatch(); }

  忽略正規(guī)表達(dá)式匹配中的精細(xì)點(diǎn) -- 象返回匹配的子表達(dá)式, 這個(gè)看起來無害的類定義會(huì)出什么問題呢? 從功能上來看, 沒有. 但是從性能的角度來看, 許多. 首先, 匹配器需要它的調(diào)用者創(chuàng)建一個(gè) String 來代表要匹配的文本. MailBot 試圖避免創(chuàng)建 String對(duì)象, 但是當(dāng)它要找到一個(gè)要做正規(guī)表達(dá)式解析的頭時(shí), 它不得不創(chuàng)建一個(gè) String 來滿足 BadRegExpMatcher:

BadRegExpMatcher dateMatcher = new BadRegExpMatcher(...); while (...) { ? ... ? String headerLine = new String(myBuffer, thisHeaderStart, ? thisHeaderEnd-thisHeaderStart); ? String result = dateMatcher.match(headerLine); ? if (result == null) { ... } }

  第二, 匹配器創(chuàng)建了結(jié)果字符串甚至當(dāng) MailBot 只關(guān)心是否匹配了, 不需要匹配的文本時(shí),這意味著要簡(jiǎn)單使用 BadRegExpMatcher 來確認(rèn)一個(gè)日期頭是否匹配一個(gè)特定的格式, 你必須創(chuàng)建兩個(gè) String 對(duì)象 -- 匹配器的輸入和匹配的結(jié)果. 兩個(gè)對(duì)象可能看起來不多,但是如果你給 MailBot 處理的每個(gè)郵件的每個(gè)頭行都創(chuàng)建兩個(gè)對(duì)象, 這會(huì)極大地影響性能. 錯(cuò)誤不在于 MailBot 的設(shè)計(jì), 而在于 BadRegExpMatcher 類的設(shè)計(jì) -- 或者使用.

  注意返回一個(gè)輕量型的 Match 對(duì)象 -- 可以提供 getOffset(), getLength(), egetMatchString() 方法 -- 而不是返回一個(gè) String, 這不會(huì)很大提高性能. 因?yàn)閯?chuàng)建一個(gè) Match 對(duì)象可能比創(chuàng)建一個(gè) String 代價(jià)要小 -- 包括產(chǎn)生一個(gè) char[] 數(shù)組和復(fù)制數(shù)據(jù), 你仍然創(chuàng)建了一個(gè)中間對(duì)象, 對(duì)你的調(diào)用者來說沒有價(jià)值.

  這已經(jīng)足夠壞了, BadREgExpMatcher 強(qiáng)迫你使用它想看到的輸入形式, 而不是你可以提供的更有效的形式. 但是使用 BadRegExpMathcer 還有另一個(gè)危險(xiǎn), 潛在地給 MailBot的性能帶來更大的冒險(xiǎn): 在處理郵件頭的時(shí)候, 你開始有避免使用 String 的傾向. 但是既然你被迫創(chuàng)建許多 String 對(duì)象來滿足 BadRegExpMatcher, 你可能被引誘而放棄這個(gè)目標(biāo), 更加自由地使用 String. 現(xiàn)在, 一個(gè)組件的糟糕的設(shè)計(jì)已經(jīng)影響了使用它的程序. 甚至你后來找到了一個(gè)更好的正規(guī)表達(dá)式的組件, 不需要你提供一個(gè) String, 那時(shí)你的整個(gè)程序都會(huì)受影響.

  一個(gè)好一些的接口

  你怎樣定義 BadRegExpMatcher, 而不引起這樣的問題呢? 首先, BadRegExpMatcher 應(yīng)該不規(guī)定它的輸入. 它應(yīng)該可以接受它的調(diào)用者能夠有效提供的各種輸入格式. 第二, 它不應(yīng)該自動(dòng)給匹配結(jié)果產(chǎn)生一個(gè) String; 應(yīng)該返回足夠的信息, 這樣調(diào)用者如果愿意的話可以生成它. (為方便著想, 它可以提供一個(gè)方法來做這件事, 但不是必須的) 這里有一個(gè)好一些的接口:

class BetterRegExpMatcher { ? public BetterRegExpMatcher(...); ? /** Provide matchers for multiple formats of input -- String, ????? character array, and subset of character array.? Return -1 if no ????? match was made; return offset of match start if a match was ????? made.? */ ? public int match(String inputText); ? public int match(char[] inputText); ? public int match(char[] inputText, int offset, int length); ? /** Get the next match against the input text, if any */ ? public int getNextMatch(); ? /** If a match was made, returns the length of the match; between ????? the offset and the length, the caller should be able to ????? reconstruct the match text from the offset and length */ ? public int getMatchLength(); ? /** Convenience routine to get the match string, in the event the ????? caller happens to wants a String */ ? public String getMatchText(); }

  新的接口減少了調(diào)用者把輸入轉(zhuǎn)換成匹配器希望的格式這個(gè)要求. MailBot 現(xiàn)在可以象下面這樣調(diào)用 match():

int resultOffset = dateMatcher.match(myBuffer, thisHeaderStart, thisHeaderEnd-thisHeaderStart); if (resultOffset < 0) { ... }

  這就解決了不創(chuàng)建任何新對(duì)象的目標(biāo). 作為一個(gè)附加的獎(jiǎng)勵(lì), 它的接口設(shè)計(jì)風(fēng)格加到了Java 的 "lots-of-simgle-methos" 設(shè)計(jì)哲學(xué)中.

  額外的對(duì)象創(chuàng)建給性能的確切的沖擊依賴于 matth() 所作的工作量. 你可以通過創(chuàng)建和計(jì)時(shí)兩個(gè)正規(guī)表達(dá)式匹配器類, 來確定一個(gè)性能差別的上限. 在 Sun JDK 1.3 中, 上面的代碼片段在 BetterRegExpMatcher 類中大約比 BadRegExpMatcher 類要快 50 倍左右. 使用一個(gè)簡(jiǎn)單的字串匹配的實(shí)現(xiàn), BetterRegExpMatcher 比相對(duì)應(yīng)的 BadRegExpMatcher 要快5倍。

  交換類型

  BadRegExpMatcher 強(qiáng)迫 MailBot 把輸入文本從字符數(shù)組轉(zhuǎn)換成 String, 結(jié)果是造成了一些不必要的對(duì)象的創(chuàng)建. 更具諷刺意味的是, BadRegExpMatcher 的許多實(shí)現(xiàn)都立即把 String 轉(zhuǎn)換成一個(gè)字符數(shù)組, 使它容易對(duì)輸入文本進(jìn)行訪問. 這樣不僅僅申請(qǐng)了另一齠象, 并且還意味著你做完了所有的工作, 最后的形式和開始時(shí)一樣. MailBot 和 BadRegExpMatcher都不想處理 String -- String 只是看起來象是在組件之間傳遞文本的很明顯的格式.

  在上面的 BadRegExpMatcher 例子中, String 類是作為一個(gè)交換類型的. 一個(gè)交換類型是一種不管是調(diào)用者還是被調(diào)用者都不想使用或者以它作為數(shù)據(jù)格式的一種類型, 但是兩個(gè)都能很容易地轉(zhuǎn)換它或者從它轉(zhuǎn)換. 以交換類型定義接口在保持靈活性的同時(shí)減少了接口的復(fù)雜性, 但是有時(shí)簡(jiǎn)單性導(dǎo)致了高代價(jià)的性能.

  一個(gè)交換類型最典型的例子是 JDBC ResultSet 接口. 它不可能象任何本地?cái)?shù)據(jù)庫提供的數(shù)據(jù)集一樣提供它的 ResultSet 接口, 但是 JDBC 驅(qū)動(dòng)通過實(shí)現(xiàn)一個(gè) ResultSet 可以很容易地把數(shù)據(jù)庫提供的本地?cái)?shù)據(jù)表示包裝起來. 同樣, 客戶端程序也不能象這樣表示數(shù)據(jù)記錄, 但是你幾乎可以沒有困難地把 ResultSet 轉(zhuǎn)換為想要的數(shù)據(jù)表示. 在 JDBC 的例子中,你接受了這個(gè)層次的花費(fèi), 因?yàn)樗鼛砹藰?biāo)準(zhǔn)化和跨數(shù)據(jù)庫實(shí)現(xiàn)的可移植性的好處. 但是,要注意交換類型帶來的性能代價(jià).

  這完全不值得, 使用交換類型對(duì)性能的沖擊不容易度量. 如果你對(duì)上面調(diào)用 BadRegExpMatcher的代碼片段做測(cè)試的話, 它會(huì)在運(yùn)行時(shí)創(chuàng)建 MailBot 的輸入 String; 但是, String 的產(chǎn)生只用來滿足 BadRegExpMatcher. 如果你想評(píng)定一個(gè)組件對(duì)程序性能的真正的沖擊, 你應(yīng)該不僅僅度量它的代碼的資源使用狀況, 還有那些使用它和恢復(fù)的代碼. 這對(duì)于標(biāo)準(zhǔn)的測(cè)試工具此很難完成.

  結(jié)論

  不是所有的程序都關(guān)注于性能的, 不是所有的程序都有性能問題. 但是對(duì)那些關(guān)注這些的程序, 這篇文章所提到的都很重要, 因?yàn)樗鼈儾皇窃谧詈笠环昼娋涂梢孕薷牡? 既然在你編寫寫代碼使用一個(gè)類以后再修改它的接口非常困難, 那么在你的設(shè)計(jì)時(shí)期就花費(fèi)一點(diǎn)額外的時(shí)間來考慮性能特性.

  在第二部分, 我會(huì)演示一些利用可修改性和不可修改性來減少不必要的對(duì)象創(chuàng)建的方法.

About the author Brian Goetz is a professional software developer with over 15 years of experience. He is a principal consultant at Quiotix, a software development and consulting firm located in Los Altos, Calif.

轉(zhuǎn)載于:https://www.cnblogs.com/dainiao01/archive/2008/07/02/2250286.html

總結(jié)

以上是生活随笔為你收集整理的为JAVA性能而设计(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

精品国产麻豆免费人成网站 | 一区二区传媒有限公司 | 色一情一乱一伦一视频免费看 | 日韩精品无码一区二区中文字幕 | 国产极品视觉盛宴 | 俄罗斯老熟妇色xxxx | 欧美老熟妇乱xxxxx | 欧美国产亚洲日韩在线二区 | 国产成人精品无码播放 | 最新国产乱人伦偷精品免费网站 | 亚洲狠狠婷婷综合久久 | 老头边吃奶边弄进去呻吟 | 麻豆果冻传媒2021精品传媒一区下载 | 一本无码人妻在中文字幕免费 | 中文毛片无遮挡高清免费 | 少妇太爽了在线观看 | 在线a亚洲视频播放在线观看 | 成人精品视频一区二区 | 亚洲人成网站免费播放 | 老熟女乱子伦 | аⅴ资源天堂资源库在线 | 久久99精品国产麻豆 | 丰满人妻被黑人猛烈进入 | 日韩欧美中文字幕在线三区 | 精品国产一区二区三区四区 | 蜜臀av无码人妻精品 | 午夜嘿嘿嘿影院 | 激情人妻另类人妻伦 | 色五月五月丁香亚洲综合网 | 欧美熟妇另类久久久久久不卡 | 伊人久久大香线蕉av一区二区 | 国产做国产爱免费视频 | 久久zyz资源站无码中文动漫 | 青青草原综合久久大伊人精品 | 女人高潮内射99精品 | 黑人巨大精品欧美黑寡妇 | 欧美怡红院免费全部视频 | 伦伦影院午夜理论片 | av人摸人人人澡人人超碰下载 | 99riav国产精品视频 | 无码人妻精品一区二区三区下载 | 无遮无挡爽爽免费视频 | 欧美xxxx黑人又粗又长 | 一二三四社区在线中文视频 | 精品国产av色一区二区深夜久久 | 无码人妻黑人中文字幕 | 亚洲人亚洲人成电影网站色 | 日韩人妻无码一区二区三区久久99 | 樱花草在线播放免费中文 | 在线播放亚洲第一字幕 | 狠狠综合久久久久综合网 | 日本大乳高潮视频在线观看 | 日韩人妻无码一区二区三区久久99 | 丰满人妻一区二区三区免费视频 | 亚洲综合久久一区二区 | 国产美女精品一区二区三区 | 亚洲国产精品无码一区二区三区 | 在线观看国产午夜福利片 | 日本乱人伦片中文三区 | 色综合久久久久综合一本到桃花网 | 色 综合 欧美 亚洲 国产 | 少妇性l交大片欧洲热妇乱xxx | 日本一卡二卡不卡视频查询 | 国产在线aaa片一区二区99 | 亚洲精品www久久久 | 精品国产青草久久久久福利 | 天堂а√在线地址中文在线 | 六月丁香婷婷色狠狠久久 | 中文字幕久久久久人妻 | 成年女人永久免费看片 | 狠狠色丁香久久婷婷综合五月 | 性欧美牲交在线视频 | 国产在线精品一区二区高清不卡 | 野狼第一精品社区 | 天天av天天av天天透 | 亚洲经典千人经典日产 | 欧美 丝袜 自拍 制服 另类 | 2019午夜福利不卡片在线 | 老子影院午夜伦不卡 | 亚洲精品一区二区三区四区五区 | 麻豆md0077饥渴少妇 | 国产又粗又硬又大爽黄老大爷视 | 色窝窝无码一区二区三区色欲 | 精品亚洲韩国一区二区三区 | 中文字幕无码热在线视频 | 亚洲人成影院在线无码按摩店 | 永久免费精品精品永久-夜色 | 国产亚洲精品久久久久久久 | 久久国产精品二国产精品 | 小sao货水好多真紧h无码视频 | 亚洲经典千人经典日产 | 任你躁在线精品免费 | 精品国产一区二区三区四区 | 中文字幕无线码免费人妻 | 日本肉体xxxx裸交 | 丰满人妻翻云覆雨呻吟视频 | 天堂亚洲2017在线观看 | 日韩精品成人一区二区三区 | 国产精品久久久午夜夜伦鲁鲁 | 亚洲精品综合五月久久小说 | 精品久久久无码中文字幕 | 天天av天天av天天透 | 亚洲人成网站在线播放942 | 国产精品丝袜黑色高跟鞋 | 亚洲国产精品一区二区第一页 | 又大又硬又黄的免费视频 | 成人女人看片免费视频放人 | 亚洲爆乳精品无码一区二区三区 | 亚洲区小说区激情区图片区 | 中文字幕无码乱人伦 | 日日碰狠狠丁香久燥 | 亚洲色欲色欲欲www在线 | 久久人人97超碰a片精品 | 国产午夜手机精彩视频 | 高潮喷水的毛片 | aⅴ亚洲 日韩 色 图网站 播放 | 国产两女互慰高潮视频在线观看 | 欧美性猛交内射兽交老熟妇 | 亚洲国产精华液网站w | 亚洲码国产精品高潮在线 | 99久久亚洲精品无码毛片 | 欧美丰满少妇xxxx性 | 亚洲国产综合无码一区 | 天天摸天天碰天天添 | 日韩人妻无码中文字幕视频 | 亚洲日韩乱码中文无码蜜桃臀网站 | 77777熟女视频在线观看 а天堂中文在线官网 | 99久久人妻精品免费一区 | 18黄暴禁片在线观看 | 55夜色66夜色国产精品视频 | 精品无人区无码乱码毛片国产 | 免费人成网站视频在线观看 | 狠狠色丁香久久婷婷综合五月 | 亚洲综合另类小说色区 | 最新国产乱人伦偷精品免费网站 | 成人无码视频在线观看网站 | 嫩b人妻精品一区二区三区 | 色欲人妻aaaaaaa无码 | 国产熟女一区二区三区四区五区 | 精品久久久久久亚洲精品 | 在线观看国产午夜福利片 | 久久精品人人做人人综合试看 | 中文字幕久久久久人妻 | 一本色道婷婷久久欧美 | 粉嫩少妇内射浓精videos | 欧美日本精品一区二区三区 | 国产一区二区不卡老阿姨 | 午夜福利一区二区三区在线观看 | 久久99精品久久久久婷婷 | 日韩欧美群交p片內射中文 | 亚洲欧洲中文日韩av乱码 | 欧美性生交活xxxxxdddd | 久久久久久九九精品久 | 久久亚洲精品成人无码 | 久久久久久久女国产乱让韩 | 欧美黑人性暴力猛交喷水 | 日本高清一区免费中文视频 | 亚洲爆乳大丰满无码专区 | 欧美亚洲国产一区二区三区 | 免费网站看v片在线18禁无码 | 久久国产自偷自偷免费一区调 | 亚洲色大成网站www国产 | 蜜桃臀无码内射一区二区三区 | 成人欧美一区二区三区黑人 | 久久97精品久久久久久久不卡 | 成在人线av无码免费 | 久久99精品国产.久久久久 | 无码人妻丰满熟妇区五十路百度 | 国产超碰人人爽人人做人人添 | 全黄性性激高免费视频 | 一本无码人妻在中文字幕免费 | 久久人人爽人人爽人人片ⅴ | 奇米影视7777久久精品人人爽 | 青青草原综合久久大伊人精品 | 老熟女重囗味hdxx69 | 国产偷国产偷精品高清尤物 | 欧美性猛交xxxx富婆 | 中文字幕av无码一区二区三区电影 | 国产后入清纯学生妹 | 55夜色66夜色国产精品视频 | 呦交小u女精品视频 | 亚洲国产高清在线观看视频 | 亚洲日韩av一区二区三区四区 | 中文字幕无码人妻少妇免费 | 成人免费视频一区二区 | 99久久无码一区人妻 | 亚洲男人av香蕉爽爽爽爽 | 亚洲天堂2017无码 | 中文字幕人妻无码一夲道 | 亚洲午夜久久久影院 | 少妇被黑人到高潮喷出白浆 | 大地资源网第二页免费观看 | 国内少妇偷人精品视频免费 | 国产精品99爱免费视频 | 最近中文2019字幕第二页 | 亚洲七七久久桃花影院 | 精品国产av色一区二区深夜久久 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲一区二区观看播放 | 国产在线精品一区二区三区直播 | 久久久久久国产精品无码下载 | 久久熟妇人妻午夜寂寞影院 | 日本一卡2卡3卡四卡精品网站 | 国产尤物精品视频 | 精品国产成人一区二区三区 | 国产又爽又猛又粗的视频a片 | 亚洲熟妇色xxxxx欧美老妇y | 99麻豆久久久国产精品免费 | 国产 浪潮av性色四虎 | 97夜夜澡人人爽人人喊中国片 | 亚洲国产欧美日韩精品一区二区三区 | 啦啦啦www在线观看免费视频 | 亚洲人亚洲人成电影网站色 | 中文字幕无码热在线视频 | 欧美性猛交xxxx富婆 | 少妇无套内谢久久久久 | 欧美老妇交乱视频在线观看 | 天堂一区人妻无码 | 欧美成人午夜精品久久久 | 亚洲国产综合无码一区 | 午夜福利试看120秒体验区 | 国产成人无码av在线影院 | 免费观看又污又黄的网站 | 高清无码午夜福利视频 | 日韩欧美成人免费观看 | 少女韩国电视剧在线观看完整 | 亚洲欧美中文字幕5发布 | 99久久久无码国产精品免费 | 成人无码视频免费播放 | 熟妇人妻激情偷爽文 | 亚洲精品一区二区三区四区五区 | 国产莉萝无码av在线播放 | 国产精品福利视频导航 | 色五月丁香五月综合五月 | 麻豆人妻少妇精品无码专区 | 无码播放一区二区三区 | 精品无码成人片一区二区98 | 亚洲第一无码av无码专区 | 日韩人妻无码一区二区三区久久99 | 男人的天堂2018无码 | 日韩在线不卡免费视频一区 | 中文无码精品a∨在线观看不卡 | 日本护士xxxxhd少妇 | 少女韩国电视剧在线观看完整 | 奇米影视7777久久精品人人爽 | 欧美成人午夜精品久久久 | 国产偷抇久久精品a片69 | 免费无码的av片在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | aⅴ亚洲 日韩 色 图网站 播放 | аⅴ资源天堂资源库在线 | 亚洲 a v无 码免 费 成 人 a v | 九九综合va免费看 | 国产九九九九九九九a片 | 高清不卡一区二区三区 | 老熟妇仑乱视频一区二区 | 亚洲中文字幕在线无码一区二区 | 日韩亚洲欧美精品综合 | 成人免费视频在线观看 | 捆绑白丝粉色jk震动捧喷白浆 | 免费无码午夜福利片69 | 国产9 9在线 | 中文 | 久久人人爽人人爽人人片ⅴ | 又大又紧又粉嫩18p少妇 | 国产精品无码永久免费888 | 亚洲日本一区二区三区在线 | 1000部夫妻午夜免费 | 精品午夜福利在线观看 | 久久久久人妻一区精品色欧美 | 野狼第一精品社区 | 伊人久久大香线蕉av一区二区 | 久久久国产一区二区三区 | 1000部啪啪未满十八勿入下载 | 国产免费无码一区二区视频 | 中文字幕 亚洲精品 第1页 | 日韩成人一区二区三区在线观看 | 欧美老人巨大xxxx做受 | 未满小14洗澡无码视频网站 | 麻豆md0077饥渴少妇 | 日日碰狠狠躁久久躁蜜桃 | 亚洲欧美日韩国产精品一区二区 | 久久午夜无码鲁丝片午夜精品 | 色欲久久久天天天综合网精品 | 无码中文字幕色专区 | 久久99精品国产麻豆 | 日韩人妻无码中文字幕视频 | 久久aⅴ免费观看 | 桃花色综合影院 | 国内老熟妇对白xxxxhd | 亚洲第一无码av无码专区 | 欧美老妇交乱视频在线观看 | 国产成人精品久久亚洲高清不卡 | 老熟女乱子伦 | 精品成在人线av无码免费看 | 久久久久久久久888 | 中文字幕人成乱码熟女app | 国产成人精品优优av | 一个人免费观看的www视频 | 亚洲国产综合无码一区 | 荡女精品导航 | 无码av岛国片在线播放 | 女人高潮内射99精品 | 55夜色66夜色国产精品视频 | 久久久久免费看成人影片 | 激情内射日本一区二区三区 | 国产乱人伦av在线无码 | 国产偷抇久久精品a片69 | 国产精品99久久精品爆乳 | 欧美性生交xxxxx久久久 | 欧美成人免费全部网站 | 成年美女黄网站色大免费视频 | 亚洲国产精品一区二区美利坚 | 人妻互换免费中文字幕 | a在线观看免费网站大全 | 国产精品亚洲一区二区三区喷水 | 一区二区三区乱码在线 | 欧洲 | 亚洲成av人综合在线观看 | 少妇邻居内射在线 | 国产69精品久久久久app下载 | 亚洲精品久久久久久久久久久 | 成年美女黄网站色大免费全看 | 国产色视频一区二区三区 | 久久精品无码一区二区三区 | 99久久婷婷国产综合精品青草免费 | 久久综合久久自在自线精品自 | 精品无码一区二区三区的天堂 | 中文字幕人妻无码一区二区三区 | 夜夜躁日日躁狠狠久久av | 偷窥日本少妇撒尿chinese | 亚无码乱人伦一区二区 | 亚洲精品久久久久久久久久久 | 97久久超碰中文字幕 | 日日噜噜噜噜夜夜爽亚洲精品 | 夫妻免费无码v看片 | 亚洲精品久久久久中文第一幕 | 真人与拘做受免费视频 | 国内综合精品午夜久久资源 | 女高中生第一次破苞av | 奇米影视888欧美在线观看 | 色婷婷久久一区二区三区麻豆 | 97久久国产亚洲精品超碰热 | 伊人久久大香线焦av综合影院 | 日本护士毛茸茸高潮 | 亚洲国产av精品一区二区蜜芽 | 一本加勒比波多野结衣 | 日本大乳高潮视频在线观看 | 日日躁夜夜躁狠狠躁 | 欧美兽交xxxx×视频 | 亚洲成色在线综合网站 | 国产精品亚洲lv粉色 | av小次郎收藏 | 人妻体内射精一区二区三四 | 国产黑色丝袜在线播放 | 天天爽夜夜爽夜夜爽 | 欧美日本免费一区二区三区 | 欧美性生交活xxxxxdddd | 麻豆成人精品国产免费 | 成人无码精品1区2区3区免费看 | 无码精品国产va在线观看dvd | 三上悠亚人妻中文字幕在线 | 丰腴饱满的极品熟妇 | 亚洲成色在线综合网站 | 理论片87福利理论电影 | 国产精品美女久久久网av | 久久综合九色综合欧美狠狠 | 精品无人区无码乱码毛片国产 | 牲欲强的熟妇农村老妇女视频 | 国产精品第一国产精品 | 久久久国产精品无码免费专区 | 亚洲精品久久久久久久久久久 | 国产亚洲人成在线播放 | 国产超级va在线观看视频 | 青草视频在线播放 | 日本va欧美va欧美va精品 | 精品国产av色一区二区深夜久久 | 国产电影无码午夜在线播放 | 国产精品永久免费视频 | 伊在人天堂亚洲香蕉精品区 | 欧美成人免费全部网站 | 亚洲色大成网站www | 麻豆国产丝袜白领秘书在线观看 | 人妻少妇精品无码专区动漫 | 精品欧洲av无码一区二区三区 | 欧美阿v高清资源不卡在线播放 | 女人和拘做爰正片视频 | 又黄又爽又色的视频 | 大乳丰满人妻中文字幕日本 | 国产sm调教视频在线观看 | 蜜臀aⅴ国产精品久久久国产老师 | 国产高清av在线播放 | 国产亚洲美女精品久久久2020 | 色欲综合久久中文字幕网 | 国内精品九九久久久精品 | 自拍偷自拍亚洲精品被多人伦好爽 | 天天摸天天碰天天添 | 国产精品亚洲综合色区韩国 | 99在线 | 亚洲 | 精品水蜜桃久久久久久久 | 嫩b人妻精品一区二区三区 | 乱码午夜-极国产极内射 | 亚拍精品一区二区三区探花 | 99久久精品国产一区二区蜜芽 | 精品成在人线av无码免费看 | 一区二区三区乱码在线 | 欧洲 | 日韩精品a片一区二区三区妖精 | 久久精品国产一区二区三区 | 欧美性生交xxxxx久久久 | 亚洲阿v天堂在线 | 精品久久久无码人妻字幂 | 强开小婷嫩苞又嫩又紧视频 | 婷婷六月久久综合丁香 | 少妇激情av一区二区 | 国产精品人人爽人人做我的可爱 | 无码中文字幕色专区 | 人妻有码中文字幕在线 | 少妇性俱乐部纵欲狂欢电影 | 亚洲日韩乱码中文无码蜜桃臀网站 | 日韩少妇白浆无码系列 | 久久亚洲精品中文字幕无男同 | 国产成人一区二区三区别 | 色诱久久久久综合网ywww | 成 人 免费观看网站 | 领导边摸边吃奶边做爽在线观看 | 成人亚洲精品久久久久软件 | 国产乱子伦视频在线播放 | 精品无码一区二区三区爱欲 | 免费看男女做好爽好硬视频 | 成人免费无码大片a毛片 | 久久人妻内射无码一区三区 | 西西人体www44rt大胆高清 | 小sao货水好多真紧h无码视频 | www一区二区www免费 | 好爽又高潮了毛片免费下载 | 性欧美牲交在线视频 | 精品国产福利一区二区 | 亲嘴扒胸摸屁股激烈网站 | 国产黄在线观看免费观看不卡 | 99er热精品视频 | 欧美日韩一区二区免费视频 | 国产亚洲精品久久久久久久 | 精品无人区无码乱码毛片国产 | 天堂亚洲2017在线观看 | 99国产欧美久久久精品 | 国产乡下妇女做爰 | 免费看男女做好爽好硬视频 | 4hu四虎永久在线观看 | 天天综合网天天综合色 | 国产特级毛片aaaaaa高潮流水 | 国产后入清纯学生妹 | 久久99精品久久久久婷婷 | 国产精品视频免费播放 | 亚洲乱亚洲乱妇50p | 亚洲综合在线一区二区三区 | 亚洲精品美女久久久久久久 | 亚洲日本va午夜在线电影 | 日韩人妻系列无码专区 | 亚洲精品一区二区三区在线观看 | 国产精品二区一区二区aⅴ污介绍 | 亚洲精品成人av在线 | 日韩av无码一区二区三区不卡 | 蜜桃臀无码内射一区二区三区 | 97久久精品无码一区二区 | 成年女人永久免费看片 | 福利一区二区三区视频在线观看 | 国产人妻精品午夜福利免费 | 4hu四虎永久在线观看 | 性色av无码免费一区二区三区 | 77777熟女视频在线观看 а天堂中文在线官网 | 最近免费中文字幕中文高清百度 | 蜜桃av抽搐高潮一区二区 | 久久综合香蕉国产蜜臀av | 狂野欧美性猛xxxx乱大交 | 在线观看免费人成视频 | 蜜臀av无码人妻精品 | 成人试看120秒体验区 | 国产麻豆精品一区二区三区v视界 | 国产69精品久久久久app下载 | 无码国产色欲xxxxx视频 | 成人欧美一区二区三区黑人免费 | 久久无码专区国产精品s | 欧美丰满熟妇xxxx性ppx人交 | 精品国产一区二区三区av 性色 | 国产精品人妻一区二区三区四 | 少妇厨房愉情理9仑片视频 | 在线观看国产午夜福利片 | 中文字幕无码日韩欧毛 | 无码午夜成人1000部免费视频 | 在线播放免费人成毛片乱码 | 国产午夜亚洲精品不卡下载 | 中文字幕无码免费久久9一区9 | 国产成人av免费观看 | 水蜜桃av无码 | 中文字幕无码人妻少妇免费 | 丰满少妇人妻久久久久久 | 国产精品久久精品三级 | 精品国产麻豆免费人成网站 | 久激情内射婷内射蜜桃人妖 | 成人精品视频一区二区三区尤物 | 久久久久成人片免费观看蜜芽 | 成人亚洲精品久久久久软件 | 又大又硬又爽免费视频 | 精品乱码久久久久久久 | 青草视频在线播放 | 九九久久精品国产免费看小说 | 亚洲熟妇自偷自拍另类 | 免费观看的无遮挡av | 国产另类ts人妖一区二区 | 亚洲男人av天堂午夜在 | 国产热a欧美热a在线视频 | 亚洲理论电影在线观看 | 亚洲国产精品无码一区二区三区 | 自拍偷自拍亚洲精品10p | 人妻互换免费中文字幕 | 亚洲无人区一区二区三区 | 亚洲精品国产a久久久久久 | 国产精品亚洲а∨无码播放麻豆 | 无码人妻久久一区二区三区不卡 | 日本乱人伦片中文三区 | 丰满少妇高潮惨叫视频 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲色偷偷偷综合网 | 99国产精品白浆在线观看免费 | 日本欧美一区二区三区乱码 | 午夜精品一区二区三区的区别 | 日日摸夜夜摸狠狠摸婷婷 | 成人无码影片精品久久久 | 亚洲精品中文字幕乱码 | 中文字幕色婷婷在线视频 | 久久久婷婷五月亚洲97号色 | 久久久久se色偷偷亚洲精品av | 久久99久久99精品中文字幕 | 国产精品对白交换视频 | аⅴ资源天堂资源库在线 | 少妇久久久久久人妻无码 | 亚洲欧美国产精品久久 | 久久伊人色av天堂九九小黄鸭 | 捆绑白丝粉色jk震动捧喷白浆 | 少妇被粗大的猛进出69影院 | 亚拍精品一区二区三区探花 | a国产一区二区免费入口 | 欧美 日韩 人妻 高清 中文 | 国产精品理论片在线观看 | 国产舌乚八伦偷品w中 | 亚洲欧美色中文字幕在线 | 老熟女重囗味hdxx69 | 久久99国产综合精品 | 亚洲一区二区三区无码久久 | 99精品国产综合久久久久五月天 | 亚洲成av人片在线观看无码不卡 | 久久精品成人欧美大片 | 久久亚洲精品中文字幕无男同 | 亚洲一区二区三区四区 | 午夜丰满少妇性开放视频 | 丰满诱人的人妻3 | 色噜噜亚洲男人的天堂 | 中文字幕人妻无码一区二区三区 | 99久久人妻精品免费二区 | 久久综合狠狠综合久久综合88 | 亚洲中文字幕成人无码 | 学生妹亚洲一区二区 | 男人和女人高潮免费网站 | 国产无遮挡又黄又爽又色 | 久久精品女人天堂av免费观看 | 人妻少妇精品无码专区二区 | 影音先锋中文字幕无码 | 人人超人人超碰超国产 | 色综合久久久久综合一本到桃花网 | 狠狠色噜噜狠狠狠狠7777米奇 | 日韩av无码中文无码电影 | 无码吃奶揉捏奶头高潮视频 | 欧美老人巨大xxxx做受 | 精品厕所偷拍各类美女tp嘘嘘 | 成人无码精品1区2区3区免费看 | 国产精品成人av在线观看 | 麻豆国产97在线 | 欧洲 | 男人和女人高潮免费网站 | 久久熟妇人妻午夜寂寞影院 | 久久久无码中文字幕久... | 荫蒂添的好舒服视频囗交 | 免费国产成人高清在线观看网站 | 亚洲国产精品无码久久久久高潮 | 国产内射爽爽大片视频社区在线 | 国产激情无码一区二区 | 图片小说视频一区二区 | 成人片黄网站色大片免费观看 | 一本久道高清无码视频 | 丰满人妻精品国产99aⅴ | 日本精品少妇一区二区三区 | 无码av免费一区二区三区试看 | 精品人人妻人人澡人人爽人人 | 131美女爱做视频 | 国产精品沙发午睡系列 | 久久国产36精品色熟妇 | 无码人妻黑人中文字幕 | 人妻aⅴ无码一区二区三区 | 国产电影无码午夜在线播放 | 老熟女乱子伦 | 好男人社区资源 | 少妇一晚三次一区二区三区 | 纯爱无遮挡h肉动漫在线播放 | 天堂亚洲免费视频 | 自拍偷自拍亚洲精品10p | 久久综合网欧美色妞网 | 精品国产一区二区三区四区在线看 | 水蜜桃av无码 | 98国产精品综合一区二区三区 | 亚洲精品国偷拍自产在线麻豆 | 国产97在线 | 亚洲 | 色 综合 欧美 亚洲 国产 | 99精品无人区乱码1区2区3区 | 搡女人真爽免费视频大全 | 精品一二三区久久aaa片 | 成人精品天堂一区二区三区 | 秋霞成人午夜鲁丝一区二区三区 | 真人与拘做受免费视频一 | 精品国产乱码久久久久乱码 | 成人免费视频视频在线观看 免费 | 色窝窝无码一区二区三区色欲 | 亚洲欧洲无卡二区视頻 | 国产偷自视频区视频 | 蜜臀av在线播放 久久综合激激的五月天 | 国产精品无码久久av | 国产在线无码精品电影网 | 欧美freesex黑人又粗又大 | yw尤物av无码国产在线观看 | 亚洲精品中文字幕乱码 | 国产精品久久久午夜夜伦鲁鲁 | 欧美日本日韩 | 免费网站看v片在线18禁无码 | 精品国产乱码久久久久乱码 | av香港经典三级级 在线 | 亚洲男人av香蕉爽爽爽爽 | www国产亚洲精品久久久日本 | 55夜色66夜色国产精品视频 | 欧美性生交xxxxx久久久 | 四虎永久在线精品免费网址 | 国产午夜亚洲精品不卡下载 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 免费观看的无遮挡av | 日本xxxx色视频在线观看免费 | 蜜桃视频韩日免费播放 | 亚洲日韩一区二区三区 | av在线亚洲欧洲日产一区二区 | 亚洲精品中文字幕 | 骚片av蜜桃精品一区 | 色婷婷综合激情综在线播放 | 久久99热只有频精品8 | 国产精品手机免费 | 亚洲熟妇色xxxxx亚洲 | 好屌草这里只有精品 | 国产精品亚洲lv粉色 | 最近免费中文字幕中文高清百度 | 奇米影视888欧美在线观看 | 国产亚av手机在线观看 | 日韩精品无码一本二本三本色 | 国产精品丝袜黑色高跟鞋 | 亚洲人成人无码网www国产 | 亚洲精品久久久久中文第一幕 | 人妻体内射精一区二区三四 | 亚洲狠狠婷婷综合久久 | 亚洲熟妇色xxxxx亚洲 | 少妇一晚三次一区二区三区 | 一个人看的www免费视频在线观看 | 免费男性肉肉影院 | 国产又爽又猛又粗的视频a片 | 亚洲色欲色欲欲www在线 | 亚洲中文字幕久久无码 | 丰满岳乱妇在线观看中字无码 | 免费观看的无遮挡av | 久久国产劲爆∧v内射 | 男人的天堂2018无码 | av在线亚洲欧洲日产一区二区 | 夜夜高潮次次欢爽av女 | 日韩欧美成人免费观看 | 人人澡人人透人人爽 | 久久亚洲中文字幕无码 | 99久久亚洲精品无码毛片 | 男女下面进入的视频免费午夜 | 亚洲va欧美va天堂v国产综合 | 中文字幕无码av波多野吉衣 | 免费人成在线观看网站 | 女人被爽到呻吟gif动态图视看 | 欧美肥老太牲交大战 | 亚洲精品成人av在线 | 亚洲国精产品一二二线 | 久久精品99久久香蕉国产色戒 | 奇米影视888欧美在线观看 | 成人试看120秒体验区 | 亚洲熟熟妇xxxx | 亚洲中文字幕在线无码一区二区 | 波多野结衣乳巨码无在线观看 | 国语自产偷拍精品视频偷 | 无码人妻丰满熟妇区五十路百度 | 1000部啪啪未满十八勿入下载 | 国产性生交xxxxx无码 | 国产无套内射久久久国产 | 免费观看的无遮挡av | 欧美日韩在线亚洲综合国产人 | 欧美国产亚洲日韩在线二区 | 伊人久久大香线蕉av一区二区 | 国内精品久久久久久中文字幕 | 亚洲一区二区三区含羞草 | 国产亚洲精品精品国产亚洲综合 | 99er热精品视频 | 性欧美大战久久久久久久 | 高清无码午夜福利视频 | 九九在线中文字幕无码 | 亚洲综合色区中文字幕 | 老司机亚洲精品影院无码 | 给我免费的视频在线观看 | 人妻尝试又大又粗久久 | 国产亚洲精品久久久久久大师 | 亚洲一区二区三区国产精华液 | 久久熟妇人妻午夜寂寞影院 | 牲交欧美兽交欧美 | 在线精品国产一区二区三区 | 欧洲美熟女乱又伦 | 亚洲熟女一区二区三区 | 黄网在线观看免费网站 | 久9re热视频这里只有精品 | 88国产精品欧美一区二区三区 | 熟女少妇人妻中文字幕 | 国产国语老龄妇女a片 | 婷婷五月综合激情中文字幕 | 久久99精品国产麻豆 | 亚洲欧美色中文字幕在线 | 国产疯狂伦交大片 | 久久人妻内射无码一区三区 | 中文字幕无码视频专区 | 亚洲精品成a人在线观看 | 国产精品久久久久7777 | 亚洲中文字幕久久无码 | 精品国产福利一区二区 | 亚洲国产精品久久久久久 | 麻豆精品国产精华精华液好用吗 | 日韩成人一区二区三区在线观看 | 亚洲日韩精品欧美一区二区 | 少妇无码一区二区二三区 | 日日噜噜噜噜夜夜爽亚洲精品 | 麻豆av传媒蜜桃天美传媒 | 久久久国产一区二区三区 | 免费国产成人高清在线观看网站 | 亚洲无人区午夜福利码高清完整版 | 国产乱人伦av在线无码 | 牲欲强的熟妇农村老妇女 | 18禁止看的免费污网站 | 国产无遮挡吃胸膜奶免费看 | 亚洲欧美综合区丁香五月小说 | 久久久久久久久蜜桃 | 天天躁日日躁狠狠躁免费麻豆 | 久久精品视频在线看15 | 动漫av网站免费观看 | 欧美国产日韩亚洲中文 | 亚洲精品综合一区二区三区在线 | 无码毛片视频一区二区本码 | 国产精品亚洲综合色区韩国 | 国模大胆一区二区三区 | 一本色道婷婷久久欧美 | 欧美国产日韩亚洲中文 | 亚洲狠狠色丁香婷婷综合 | 5858s亚洲色大成网站www | 十八禁视频网站在线观看 | 国产又粗又硬又大爽黄老大爷视 | 真人与拘做受免费视频一 | 久久久久免费看成人影片 | 欧美黑人性暴力猛交喷水 | 在线播放无码字幕亚洲 | 伊在人天堂亚洲香蕉精品区 | 国产乱码精品一品二品 | 一本大道久久东京热无码av | 理论片87福利理论电影 | 欧美人与善在线com | 麻豆av传媒蜜桃天美传媒 | 精品久久综合1区2区3区激情 | 日日噜噜噜噜夜夜爽亚洲精品 | 少妇高潮一区二区三区99 | 亚洲熟妇色xxxxx欧美老妇y | 国内精品九九久久久精品 | 中文字幕av伊人av无码av | 亚洲精品国产精品乱码视色 | 爽爽影院免费观看 | 蜜桃臀无码内射一区二区三区 | 日本熟妇乱子伦xxxx | 国产一区二区三区日韩精品 | 精品欧美一区二区三区久久久 | 未满小14洗澡无码视频网站 | 精品一区二区三区无码免费视频 | 久久无码人妻影院 | 国产亚av手机在线观看 | 久久精品国产99精品亚洲 | 人妻少妇精品久久 | 狠狠色欧美亚洲狠狠色www | 国产成人无码专区 | 久久精品国产一区二区三区肥胖 | 无码av中文字幕免费放 | 人人澡人摸人人添 | 日韩少妇白浆无码系列 | 88国产精品欧美一区二区三区 | 国产特级毛片aaaaaaa高清 | 在线播放免费人成毛片乱码 | 亚洲精品午夜国产va久久成人 | 欧美成人高清在线播放 | 亚无码乱人伦一区二区 | 国产亚洲精品久久久久久久 | 日韩无套无码精品 | 亚洲色欲久久久综合网东京热 | 午夜性刺激在线视频免费 | 欧美成人午夜精品久久久 | 亚洲另类伦春色综合小说 | 天干天干啦夜天干天2017 | 欧美 日韩 人妻 高清 中文 | 免费无码一区二区三区蜜桃大 | 又色又爽又黄的美女裸体网站 | 老头边吃奶边弄进去呻吟 | 亚洲国产精品久久久天堂 | 国产av一区二区精品久久凹凸 | 久久精品国产日本波多野结衣 | 国产精品人人妻人人爽 | 亚洲精品无码国产 | 丝袜 中出 制服 人妻 美腿 | 成人aaa片一区国产精品 | 国产精品人人爽人人做我的可爱 | 天天爽夜夜爽夜夜爽 | 久久综合狠狠综合久久综合88 | 免费中文字幕日韩欧美 | 久久久精品欧美一区二区免费 | 国产精品va在线播放 | 午夜理论片yy44880影院 | 中文字幕色婷婷在线视频 | 成年美女黄网站色大免费视频 | 又大又硬又黄的免费视频 | 97夜夜澡人人爽人人喊中国片 | 国产色精品久久人妻 | 日本一卡二卡不卡视频查询 | 国产精品爱久久久久久久 | 对白脏话肉麻粗话av | 欧美高清在线精品一区 | 人妻互换免费中文字幕 | 又粗又大又硬又长又爽 | 亚洲aⅴ无码成人网站国产app | 欧美三级不卡在线观看 | 亚洲 激情 小说 另类 欧美 | 老熟妇仑乱视频一区二区 | 亚洲国产av精品一区二区蜜芽 | 国产农村妇女高潮大叫 | 色窝窝无码一区二区三区色欲 | 日本熟妇人妻xxxxx人hd | 国产明星裸体无码xxxx视频 | 亚洲成a人片在线观看日本 | 99精品国产综合久久久久五月天 | 强伦人妻一区二区三区视频18 | 国产成人无码区免费内射一片色欲 | 国产一区二区三区四区五区加勒比 | 激情五月综合色婷婷一区二区 | 亚洲成av人片天堂网无码】 | 国产精品人妻一区二区三区四 | 国产免费无码一区二区视频 | 疯狂三人交性欧美 | 久久综合色之久久综合 | 亚洲色欲久久久综合网东京热 | 娇妻被黑人粗大高潮白浆 | 国产极品美女高潮无套在线观看 | 老太婆性杂交欧美肥老太 | 300部国产真实乱 | 一区二区传媒有限公司 | 偷窥日本少妇撒尿chinese | 亚洲一区二区三区播放 | 国产97在线 | 亚洲 | 性做久久久久久久免费看 | 少妇人妻大乳在线视频 | 日本又色又爽又黄的a片18禁 | 国产成人亚洲综合无码 | 无码一区二区三区在线 | 国产凸凹视频一区二区 | 亚洲国产精品一区二区第一页 | 亚洲色在线无码国产精品不卡 | 亚洲а∨天堂久久精品2021 | 无码帝国www无码专区色综合 | 精品乱码久久久久久久 | 三级4级全黄60分钟 | 麻豆人妻少妇精品无码专区 | 日韩av激情在线观看 | 亚无码乱人伦一区二区 | 久久天天躁夜夜躁狠狠 | 18无码粉嫩小泬无套在线观看 | а√资源新版在线天堂 | 国产一区二区三区四区五区加勒比 | 久久视频在线观看精品 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产成人精品必看 | 丰满妇女强制高潮18xxxx | 国产午夜无码视频在线观看 | 亚洲欧美日韩成人高清在线一区 | 亚洲精品综合一区二区三区在线 | 欧美激情一区二区三区成人 | 欧美日本日韩 | 亚洲日韩一区二区三区 | 久久久无码中文字幕久... | 久久99精品久久久久久动态图 | 国产精品沙发午睡系列 | 成人免费视频一区二区 | 国产电影无码午夜在线播放 | 国产内射老熟女aaaa | 亚洲 另类 在线 欧美 制服 | 福利一区二区三区视频在线观看 | 国产一区二区不卡老阿姨 | 无遮无挡爽爽免费视频 | ass日本丰满熟妇pics | 国产偷抇久久精品a片69 | 久久人人爽人人爽人人片ⅴ | 国语精品一区二区三区 | 国产精品久久久久9999小说 | 亚洲成在人网站无码天堂 | 在线а√天堂中文官网 | 中文字幕人妻无码一区二区三区 | 欧美一区二区三区视频在线观看 | 波多野结衣av一区二区全免费观看 | 精品成人av一区二区三区 | 日韩精品无码免费一区二区三区 | 国产精品毛多多水多 | 性生交片免费无码看人 | 在线精品国产一区二区三区 | 亚洲精品www久久久 | 精品 日韩 国产 欧美 视频 | 少妇性荡欲午夜性开放视频剧场 | 国产成人精品视频ⅴa片软件竹菊 | 国产精品第一区揄拍无码 | 高清无码午夜福利视频 | 国精品人妻无码一区二区三区蜜柚 | 狠狠色丁香久久婷婷综合五月 | 在线欧美精品一区二区三区 | 久久99热只有频精品8 | 色五月五月丁香亚洲综合网 | 又紧又大又爽精品一区二区 | 国内精品久久毛片一区二区 | 日韩少妇内射免费播放 | 成年美女黄网站色大免费视频 | 日本一卡二卡不卡视频查询 | 久久久久成人精品免费播放动漫 | 午夜无码区在线观看 | 国产成人综合美国十次 | 国产精品a成v人在线播放 | 无码一区二区三区在线观看 | 学生妹亚洲一区二区 | 国产麻豆精品一区二区三区v视界 | 在线精品亚洲一区二区 | 老头边吃奶边弄进去呻吟 | 99久久人妻精品免费一区 | 露脸叫床粗话东北少妇 | 国产精品无码一区二区桃花视频 | 色情久久久av熟女人妻网站 | 无遮挡国产高潮视频免费观看 | 在线观看免费人成视频 | 日本一区二区三区免费播放 | 欧洲熟妇色 欧美 | 久久午夜无码鲁丝片秋霞 | 成人欧美一区二区三区黑人 | 男人的天堂av网站 | 四虎国产精品免费久久 | 欧美精品在线观看 | 女人被男人躁得好爽免费视频 | 国产又粗又硬又大爽黄老大爷视 | 性欧美熟妇videofreesex | 色综合久久中文娱乐网 | 亚洲国产精品毛片av不卡在线 | 一本精品99久久精品77 | 亚洲一区二区三区含羞草 | 97se亚洲精品一区 | 伦伦影院午夜理论片 | 久久99热只有频精品8 | 人人妻人人藻人人爽欧美一区 | 欧美老妇交乱视频在线观看 | 一本一道久久综合久久 | 欧美zoozzooz性欧美 | 极品尤物被啪到呻吟喷水 | 草草网站影院白丝内射 | 色妞www精品免费视频 | 久久精品成人欧美大片 | 国产精品毛片一区二区 | 野外少妇愉情中文字幕 | www一区二区www免费 | 久久久精品欧美一区二区免费 | 日欧一片内射va在线影院 | 精品久久综合1区2区3区激情 | 丰满少妇人妻久久久久久 | 久久久久人妻一区精品色欧美 | 亚洲经典千人经典日产 | 色综合久久网 | 波多野结衣av一区二区全免费观看 | 亚洲日韩av片在线观看 | 精品熟女少妇av免费观看 | 欧美丰满熟妇xxxx | 国产99久久精品一区二区 | 永久黄网站色视频免费直播 | 美女黄网站人色视频免费国产 | 亚洲欧美色中文字幕在线 | 99精品国产综合久久久久五月天 | 又大又紧又粉嫩18p少妇 | 久久精品国产99精品亚洲 | 国产人妻精品午夜福利免费 | 欧美日本精品一区二区三区 | 国产特级毛片aaaaaa高潮流水 | 国产精品香蕉在线观看 | 动漫av网站免费观看 | 亚洲国产精品成人久久蜜臀 | 成年美女黄网站色大免费全看 | 熟妇女人妻丰满少妇中文字幕 | 亚洲日韩一区二区三区 | 漂亮人妻洗澡被公强 日日躁 | 亚洲熟妇色xxxxx欧美老妇y | 亚洲の无码国产の无码影院 | 国产真人无遮挡作爱免费视频 | 小sao货水好多真紧h无码视频 | 女人和拘做爰正片视频 | 国产精品久久久久久久影院 | 日本成熟视频免费视频 | av小次郎收藏 | 久久婷婷五月综合色国产香蕉 | 娇妻被黑人粗大高潮白浆 | 网友自拍区视频精品 | 国产精品香蕉在线观看 | 影音先锋中文字幕无码 | 久久久亚洲欧洲日产国码αv | 欧美性黑人极品hd | 久久久久久久人妻无码中文字幕爆 | 色欲人妻aaaaaaa无码 | 国产美女精品一区二区三区 | 中文字幕无码免费久久9一区9 | 精品欧洲av无码一区二区三区 | 福利一区二区三区视频在线观看 | 亚洲精品www久久久 | 久久无码中文字幕免费影院蜜桃 | 亚洲国产一区二区三区在线观看 | 色综合久久久久综合一本到桃花网 | 国产亚洲美女精品久久久2020 | 久久久成人毛片无码 | 夜夜影院未满十八勿进 | 沈阳熟女露脸对白视频 | 精品无人区无码乱码毛片国产 | 色综合久久久无码中文字幕 | 狠狠色欧美亚洲狠狠色www | 自拍偷自拍亚洲精品10p | 亚洲人成网站色7799 | 久久99精品久久久久婷婷 | 初尝人妻少妇中文字幕 | 老司机亚洲精品影院无码 | 国产在线aaa片一区二区99 | 少妇人妻偷人精品无码视频 | 一本久道久久综合狠狠爱 | 亚洲精品午夜国产va久久成人 | 国产福利视频一区二区 | 成人三级无码视频在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲a无码综合a国产av中文 | 欧美兽交xxxx×视频 | 欧洲熟妇精品视频 | 成熟女人特级毛片www免费 | 国产网红无码精品视频 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产人妻精品午夜福利免费 | 国产成人精品无码播放 | 欧美午夜特黄aaaaaa片 | 亚洲男人av天堂午夜在 | 99久久人妻精品免费一区 | 久久午夜无码鲁丝片秋霞 | 亚洲熟妇色xxxxx欧美老妇 | 精品 日韩 国产 欧美 视频 | 色综合久久久无码网中文 | 国产一区二区三区精品视频 | 国产精品无码一区二区三区不卡 | 国产69精品久久久久app下载 | 人妻少妇精品无码专区二区 | 综合激情五月综合激情五月激情1 | 最近免费中文字幕中文高清百度 | 久久久久国色av免费观看性色 | 亚洲成av人在线观看网址 | 国产亚洲精品久久久久久久 | 国内精品人妻无码久久久影院 | 日韩av无码中文无码电影 | 在线看片无码永久免费视频 | 奇米影视7777久久精品 | 一个人看的视频www在线 | 最新国产乱人伦偷精品免费网站 | 精品乱子伦一区二区三区 | 无套内射视频囯产 | 欧美三级不卡在线观看 | 欧美老妇交乱视频在线观看 | 美女极度色诱视频国产 | 久久久精品人妻久久影视 | 精品久久综合1区2区3区激情 | 欧美精品一区二区精品久久 | 日韩视频 中文字幕 视频一区 | 亚洲一区av无码专区在线观看 | 久久久无码中文字幕久... | 亚洲日韩av一区二区三区四区 | 无遮无挡爽爽免费视频 | 成人亚洲精品久久久久软件 | 免费看男女做好爽好硬视频 | 国产极品视觉盛宴 | 亚洲国产精品成人久久蜜臀 | 窝窝午夜理论片影院 | 欧美色就是色 | 国产精品亚洲а∨无码播放麻豆 | 国产一区二区三区影院 | 午夜精品久久久内射近拍高清 | 日日碰狠狠躁久久躁蜜桃 | 男女作爱免费网站 | 欧美日韩一区二区三区自拍 | 国产sm调教视频在线观看 | 高清不卡一区二区三区 | 亚洲高清偷拍一区二区三区 | 亚欧洲精品在线视频免费观看 | 久久久国产一区二区三区 | 久久综合九色综合欧美狠狠 | 无码国产色欲xxxxx视频 | 3d动漫精品啪啪一区二区中 | 野外少妇愉情中文字幕 | 麻花豆传媒剧国产免费mv在线 | 成人片黄网站色大片免费观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 丝袜 中出 制服 人妻 美腿 | 国产亚洲tv在线观看 | 国产精品-区区久久久狼 | 亚洲 a v无 码免 费 成 人 a v | 亚洲色在线无码国产精品不卡 | 一本久道久久综合婷婷五月 | 玩弄中年熟妇正在播放 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚欧洲精品在线视频免费观看 | 高潮毛片无遮挡高清免费视频 | 又大又硬又爽免费视频 | 久激情内射婷内射蜜桃人妖 | 日本一区二区三区免费播放 | 午夜福利试看120秒体验区 | 亚洲色成人中文字幕网站 | 日日天日日夜日日摸 | 在线播放无码字幕亚洲 | 国产一区二区三区四区五区加勒比 | 久久久久久久久蜜桃 | 乱码av麻豆丝袜熟女系列 | 天堂久久天堂av色综合 | 人人超人人超碰超国产 | 性色欲情网站iwww九文堂 | 欧美成人家庭影院 | 亚洲精品美女久久久久久久 | 久久 国产 尿 小便 嘘嘘 | 亚洲色欲色欲欲www在线 | 国产又爽又猛又粗的视频a片 | 无码av最新清无码专区吞精 | 麻豆果冻传媒2021精品传媒一区下载 | 天堂在线观看www | 婷婷色婷婷开心五月四房播播 | 麻豆蜜桃av蜜臀av色欲av | 精品国偷自产在线视频 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 色综合视频一区二区三区 | 少妇性荡欲午夜性开放视频剧场 | 日韩精品久久久肉伦网站 | 永久免费观看国产裸体美女 | 国产高潮视频在线观看 | 老司机亚洲精品影院 | 精品国产aⅴ无码一区二区 | 久久久中文字幕日本无吗 | 成人无码影片精品久久久 | 少妇一晚三次一区二区三区 | 亚洲 a v无 码免 费 成 人 a v | 国产av久久久久精东av | a片免费视频在线观看 | 中文亚洲成a人片在线观看 | 97无码免费人妻超级碰碰夜夜 | 欧美午夜特黄aaaaaa片 | 特黄特色大片免费播放器图片 | 国产乱人无码伦av在线a | 又大又紧又粉嫩18p少妇 | 国产成人精品久久亚洲高清不卡 | 狠狠色欧美亚洲狠狠色www | 国产成人综合在线女婷五月99播放 | 亚洲日韩一区二区 | 欧美日韩一区二区综合 | 午夜丰满少妇性开放视频 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲狠狠婷婷综合久久 | 国产人妻人伦精品1国产丝袜 | 久久久久99精品国产片 | 精品夜夜澡人妻无码av蜜桃 | 中文字幕无码日韩专区 | 99riav国产精品视频 | 国产乱人伦偷精品视频 | 成人精品视频一区二区三区尤物 | 亚洲人成人无码网www国产 | 日韩无套无码精品 | 色婷婷久久一区二区三区麻豆 | 亚洲中文无码av永久不收费 | 国产一区二区不卡老阿姨 | 国产人妖乱国产精品人妖 | 亚洲无人区午夜福利码高清完整版 | 好爽又高潮了毛片免费下载 | 激情五月综合色婷婷一区二区 | 亚洲色偷偷男人的天堂 | 欧美老熟妇乱xxxxx | 两性色午夜免费视频 | 天下第一社区视频www日本 | 国产香蕉97碰碰久久人人 | 三上悠亚人妻中文字幕在线 | 婷婷五月综合缴情在线视频 | 少妇人妻av毛片在线看 | 亚洲色www成人永久网址 | 日韩人妻系列无码专区 | 98国产精品综合一区二区三区 | 国产激情艳情在线看视频 | 国产人妖乱国产精品人妖 | 乱人伦中文视频在线观看 | www一区二区www免费 | 在线看片无码永久免费视频 | 亚洲成av人片天堂网无码】 | 熟妇人妻中文av无码 | 国产香蕉尹人综合在线观看 | 九九在线中文字幕无码 | 人人妻人人澡人人爽欧美精品 | 天天燥日日燥 | 内射白嫩少妇超碰 | 18禁止看的免费污网站 | 乱人伦人妻中文字幕无码久久网 | 欧美精品无码一区二区三区 | 国产精品高潮呻吟av久久4虎 | 久久精品一区二区三区四区 | 久久久久成人片免费观看蜜芽 | 国产精品爱久久久久久久 | 少妇人妻偷人精品无码视频 | 无码午夜成人1000部免费视频 | 在线播放免费人成毛片乱码 | 大胆欧美熟妇xx | 乱码午夜-极国产极内射 | 国产美女精品一区二区三区 | 午夜精品久久久内射近拍高清 | 少妇高潮喷潮久久久影院 | 中文字幕亚洲情99在线 | 久久亚洲精品成人无码 | 131美女爱做视频 | 国产精品久久久av久久久 | 国产无遮挡又黄又爽又色 | 国产激情精品一区二区三区 | 国産精品久久久久久久 | 中文无码伦av中文字幕 | 亚洲欧美综合区丁香五月小说 | 日本熟妇人妻xxxxx人hd | 亚洲a无码综合a国产av中文 | 亚洲天堂2017无码中文 | 99久久婷婷国产综合精品青草免费 | 在线观看免费人成视频 | 青春草在线视频免费观看 | 国产av无码专区亚洲a∨毛片 | 最新国产乱人伦偷精品免费网站 | 97久久精品无码一区二区 | 久久婷婷五月综合色国产香蕉 | 色噜噜亚洲男人的天堂 | 疯狂三人交性欧美 | 国产精品丝袜黑色高跟鞋 | 一本大道久久东京热无码av | 久久久国产精品无码免费专区 | 图片小说视频一区二区 | 伊在人天堂亚洲香蕉精品区 | 人妻人人添人妻人人爱 | 国产三级久久久精品麻豆三级 | 国产午夜无码视频在线观看 | 国产精品永久免费视频 | 精品成在人线av无码免费看 | 国产成人综合色在线观看网站 | 亚洲va欧美va天堂v国产综合 | 丰满护士巨好爽好大乳 | 国内精品九九久久久精品 | 亚洲一区二区三区无码久久 | 日韩视频 中文字幕 视频一区 | 免费观看的无遮挡av | 国产深夜福利视频在线 | 夜夜影院未满十八勿进 | 亚洲综合色区中文字幕 | 国精品人妻无码一区二区三区蜜柚 | 全黄性性激高免费视频 | 好爽又高潮了毛片免费下载 | 亚洲熟熟妇xxxx | 九九久久精品国产免费看小说 | 亲嘴扒胸摸屁股激烈网站 | 国产亚洲精品久久久ai换 | 无遮无挡爽爽免费视频 | 无码人妻精品一区二区三区下载 | 亚洲一区二区观看播放 | 久久婷婷五月综合色国产香蕉 | 色综合久久88色综合天天 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲 a v无 码免 费 成 人 a v | 97久久精品无码一区二区 | 亚洲の无码国产の无码影院 | 少妇久久久久久人妻无码 | 久久人妻内射无码一区三区 | 国产午夜手机精彩视频 | 国产亚洲精品精品国产亚洲综合 | 377p欧洲日本亚洲大胆 | 国产手机在线αⅴ片无码观看 | 国产一精品一av一免费 | 国精产品一品二品国精品69xx | 欧美人与牲动交xxxx | 兔费看少妇性l交大片免费 | 国产sm调教视频在线观看 | 撕开奶罩揉吮奶头视频 | 亚洲自偷自偷在线制服 | 丰满岳乱妇在线观看中字无码 | 久久综合给合久久狠狠狠97色 | 亚洲精品午夜无码电影网 | 亚洲一区二区三区偷拍女厕 | 丰满人妻翻云覆雨呻吟视频 | 国产乱子伦视频在线播放 | 人人妻人人澡人人爽精品欧美 | 欧美真人作爱免费视频 | 欧美 丝袜 自拍 制服 另类 | 日本肉体xxxx裸交 | 西西人体www44rt大胆高清 | 欧美人与善在线com | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 色综合久久久无码网中文 | 丁香花在线影院观看在线播放 | 久久综合网欧美色妞网 | 国产口爆吞精在线视频 | 亚洲精品美女久久久久久久 | 中文字幕无码免费久久9一区9 | 欧美丰满少妇xxxx性 | 中文久久乱码一区二区 | 免费中文字幕日韩欧美 | 久久久久人妻一区精品色欧美 | 国产精品久久久午夜夜伦鲁鲁 | 无码国产色欲xxxxx视频 | 亚洲日本va中文字幕 | 国产精品免费大片 | 天天摸天天透天天添 | 7777奇米四色成人眼影 | 色欲综合久久中文字幕网 | 无码人妻丰满熟妇区毛片18 | 国产成人精品久久亚洲高清不卡 | 欧美老人巨大xxxx做受 | 乱人伦人妻中文字幕无码久久网 | 人妻少妇被猛烈进入中文字幕 | 婷婷丁香五月天综合东京热 | 国产精品国产自线拍免费软件 | 国产午夜福利100集发布 | 中文字幕人妻无码一区二区三区 | 欧美熟妇另类久久久久久多毛 | 人妻与老人中文字幕 | 精品无人国产偷自产在线 | 强辱丰满人妻hd中文字幕 | 九九在线中文字幕无码 | 国产免费久久久久久无码 | 无码精品国产va在线观看dvd | 国产精品沙发午睡系列 | 国产亚洲日韩欧美另类第八页 | 亚洲精品国产第一综合99久久 | 欧美熟妇另类久久久久久多毛 | 欧美日韩久久久精品a片 | 亚洲国产精品久久人人爱 | 国产美女精品一区二区三区 | 人人澡人摸人人添 | 夜精品a片一区二区三区无码白浆 | 丰满少妇熟乱xxxxx视频 | 亚洲狠狠色丁香婷婷综合 | 精品国产一区二区三区四区 | 日产精品99久久久久久 | 欧美日本精品一区二区三区 | 精品国产一区二区三区四区 | 国产极品视觉盛宴 | 国产又粗又硬又大爽黄老大爷视 | 亚洲码国产精品高潮在线 | 天天拍夜夜添久久精品 | 成人一区二区免费视频 | 粉嫩少妇内射浓精videos | 色欲综合久久中文字幕网 | 亚洲中文字幕无码中字 | 强辱丰满人妻hd中文字幕 | 国产97色在线 | 免 | 国产热a欧美热a在线视频 | 丰满少妇熟乱xxxxx视频 | 国产人成高清在线视频99最全资源 | 久久综合给久久狠狠97色 | 俺去俺来也www色官网 | 精品无码av一区二区三区 | 国产情侣作爱视频免费观看 | 日本乱偷人妻中文字幕 | 波多野结衣av一区二区全免费观看 | 亚洲色欲色欲天天天www | 婷婷五月综合激情中文字幕 | 无码人妻少妇伦在线电影 | 国产高清不卡无码视频 | 老熟女重囗味hdxx69 | 精品少妇爆乳无码av无码专区 | 国产又粗又硬又大爽黄老大爷视 | 国产精华av午夜在线观看 | 亚洲aⅴ无码成人网站国产app | 少妇邻居内射在线 | 久久视频在线观看精品 | 国产亚洲精品久久久久久久 | 波多野结衣高清一区二区三区 | 中国大陆精品视频xxxx | www国产精品内射老师 | 国产超碰人人爽人人做人人添 | 久久综合网欧美色妞网 | 樱花草在线播放免费中文 | 国产亚av手机在线观看 | 国产婷婷色一区二区三区在线 | 国产熟女一区二区三区四区五区 | 伦伦影院午夜理论片 | 天堂а√在线中文在线 | 午夜精品一区二区三区在线观看 | 亚洲va欧美va天堂v国产综合 | 人人妻人人藻人人爽欧美一区 | 性欧美熟妇videofreesex | 国产在线aaa片一区二区99 | 麻豆国产97在线 | 欧洲 | 欧美黑人乱大交 | 麻豆蜜桃av蜜臀av色欲av | 成熟女人特级毛片www免费 | 亚洲精品久久久久中文第一幕 | 国产精华av午夜在线观看 | 久久午夜无码鲁丝片午夜精品 | 亚洲日韩av一区二区三区中文 | 无码吃奶揉捏奶头高潮视频 | 天天做天天爱天天爽综合网 | 风流少妇按摩来高潮 | 性色欲情网站iwww九文堂 | 国产精品美女久久久久av爽李琼 | 久久亚洲a片com人成 | 暴力强奷在线播放无码 | 国产高潮视频在线观看 | 激情内射亚州一区二区三区爱妻 | 中文字幕无码av波多野吉衣 | 女高中生第一次破苞av | 国产高清不卡无码视频 | 亚洲精品欧美二区三区中文字幕 | 99er热精品视频 | 亚洲精品欧美二区三区中文字幕 | 国模大胆一区二区三区 | 丁香花在线影院观看在线播放 | 在线观看欧美一区二区三区 | 久久久久久久人妻无码中文字幕爆 | 国产深夜福利视频在线 | 亚洲の无码国产の无码影院 | 99久久精品午夜一区二区 | 久久午夜无码鲁丝片午夜精品 | 天堂亚洲2017在线观看 | 亚洲精品国偷拍自产在线麻豆 | 亚洲国产av精品一区二区蜜芽 | 伊人久久大香线蕉av一区二区 | 沈阳熟女露脸对白视频 | 国产亚洲精品久久久久久大师 | 秋霞成人午夜鲁丝一区二区三区 | 国产精品无码mv在线观看 | 精品国产成人一区二区三区 | 亚洲日韩中文字幕在线播放 | 麻豆国产丝袜白领秘书在线观看 | 亚洲国产精品无码久久久久高潮 | 丝袜 中出 制服 人妻 美腿 | 久久综合激激的五月天 | 国产精品亚洲专区无码不卡 | 成人无码视频免费播放 | 大肉大捧一进一出视频出来呀 | 国产无遮挡吃胸膜奶免费看 | 国内精品一区二区三区不卡 | 无码人妻精品一区二区三区下载 | 日产精品高潮呻吟av久久 | 国产精品久久久久久无码 | 久久zyz资源站无码中文动漫 | 永久免费精品精品永久-夜色 | 久久99精品久久久久婷婷 | 亚洲 a v无 码免 费 成 人 a v | 午夜福利不卡在线视频 | 我要看www免费看插插视频 | 成在人线av无码免观看麻豆 | 国产av久久久久精东av | 成人三级无码视频在线观看 | 精品久久久久久人妻无码中文字幕 | 久久97精品久久久久久久不卡 | 扒开双腿疯狂进出爽爽爽视频 | 奇米影视7777久久精品人人爽 | 久久无码专区国产精品s | 成人免费视频一区二区 | а√天堂www在线天堂小说 | 无遮挡国产高潮视频免费观看 | 2019nv天堂香蕉在线观看 | 中文字幕人成乱码熟女app | 精品久久久久香蕉网 | 纯爱无遮挡h肉动漫在线播放 | 精品午夜福利在线观看 | 免费观看激色视频网站 | 国产午夜亚洲精品不卡下载 | 中文无码成人免费视频在线观看 | 亚洲va中文字幕无码久久不卡 | 强伦人妻一区二区三区视频18 | 欧洲熟妇精品视频 | 亚洲一区二区三区无码久久 | 最近中文2019字幕第二页 | 少妇性l交大片欧洲热妇乱xxx | 成人性做爰aaa片免费看 | 无码人妻丰满熟妇区毛片18 | 亚洲а∨天堂久久精品2021 | 国产成人无码一二三区视频 | ass日本丰满熟妇pics | 国产性生交xxxxx无码 | 爽爽影院免费观看 | 综合网日日天干夜夜久久 | 国产成人无码专区 | 亚洲人交乣女bbw | 久久aⅴ免费观看 | 亚洲区欧美区综合区自拍区 | 精品国产国产综合精品 | 中文字幕av无码一区二区三区电影 | 国产麻豆精品一区二区三区v视界 | 精品无人国产偷自产在线 | 国产成人av免费观看 | 蜜臀aⅴ国产精品久久久国产老师 | 欧美大屁股xxxxhd黑色 | 亚欧洲精品在线视频免费观看 | 67194成是人免费无码 | 国产免费无码一区二区视频 | 欧美日韩一区二区三区自拍 | 久久久久久av无码免费看大片 | 精品 日韩 国产 欧美 视频 | 久久久久久av无码免费看大片 | 久久久精品456亚洲影院 | 亚洲国产精品一区二区第一页 | 红桃av一区二区三区在线无码av | 久久精品国产大片免费观看 | 熟妇人妻无码xxx视频 | 丁香花在线影院观看在线播放 | 亚洲一区二区三区播放 | 激情内射亚州一区二区三区爱妻 | 国产香蕉尹人综合在线观看 | 97精品人妻一区二区三区香蕉 | 兔费看少妇性l交大片免费 | 国内揄拍国内精品少妇国语 | 国产精品va在线播放 | 欧美乱妇无乱码大黄a片 | 国产麻豆精品一区二区三区v视界 | 曰韩无码二三区中文字幕 | 久久精品视频在线看15 | 福利一区二区三区视频在线观看 | 久久久国产精品无码免费专区 | 亚洲欧美精品aaaaaa片 | 国产莉萝无码av在线播放 | 人妻少妇精品无码专区二区 | 一本久久a久久精品vr综合 | 两性色午夜免费视频 | 久久久久成人精品免费播放动漫 | 国产97在线 | 亚洲 | 激情内射日本一区二区三区 | 55夜色66夜色国产精品视频 | 国产精品亚洲五月天高清 | 国产香蕉97碰碰久久人人 | 精品久久久久久人妻无码中文字幕 | 亚洲国产精品一区二区美利坚 | 久久国产精品_国产精品 | 国产成人无码专区 | 夜夜躁日日躁狠狠久久av | 欧美35页视频在线观看 | 国产超碰人人爽人人做人人添 | 97夜夜澡人人爽人人喊中国片 | 狠狠亚洲超碰狼人久久 | 啦啦啦www在线观看免费视频 | 无码国内精品人妻少妇 | 精品国产精品久久一区免费式 | 中文久久乱码一区二区 | 久精品国产欧美亚洲色aⅴ大片 | 国产成人无码午夜视频在线观看 | 亚洲精品成人av在线 | 97久久国产亚洲精品超碰热 | 亚洲日韩中文字幕在线播放 | 无码成人精品区在线观看 | 亚洲男人av天堂午夜在 | 亚洲精品一区二区三区在线 | 亚洲日韩av一区二区三区四区 | 图片小说视频一区二区 | 亚洲精品久久久久avwww潮水 | 青青草原综合久久大伊人精品 | 国产一区二区不卡老阿姨 | 国产在线精品一区二区三区直播 | 九九久久精品国产免费看小说 | 亚洲国产一区二区三区在线观看 | 国产艳妇av在线观看果冻传媒 | 亚洲精品一区二区三区大桥未久 | 欧美丰满少妇xxxx性 | 国产在热线精品视频 | 97精品人妻一区二区三区香蕉 | 天天躁日日躁狠狠躁免费麻豆 | 性欧美videos高清精品 | 无套内谢老熟女 | 牲欲强的熟妇农村老妇女视频 | 青青久在线视频免费观看 | 成熟女人特级毛片www免费 | 无遮挡国产高潮视频免费观看 | 免费国产成人高清在线观看网站 | 国产精品va在线观看无码 | 亚洲а∨天堂久久精品2021 | 少妇无码吹潮 | 亚洲天堂2017无码中文 | 久久精品人妻少妇一区二区三区 | 欧美激情一区二区三区成人 | 国产又爽又猛又粗的视频a片 | 欧美自拍另类欧美综合图片区 | 国产综合色产在线精品 | 伊人久久大香线蕉av一区二区 | 99国产欧美久久久精品 | 日韩精品久久久肉伦网站 | 99久久久无码国产aaa精品 | 国语自产偷拍精品视频偷 | 国产激情无码一区二区app | 亚洲欧美精品伊人久久 | 国产特级毛片aaaaaaa高清 | 乌克兰少妇性做爰 | 欧美放荡的少妇 | 色老头在线一区二区三区 | 国内丰满熟女出轨videos | 亚洲熟悉妇女xxx妇女av | 国产成人精品优优av | 自拍偷自拍亚洲精品被多人伦好爽 | 午夜免费福利小电影 | 中文无码成人免费视频在线观看 | 亚洲欧美日韩国产精品一区二区 | 欧美 日韩 亚洲 在线 | 欧美人与禽zoz0性伦交 | 十八禁真人啪啪免费网站 | 高清国产亚洲精品自在久久 | 久久亚洲精品中文字幕无男同 | 丝袜人妻一区二区三区 | 亚洲成a人片在线观看日本 | 国产人妻精品一区二区三区 | 纯爱无遮挡h肉动漫在线播放 | 亚洲欧美色中文字幕在线 | √天堂资源地址中文在线 | 人妻人人添人妻人人爱 | 无码人妻丰满熟妇区五十路百度 | 亚洲欧美国产精品久久 | 色偷偷人人澡人人爽人人模 | 一本加勒比波多野结衣 | 久久国产精品萌白酱免费 | 亚洲中文字幕久久无码 | 日日碰狠狠躁久久躁蜜桃 | 亚洲 a v无 码免 费 成 人 a v | 亚洲综合色区中文字幕 | 久久99精品久久久久久 | 国产成人综合在线女婷五月99播放 | 搡女人真爽免费视频大全 | 国产精品a成v人在线播放 | 国产精品美女久久久久av爽李琼 | 亚洲乱码日产精品bd | 夜先锋av资源网站 | 国产疯狂伦交大片 | 中文字幕日产无线码一区 | 日韩精品乱码av一区二区 | 夜夜躁日日躁狠狠久久av | 亚洲精品一区国产 | 久久久精品456亚洲影院 | av人摸人人人澡人人超碰下载 | av香港经典三级级 在线 | 久久精品人妻少妇一区二区三区 | 无码国产色欲xxxxx视频 | 中文字幕无码热在线视频 | 鲁鲁鲁爽爽爽在线视频观看 | 人妻互换免费中文字幕 | 日本一区二区更新不卡 | 国产成人无码av在线影院 | 97久久精品无码一区二区 | 无码国产乱人伦偷精品视频 | 国产午夜无码精品免费看 | 成人一在线视频日韩国产 | 久久久av男人的天堂 | 亚洲综合在线一区二区三区 | 亚洲精品午夜无码电影网 | 伊人久久大香线蕉av一区二区 | 免费无码午夜福利片69 | 久热国产vs视频在线观看 |