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

一文徹底搞明白享元模式

開發(fā) 前端
通過分類,就可以采取不同的操作。在享元模式中,通過狀態(tài)是否共享這種分類方式,就可以用來節(jié)省存儲空間,并且節(jié)省空間的同時其實也可以節(jié)省對象創(chuàng)建的時間。

本篇講解Java設(shè)計模式中的享元模式,分為定義、模式應(yīng)用前案例、結(jié)構(gòu)、模式應(yīng)用后案例、適用場景、模式可能存在的困惑和本質(zhì)探討7個部分。

定義

享元模式指的是運用共享技術(shù)有效地支持大量細粒度的對象。

在新的分類方式中,享元模式被劃分至類的屬性相關(guān)類別中,其應(yīng)對類的不同對象可以共享內(nèi)部狀態(tài)(可共享的屬性)的要求。

模式應(yīng)用前案例

在享元模式中,我們來看一個文本編輯器的案例。對于文本編輯器來說,可以包括添加文本、顯示文本、清空文本等操作。對于其中的文本,都有自身的文本樣式。

下面,先來看一下未使用享元模式的案例,代碼實現(xiàn)如下。

public class Text {//文本類

private final String content;
private final TextStyle style;

public Text(String content, TextStyle style) {
this.content = content;
this.style = style;
    }

public void display() {
        System.out.println("Text: " + this.content + ", Style: " + this.style);
    }

}

public class TextStyle {//文本樣式類
private final String font;
private final int size;
private final String color;

public TextStyle(String font, int size, String color) {
this.font = font;
this.size = size;
this.color = color;
    }

@Override
public String toString() {
return "Font: "+ this.font +", Size: "+ this.size +", Color: "+ this.color;
    }

}

public class TextEditor {// 文本編輯器類
    List<Text> textList;

public TextEditor(){
this.textList =new ArrayList<>();
    }

// 添加文本到編輯器中
public void addText(Text text){
this.textList.add(text);
    }

// 顯示所有文本內(nèi)容和樣式信息
public void displayAllTexts(){
for(Text text : this.textList){
            text.display();
        }
    }

// 清空所有文本內(nèi)容
public void clearAllTexts(){
this.textList.clear();
        System.out.println("All texts cleared.");
    }

}

調(diào)用方代碼如下。

public class Client {//調(diào)用方代碼
public static void main(String[] args) {
// 創(chuàng)建文本編輯器對象
        TextEditor textEditor = new TextEditor();

// 創(chuàng)建兩個相同樣式(Arial 12 Black)的文字片段并添加到編輯器中
        TextStyle textStyle1 = new TextStyle("Arial", 12, "Black");
        Text text1 = new Text("Hello World", textStyle1);

        TextStyle textStyle2 = new TextStyle("Arial", 12, "Black");
        Text text2 = new Text("Welcome to the world of programming!", textStyle2);

        textEditor.addText(text1);
        textEditor.addText(text2);

// 顯示所有文本內(nèi)容和樣式信息
        System.out.println("Displaying all texts:");
        textEditor.displayAllTexts();

// 清空所有文本內(nèi)容
        System.out.println("\nClearing all texts:");
        textEditor.clearAllTexts();

    }
}

在上述代碼中,文本樣式類是文本類中的屬性。對于每一個文本,即便文本樣式相同,代碼中也會創(chuàng)建新的文本樣式類。

直觀感覺上,就會覺得此處是否可以復(fù)用呢?對于此種場景,就適合使用享元模式來進行處理。

結(jié)構(gòu)

享元模式的示例代碼實現(xiàn)如下。

public interface Flyweight {
void Operation(int extrinsicstate);
}

public class ConereteFlyweight implements Flyweight {

@Override
public void Operation(int extrinsicstate) {
        System.out.println("共享的具體Flyweight:" +extrinsicstate);
    }

}

public class UnsharedConereteFlyweight implements Flyweight{
@Override
public void Operation(int extrinsicstate) {
        System.out.println("不共享的具體Flyweight:" +extrinsicstate);
    }
}

public class FlyweightFactory {
private static final Map<String, Flyweight> flyweights = new HashMap<>();

public FlyweightFactory() {
        flyweights.put("A", new ConereteFlyweight());
        flyweights.put("B", new ConereteFlyweight());
        flyweights.put("C", new ConereteFlyweight());
    }

public Flyweight getFlyweight(String key) {
return flyweights.get(key);
    }

}

public class Client {
public static void main(String[] args) {
int extrinsicstate = 1;
       FlyweightFactory factory = new FlyweightFactory();
       Flyweight fa = factory.getFlyweight("A");
       fa.Operation(extrinsicstate);

       Flyweight fb = factory.getFlyweight("B");
       fb.Operation(extrinsicstate);

       Flyweight fc = factory.getFlyweight("C");
       fc.Operation(extrinsicstate);

       UnsharedConereteFlyweight uf = new UnsharedConereteFlyweight();
       uf.Operation(extrinsicstate);
    }

}

可以發(fā)現(xiàn),在享元模式下,先將類的屬性分成兩種類別,一類是多個對象可以共享的狀態(tài),另一類是多個對象私有的狀態(tài)。

然后,通過接口或繼承實現(xiàn)的一個類家族實現(xiàn)上述兩種類別,即圖中的Flyweight及具體實現(xiàn)類。

此外,提供一個FlyweightFactory支撐類,這個類的作用就是負責(zé)創(chuàng)建一些包含共享狀態(tài)的對象,然后緩存起來。

當(dāng)調(diào)用方需要用到時,就可以通過FlyweightFactory來獲取到共享的狀態(tài)。同時,那些不能共享的狀態(tài)(或?qū)傩裕部梢酝ㄟ^UnsharedConcreteFlyweight類來創(chuàng)建。

模式應(yīng)用后案例

上述文本編輯器的案例,在使用享元模式后的代碼實現(xiàn)如下。

public class Text {//文本類

private final String content;
private final TextStyle style;

public Text(String content, TextStyle style) {
this.content = content;
this.style = style;
    }

public void display() {
        System.out.println("Text: " + this.content + ", Style: " + this.style);
    }

}

public class TextStyle {//文本樣式類
private final String font;
private final int size;
private final String color;

public TextStyle(String font, int size, String color) {
this.font = font;
this.size = size;
this.color = color;
    }

@Override
public String toString() {
return "Font: "+ this.font +", Size: "+ this.size +", Color: "+ this.color;
    }

}

文本Text類中的TextStyle屬性可以共享,content屬性不能共享。因此,可以創(chuàng)建一個TextFactory類來共享TextStyle。

public class TextFactory {//享元工廠類

private static final HashMap<String, TextStyle> stylesMap = new HashMap<>();

public static TextStyle getTextStyle(String font,int size,String color){
        stylesMap.putIfAbsent(font+size+color,new TextStyle(font,size,color));
return stylesMap.get(font+size+color);
    }
}

享元工廠類有了之后,文本編輯器類代碼如下。

public class TextEditor {//文本編輯器類
    List<Text> textList;

public TextEditor(){
this.textList =new ArrayList<>();
    }

// 添加文本到編輯器中
public void addText(String content, String font, int size, String color){
        TextStyle sharedStyle = TextFactory.getTextStyle(font, size, color);
this.textList.add(new Text(content, sharedStyle));
    }

// 顯示所有文本內(nèi)容和樣式信息
public void displayAllTexts(){
for(Text text : this.textList){
            text.display();
        }
    }

// 清空所有文本內(nèi)容
public void clearAllTexts(){
this.textList.clear();
        System.out.println("All texts cleared.");
    }
}

調(diào)用方代碼如下。

public class Client {//調(diào)用方代碼

public static void main(String[] args) {

// 創(chuàng)建文本編輯器對象
        TextEditor editor = new TextEditor();

// 使用編輯器添加相同樣式(Arial 12 Black)的文字片段
        editor.addText("Hello World", "Arial", 12, "Black");
        editor.addText("Welcome to the world of programming!", "Arial", 12,"Black");

// 顯示所有文本內(nèi)容和樣式信息
        System.out.println("Displaying all texts:");
        editor.displayAllTexts();

    }

}

上述代碼中,在需要用到TextStyle的地方,通過享元工廠類獲取,而不是直接通過new方式創(chuàng)建,這樣所有文本類都可以共享一個TextStyle對象,這就是享元模式發(fā)揮作用的地方。

適用場景

當(dāng)程序中需要創(chuàng)建大量對象,并且這些對象共享一部分內(nèi)部狀態(tài),為了節(jié)省內(nèi)存空間,就可以考慮使用享元模式。

比如,在Java語言中,Integer、String等類,由于不同對象可能共享相同的字面量,因此其內(nèi)部都應(yīng)用了享元模式。

模式可能存在的困惑

困惑1:享元模式中,經(jīng)常提到的內(nèi)部狀態(tài)與外部狀態(tài),是什么含義?

一個類中可以包含多個屬性,其中可以被多個對象共享的狀態(tài)或?qū)傩猿蔀椤皟?nèi)部狀態(tài)”,而每個對象獨有的屬性或狀態(tài)則成為“外部狀態(tài)”。

困惑2:結(jié)構(gòu)圖中的Client與FlyweightFactory類有交互,但是案例中的TextEditor類中有使用TextFactory類,Client類并沒有使用?

在應(yīng)用設(shè)計模式時,有時候不能按照設(shè)計模式標(biāo)準(zhǔn)結(jié)構(gòu)來生搬硬套。關(guān)鍵在于理解設(shè)計模式的核心思想之后能夠靈活運用。

案例中的TextEditor其實相當(dāng)于結(jié)構(gòu)中的Client。Text類相當(dāng)于Flyweight類,而TextStyle類Text類中的共享狀態(tài)。案例的結(jié)構(gòu)與結(jié)構(gòu)中的結(jié)構(gòu)并不完全相同,但是對于享元模式中的共享思想運用是一致的。

困惑3:享元模式相當(dāng)于是為了對象的復(fù)用,以節(jié)省存儲空間。在日常編程中,像對象池、線程池、連接池等技術(shù)也是為了對象的復(fù)用,那么區(qū)別在哪里呢?

主要區(qū)別在于時間觀上的不同。對于對象池、線程池、連接池等技術(shù)來說,在同一時刻,一個共享的對象只能用于一個調(diào)用方。只有該對象使用完畢重新放在池子之后,其他調(diào)用方才能使用。

而對于享元模式來說,同一時刻,可以被許多調(diào)用方同時共享復(fù)用,不需要在時間上錯開使用。

本質(zhì)

享元模式的本質(zhì)是對類中屬性更細粒度的控制。在享元模式中,是通過狀態(tài)是否共享來分類的。

通過分類,就可以采取不同的操作。在享元模式中,通過狀態(tài)是否共享這種分類方式,就可以用來節(jié)省存儲空間,并且節(jié)省空間的同時其實也可以節(jié)省對象創(chuàng)建的時間。

這里值得提醒一下,時間和空間并不是在任何場景下都是一組矛盾關(guān)系,如空間增加可以減少時間,空間變少時間就會加長等。在享元模式中,是對象復(fù)雜度的降低導(dǎo)致了空間和時間都在某種程度上都有所減少。

當(dāng)然,對于類中屬性也可能有其他分類方式,如本質(zhì)屬性和偶然屬性的劃分等。享元模式僅僅是處理這些分類方式中的一種特例。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2024-05-10 08:43:04

外觀模式接口系統(tǒng)

2024-05-09 09:09:19

組合模式對象

2024-05-13 10:45:25

中介模式面向?qū)ο?/a>數(shù)量

2024-05-11 14:18:44

迭代器模式業(yè)務(wù)

2024-05-15 17:41:37

備忘錄模式多線程

2019-08-27 14:46:59

ElasticSearES數(shù)據(jù)庫

2024-02-27 11:59:12

享元模式對象

2020-07-10 08:03:35

DNS網(wǎng)絡(luò)ARPAne

2023-05-29 08:45:45

Java注解數(shù)據(jù)形式

2023-03-13 08:12:37

Golang編程路徑問題

2019-09-09 11:02:17

Nginx進程模型

2021-05-06 08:03:07

IPIP網(wǎng)絡(luò)模式calicok8s

2023-11-06 09:06:54

分布式一致性數(shù)據(jù)

2019-10-28 10:19:27

JVM 類加載器Java

2023-10-27 08:15:45

2021-06-30 08:45:02

內(nèi)存管理面試

2022-06-07 10:13:22

前端沙箱對象

2020-03-18 14:00:47

MySQL分區(qū)數(shù)據(jù)庫

2022-05-30 10:37:35

分布式事務(wù)反向補償

2021-07-08 10:08:03

DvaJS前端Dva
點贊
收藏

51CTO技術(shù)棧公眾號

日韩精品日韩在线观看| 成人国产精品免费网站| 自拍视频国产精品| 在线观看视频在线观看| 国产夫妻在线播放| 日本一区二区视频在线| 超碰97在线播放| 日韩 国产 欧美| 综合在线视频| 国产亚洲精品久久久| 在线观看免费视频综合| 欧美亚洲国产日韩2020| 多男操一女视频| 任我爽精品视频在线播放| 欧美猛男超大videosgay| 男女啪啪免费视频网站| 色综合久久影院| 99r精品视频| 亚洲自拍欧美色图| 精品黑人一区二区三区| 亚洲调教视频在线观看| 搡老女人一区二区三区视频tv| 国产精品扒开腿做爽爽爽a片唱戏| 国产精品美女午夜爽爽| 天天综合色天天综合| av电影一区二区三区| 久草在线免费福利资源| 国产成人精品免费网站| 成人精品久久久| 天堂网视频在线| 99热这里只有成人精品国产| 久久视频在线看| 国内精品卡一卡二卡三| 色吊丝一区二区| 欧美精品一区二区三区久久久 | 欧美中文字幕不卡| 日韩成人三级视频| 国产cdts系列另类在线观看| 国产喷白浆一区二区三区| 国产自产在线视频一区| 狠狠躁日日躁夜夜躁av| 国产精品1区二区.| 91影视免费在线观看| 91精品国产乱码久久久久| 日韩高清在线电影| 国产91在线播放| 天天爽夜夜爽夜夜爽精品| 影音先锋久久精品| 久久久久久久久91| 久操视频免费在线观看| 欧美日韩免费| 欧美日本中文字幕| 九九视频在线观看| 亚洲黄色视屏| 97成人精品视频在线观看| 国产精品美女毛片真酒店| 激情自拍一区| 性欧美xxxx视频在线观看| 日本一区二区网站| 在线日韩视频| 欧美亚洲国产成人精品| 日韩手机在线视频| 日韩av二区在线播放| 国产精品久久久久久亚洲调教| 久久久久久亚洲av无码专区| 丝袜脚交一区二区| 国产精品情侣自拍| 国产又黄又粗又长| 国产精品综合一区二区三区| 懂色一区二区三区av片| 你懂的网站在线| 99精品国产热久久91蜜凸| 欧美国产综合视频| 日本中文字幕电影在线免费观看 | 成人综合激情网| 久久精品美女| 在线视频二区| 亚洲高清视频的网址| 中文字幕日本最新乱码视频| 性高爱久久久久久久久| 欧美精品 日韩| 最新国产精品自拍| 少妇精品久久久一区二区三区| 最近2019好看的中文字幕免费| 精品无码一区二区三区蜜臀 | 久久久之久亚州精品露出| 97人人澡人人爽人人模亚洲| 丝袜a∨在线一区二区三区不卡| 成人国产亚洲精品a区天堂华泰| 99热这里只有精品5| 99久久99精品久久久久久| 色播亚洲婷婷| 国产探花在线观看| 色婷婷综合久色| 污免费在线观看| 亚洲女娇小黑人粗硬| 精品国产一区二区三区久久狼黑人 | 午夜精品中文字幕| jizz18欧美18| 中文字幕精品一区久久久久| 久久精品国产亚洲av高清色欲| 久久高清国产| 国产精品国产亚洲精品看不卡15| 国产永久免费高清在线观看视频| 亚洲乱码国产乱码精品精98午夜| 91看片就是不一样| 超碰成人在线观看| 日韩在线观看成人| 国产又大又黄视频| 国产成人精品免费网站| 一区精品在线| 精品日韩视频| 亚洲精品日韩久久久| 久草国产在线观看| 精品一区二区三区在线视频| 日本精品一区二区三区不卡无字幕| 国产精品刘玥久久一区| 91国偷自产一区二区开放时间| 国产伦精品一区二区三区88av| 日韩成人精品一区| 国产精品va在线| 天天操天天插天天射| 亚洲男人天堂av网| 污污的视频免费观看| 欧美欧美黄在线二区| 97在线观看视频国产| 亚洲大尺度网站| 综合色中文字幕| 亚洲精品20p| 欧美一区二区三| 青青久久av北条麻妃黑人| 成人午夜精品福利免费| 亚洲欧美一区二区不卡| 五月天视频在线观看| 日本欧美肥老太交大片| 国产成人精品免高潮费视频| 日本天堂影院在线视频| 亚洲mv在线观看| 蜜臀视频在线观看| 亚洲电影成人| 成人片在线免费看| av中文在线资源库| 日韩av一卡二卡| 免费观看一区二区三区毛片| fc2成人免费人成在线观看播放| 成年丰满熟妇午夜免费视频| 国产午夜精品一区在线观看 | 色狠狠久久av五月综合|| 在线男人天堂| 亚洲人午夜精品| 国产免费a视频| 国产亚洲欧美一级| 国产高清视频网站| 99久久激情| 91久久精品美女高潮| 最爽无遮挡行房视频在线| 日韩精品一区二区在线观看| 妺妺窝人体色www在线下载| 成av人片一区二区| 成人在线免费观看av| 亚洲电影一级片| 国产欧美精品一区二区三区-老狼| 亚洲1卡2卡3卡4卡乱码精品| 91精品国产91久久久久久一区二区| 999精品视频在线观看播放| 国产精品99久久久久| 免费在线观看视频a| 在线观看欧美理论a影院| 国产精品久久久久av| 精品176二区| 亚洲国产女人aaa毛片在线| 黄色在线免费观看| 中文字幕一区二区在线观看| 亚洲熟女乱综合一区二区| 亚洲免费激情| 亚洲国产高清国产精品| 日韩欧洲国产| 欧洲永久精品大片ww免费漫画| 成黄免费在线| 精品久久久三级丝袜| 中文字幕在线播| 亚洲黄网站在线观看| 中文字幕免费高清视频| 免费亚洲电影在线| 99久久久精品视频| 国产探花一区二区| 2014国产精品| 手机看片久久| 欧美日韩xxxxx| 国产三级视频在线看| 日韩欧美一区中文| 精品免费囯产一区二区三区 | 曰本一区二区| 2024亚洲男人天堂| 精精国产xxxx视频在线| 日韩国产高清污视频在线观看| 亚洲一线在线观看| 欧美日韩免费一区| 全程偷拍露脸中年夫妇| 国产欧美日韩一区二区三区在线观看| 999热精品视频| 久热精品在线| 国产日韩欧美精品在线观看| 日韩大片在线观看| 玛丽玛丽电影原版免费观看1977| 不卡精品视频| 国产精品久久久av| 日本乱码一区二区三区不卡| 乱亲女秽乱长久久久| 东热在线免费视频| 日韩av有码在线| 精品人妻aV中文字幕乱码色欲| 日本福利一区二区| 日韩免费不卡视频| 一区二区三区在线观看欧美| 欧美激情 一区| 久久综合av免费| 国产性生活毛片| 风间由美性色一区二区三区| 91看片破解版| 奇米777欧美一区二区| 欧美三级在线观看视频| 欧美日韩亚洲国产精品| 中文视频一区视频二区视频三区| 九九综合在线| 蜜桃传媒视频第一区入口在线看| 波多野结衣在线一区二区| 成人免费视频网址| 日日狠狠久久| 国产伦精品一区二区三区精品视频| 亚洲私拍视频| 国内偷自视频区视频综合| 69成人在线| 久久999免费视频| dy888亚洲精品一区二区三区| 最好看的2019的中文字幕视频| 黄色在线播放| 亚洲欧美日韩高清| 美女欧美视频在线观看免费| 国产丝袜一区二区| 精品欧美不卡一区二区在线观看| 精品网站999www| 色鬼7777久久| 国产性猛交xxxx免费看久久| 成人av电影观看| 中文字幕久热精品视频在线| 91社区在线观看| 色婷婷**av毛片一区| 欧美96在线| 免费91在线视频| 伊人春色在线观看| 欧美精品久久久久久久免费观看| 国产丝袜精品丝袜| 国外成人在线直播| 在线免费日韩片| 国产精品精品视频一区二区三区| 日韩精品一区二区三区av| 国产精品影院在线观看| 精品视频一区二区三区| 97超级碰碰| 无码日韩精品一区二区免费| 欧美日韩综合网| 亚欧美无遮挡hd高清在线视频| 大桥未久一区二区三区| 国产精品sm| 国产最新免费视频| 蜜臀91精品一区二区三区| 中文字幕在线视频一区二区| 成人毛片视频在线观看| 丰满少妇一区二区三区| 欧美国产日韩亚洲一区| 一区二区三区四区五区| 婷婷开心激情综合| 69视频免费看| 日韩欧美自拍偷拍| 四虎成人免费在线| 久久精品精品电影网| 97在线超碰| 国产精品久久一区主播| 美国十次综合久久| 欧美国产一区二区在线| 国产精品久久久乱弄| 秋霞无码一区二区| 美女一区二区视频| 亚洲成a人片在线www| 国产网站一区二区| 欧美黄色一级网站| 色综合天天综合网天天狠天天 | www.26天天久久天堂| 国产成人av一区二区三区| 国际精品欧美精品| 国产午夜精品视频| 亚洲精品天堂网| 亚洲成av人片一区二区| 青青草视频在线观看免费| 日韩三级在线观看| 国产一二在线观看| 久久免费在线观看| 成人在线视频免费看| 激情小说网站亚洲综合网| 久久综合成人| av黄色在线网站| 国产精品一区二区三区99| av小说在线观看| 亚洲第一在线综合网站| 在线观看国产精品入口男同| 亚洲韩国青草视频| 一二三四区在线观看| 国产精品色视频| 亚洲永久精品唐人导航网址| 男女激情免费视频| 国产麻豆欧美日韩一区| 四季av中文字幕| 欧美视频第一页| 日本高清视频在线| 欧美成人精品在线观看| 成人久久网站| 欧美日韩国产三区| 亚洲黄色毛片| 亚洲视频天天射| 一二三区精品视频| 国产精品污视频| 最新的欧美黄色| 国产综合av| 日本不卡二区| 久久精品1区| 亚洲天堂美女视频| 五月婷婷激情综合网| 丰满人妻一区二区三区免费| 欧美成人在线免费视频| 午夜精品久久久久久毛片| 亚洲 国产 日韩 综合一区| 午夜一级久久| 中文字幕一区二区久久人妻网站| 亚洲福利视频三区| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 亚洲区一区二区三| 在线观看精品一区| av中文天堂在线| 国产精品自在线| 久久一区91| 久国产精品视频| 日韩美女视频一区二区| 91麻豆国产视频| 久久久精品久久久| 精品国产亚洲一区二区三区大结局 | 日韩av影视大全| 亚洲图片激情小说| 国产日韩精品suv| 欧美大肥婆大肥bbbbb| 亚洲精品黑牛一区二区三区| 成人手机在线播放| 国产a视频精品免费观看| 国产午夜小视频| 亚洲精品狠狠操| 三上悠亚激情av一区二区三区| 日韩一区不卡| 精品中文字幕一区二区小辣椒| 日本成人精品视频| 日韩亚洲欧美中文三级| 国产乱码在线| 日韩最新免费不卡| 国模私拍一区二区| 三级精品视频久久久久| 日本高清精品| 青青草视频在线免费播放| 久久亚洲精华国产精华液| 欧美成人精品网站| 久久色在线播放| 成人香蕉社区| 情侣黄网站免费看| ...xxx性欧美| 欧美 日韩 国产 成人 在线| 78色国产精品| 日韩视频在线观看| 日本泡妞xxxx免费视频软件| 欧美日韩激情视频| 9色在线观看| 国产经品一区二区| 日韩成人av影视| 久久久久久久中文字幕| 亚洲精品一区二区网址| 国产精品亚洲欧美日韩一区在线 | 蜜桃导航-精品导航| 美女网站一区二区| 国产网址在线观看| 中文字幕日韩av| 国产丝袜一区| 污污的视频免费| 欧美日韩亚洲91| av小次郎在线| 欧美一区二区综合| 国产精品一区二区视频| 中文字幕免费视频观看| 欧美激情亚洲另类| 999久久久91| 亚洲国产无码精品| 日韩精品中文字幕在线不卡尤物| 欧美日韩成人影院| 妺妺窝人体色777777|