国产自产第一-国产自产对白一区-国产自产精品-国产自产区44页-国产自产在线-国产自产自拍-国产自产自拍视频-国产自精品

金喜正规买球

在線升級(jí)系統(tǒng)之基礎(chǔ)技術(shù):Java類的熱替換

轉(zhuǎn)帖|其它|編輯:郝浩|2010-08-23 10:08:49.000|閱讀 1074 次

概述:在本文中,我們對(duì) Java 在線升級(jí)系統(tǒng)中設(shè)計(jì)的基礎(chǔ)技術(shù):類的熱替換,進(jìn)行了詳細(xì)的講解。此外,還給出了在線升級(jí)系統(tǒng)設(shè)計(jì)時(shí)的一些主要指導(dǎo)原則。為了使讀者更好地理解這些技術(shù)和原則,我們?cè)谧詈蠼o出了一個(gè)在線升級(jí)系統(tǒng)的實(shí)例。值得注意的是,構(gòu)建在線升級(jí)系統(tǒng)不僅僅是一個(gè)技術(shù)問題,還牽扯到很多管理方面的因素,比如:如何管理、部署系統(tǒng)中的可在線升級(jí)部分和不可在線升級(jí)部分以降低系統(tǒng)的管理、維護(hù)成本等。希望本文在讀者構(gòu)建自己的在線升級(jí)系統(tǒng)時(shí)能夠提供一些幫助。

# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

  對(duì)于許多關(guān)鍵性業(yè)務(wù)或者龐大的 Java 系統(tǒng)來說,如果必須暫停系統(tǒng)服務(wù)才能進(jìn)行系統(tǒng)升級(jí),既會(huì)大大影響到系統(tǒng)的可用性,同時(shí)也增加了系統(tǒng)的管理和維護(hù)成本。因此,如果能夠方便地在不停止系統(tǒng)業(yè)務(wù)的情況下進(jìn)行系統(tǒng)升級(jí),則可以很好地解決上述問題。在本文中,我們將基于實(shí)例,對(duì)構(gòu)建在線升級(jí) Java 系統(tǒng)的基礎(chǔ)技術(shù)和設(shè)計(jì)原則進(jìn)行了深入的講解。相信讀者能夠根據(jù)文中的技術(shù)構(gòu)建出自己的在線升級(jí)系統(tǒng)來。

  Java ClassLoader 技術(shù)剖析

  在本文中,我們將不對(duì) Java ClassLoader 的細(xì)節(jié)進(jìn)行過于詳細(xì)的講解,而是關(guān)注于和構(gòu)建在線升級(jí)系統(tǒng)相關(guān)的基礎(chǔ)概念。關(guān)于 ClassLoader 的詳細(xì)細(xì)節(jié)許多資料可以參考,有興趣的讀者可以自行研讀。

  要構(gòu)建在線升級(jí)系統(tǒng),一個(gè)重要的技術(shù)就是能夠?qū)崿F(xiàn) Java 類的熱替換 —— 也就是在不停止正在運(yùn)行的系統(tǒng)的情況下進(jìn)行類(對(duì)象)的升級(jí)替換。而 Java 的 ClassLoader 正是實(shí)現(xiàn)這項(xiàng)技術(shù)的基礎(chǔ)。

  在 Java 中,類的實(shí)例化流程分為兩個(gè)部分:類的加載和類的實(shí)例化。類的加載又分為顯式加載和隱式加載。大家使用 new 關(guān)鍵字創(chuàng)建類實(shí)例時(shí),其實(shí)就隱式地包含了類的加載過程。對(duì)于類的顯式加載來說,比較常用的是 Class.forName。其實(shí),它們都是通過調(diào)用 ClassLoader 類的 loadClass 方法來完成類的實(shí)際加載工作的。直接調(diào)用 ClassLoader 的 loadClass 方法是另外一種不常用的顯式加載類的技術(shù)。


圖 1. Java 類加載器層次結(jié)構(gòu)圖

  ClassLoader 在加載類時(shí)有一定的層次關(guān)系和規(guī)則。在 Java 中,有四種類型的類加載器,分別為:BootStrapClassLoader、ExtClassLoader、AppClassLoader 以及用戶自定義的 ClassLoader。這四種類加載器分別負(fù)責(zé)不同路徑的類的加載,并形成了一個(gè)類加載的層次結(jié)構(gòu)。

  BootStrapClassLoader 處于類加載器層次結(jié)構(gòu)的最高層,負(fù)責(zé) sun.boot.class.path 路徑下類的加載,默認(rèn)為 jre/lib 目錄下的核心 API 或 -Xbootclasspath 選項(xiàng)指定的 jar 包。ExtClassLoader 的加載路徑為 java.ext.dirs,默認(rèn)為 jre/lib/ext 目錄或者 -Djava.ext.dirs 指定目錄下的 jar 包加載。AppClassLoader 的加載路徑為 java.class.path,默認(rèn)為環(huán)境變量 CLASSPATH 中設(shè)定的值。也可以通過 -classpath 選型進(jìn)行指定。用戶自定義 ClassLoader 可以根據(jù)用戶的需要定制自己的類加載過程,在運(yùn)行期進(jìn)行指定類的動(dòng)態(tài)實(shí)時(shí)加載。

  這四種類加載器的層次關(guān)系圖如 圖 1 所示。一般來說,這四種類加載器會(huì)形成一種父子關(guān)系,高層為低層的父加載器。在進(jìn)行類加載時(shí),首先會(huì)自底向上挨個(gè)檢查是否已經(jīng)加載了指定類,如果已經(jīng)加載則直接返回該類的引用。如果到最高層也沒有加載過指定類,那么會(huì)自頂向下挨個(gè)嘗試加載,直到用戶自定義類加載器,如果還不能成功,就會(huì)拋出異常。Java 類的加載過程如 圖 2 所示。


圖 2. Java 類的加載過程

  每個(gè)類加載器有自己的名字空間,對(duì)于同一個(gè)類加載器實(shí)例來說,名字相同的類只能存在一個(gè),并且僅加載一次。不管該類有沒有變化,下次再需要加載時(shí),它只是從自己的緩存中直接返回已經(jīng)加載過的類引用。

  我們編寫的應(yīng)用類默認(rèn)情況下都是通過 AppClassLoader 進(jìn)行加載的。當(dāng)我們使用 new 關(guān)鍵字或者 Class.forName 來加載類時(shí),所要加載的類都是由調(diào)用 new 或者 Class.forName 的類的類加載器(也是 AppClassLoader)進(jìn)行加載的。要想實(shí)現(xiàn) Java 類的熱替換,首先必須要實(shí)現(xiàn)系統(tǒng)中同名類的不同版本實(shí)例的共存,通過上面的介紹我們知道,要想實(shí)現(xiàn)同一個(gè)類的不同版本的共存,我們必須要通過不同的類加載器來加載該類的不同版本。另外,為了能夠繞過 Java 類的既定加載過程,我們需要實(shí)現(xiàn)自己的類加載器,并在其中對(duì)類的加載過程進(jìn)行完全的控制和管理。

  編寫自定義的 ClassLoader

  為了能夠完全掌控類的加載過程,我們的定制類加載器需要直接從 ClassLoader 繼承。首先我們來介紹一下 ClassLoader 類中和熱替換有關(guān)的的一些重要方法。

  findLoadedClass: 每個(gè)類加載器都維護(hù)有自己的一份已加載類名字空間,其中不能出現(xiàn)兩個(gè)同名的類。凡是通過該類加載器加載的類,無論是直接的還是間接的,都保存在自己的名字空間中,該方法就是在該名字空間中尋找指定的類是否已存在,如果存在就返回給類的引用,否則就返回 null。這里的直接是指,存在于該類加載器的加載路徑上并由該加載器完成加載,間接是指,由該類加載器把類的加載工作委托給其他類加載器完成類的實(shí)際加載。

  getSystemClassLoader : Java2 中新增的方法。該方法返回系統(tǒng)使用的 ClassLoader。可以在自己定制的類加載器中通過該方法把一部分工作轉(zhuǎn)交給系統(tǒng)類加載器去處理。

  defineClass: 該方法是 ClassLoader 中非常重要的一個(gè)方法,它接收以字節(jié)數(shù)組表示的類字節(jié)碼,并把它轉(zhuǎn)換成 Class 實(shí)例,該方法轉(zhuǎn)換一個(gè)類的同時(shí),會(huì)先要求裝載該類的父類以及實(shí)現(xiàn)的接口類。

  loadClass: 加載類的入口方法,調(diào)用該方法完成類的顯式加載。通過對(duì)該方法的重新實(shí)現(xiàn),我們可以完全控制和管理類的加載過程。

  resolveClass: 鏈接一個(gè)指定的類。這是一個(gè)在某些情況下確保類可用的必要方法,詳見 Java 語言規(guī)范中“執(zhí)行”一章對(duì)該方法的描述。

  了解了上面的這些方法,下面我們來實(shí)現(xiàn)一個(gè)定制的類加載器來完成這樣的加載流程:我們?yōu)樵擃惣虞d器指定一些必須由該類加載器直接加載的類集合,在該類加載器進(jìn)行類的加載時(shí),如果要加載的類屬于必須由該類加載器加載的集合,那么就由它直接來完成類的加載,否則就把類加載的工作委托給系統(tǒng)的類加載器完成。

  在給出示例代碼前,有兩點(diǎn)內(nèi)容需要說明一下:1、要想實(shí)現(xiàn)同一個(gè)類的不同版本的共存,那么這些不同版本必須由不同的類加載器進(jìn)行加載,因此就不能把這些類的加載工作委托給系統(tǒng)加載器來完成,因?yàn)樗鼈冎挥幸环荨?、為了做到這一點(diǎn),就不能采用系統(tǒng)默認(rèn)的類加載器委托規(guī)則,也就是說我們定制的類加載器的父加載器必須設(shè)置為 null。該定制的類加載器的實(shí)現(xiàn)代碼如下:

  class CustomCL extends ClassLoader {

  private String basedir; // 需要該類加載器直接加載的類文件的基目錄

  private HashSet dynaclazns; // 需要由該類加載器直接加載的類名

  public CustomCL(String basedir, String[] clazns) {

  super(null); // 指定父類加載器為 null

  this.basedir = basedir;

  dynaclazns = new HashSet();

  loadClassByMe(clazns);

  }

  private void loadClassByMe(String[] clazns) {

  for (int i = 0; i < clazns.length; i++) {

  loadDirectly(clazns[i]);

  dynaclazns.add(clazns[i]);

  }

  }

  private Class loadDirectly(String name) {

  Class cls = null;

  StringBuffer sb = new StringBuffer(basedir);

  String classname = name.replace('.', File.separatorChar) + ".class";

  sb.append(File.separator + classname);

  File classF = new File(sb.toString());

  cls = instantiateClass(name,new FileInputStream(classF),

  classF.length());

  return cls;

  }

  private Class instantiateClass(String name,InputStream fin,long len){

  byte[] raw = new byte[(int) len];

  fin.read(raw);

  fin.close();

  return defineClass(name,raw,0,raw.length);

  }

  protected Class loadClass(String name, boolean resolve)

  throws ClassNotFoundException {

  Class cls = null;

  cls = findLoadedClass(name);

  if(!this.dynaclazns.contains(name) && cls == null)

  cls = getSystemClassLoader().loadClass(name);

  if (cls == null)

  throw new ClassNotFoundException(name);

  if (resolve)

  resolveClass(cls);

  return cls;

  }

  }

在該類加載器的實(shí)現(xiàn)中,所有指定必須由它直接加載的類都在該加載器實(shí)例化時(shí)進(jìn)行了加載,當(dāng)通過 loadClass 進(jìn)行類的加載時(shí),如果該類沒有加載過,并且不屬于必須由該類加載器加載之列都委托給系統(tǒng)加載器進(jìn)行加載。理解了這個(gè)實(shí)現(xiàn),距離實(shí)現(xiàn)類的熱替換就只有一步之遙了,我們?cè)谙乱恍」?jié)對(duì)此進(jìn)行詳細(xì)的講解

  實(shí)現(xiàn) Java 類的熱替換

  在本小節(jié)中,我們將結(jié)合前面講述的類加載器的特性,并在上小節(jié)實(shí)現(xiàn)的自定義類加載器的基礎(chǔ)上實(shí)現(xiàn) Java 類的熱替換。首先我們把上小節(jié)中實(shí)現(xiàn)的類加載器的類名 CustomCL 更改為 HotswapCL,以明確表達(dá)我們的意圖。

  現(xiàn)在來介紹一下我們的實(shí)驗(yàn)方法,為了簡(jiǎn)單起見,我們的包為默認(rèn)包,沒有層次,并且省去了所有錯(cuò)誤處理。要替換的類為 Foo,實(shí)現(xiàn)很簡(jiǎn)單,僅包含一個(gè)方法 sayHello:

  清單 2. 待替換的示例類

  public class Foo{

  public void sayHello() {

  System.out.println("hello world! (version one)");

  }

  }

  在當(dāng)前工作目錄下建立一個(gè)新的目錄 swap,把編譯好的 Foo.class 文件放在該目錄中。接下來要使用我們前面編寫的 HotswapCL 來實(shí)現(xiàn)該類的熱替換。具體的做法為:我們編寫一個(gè)定時(shí)器任務(wù),每隔 2 秒鐘執(zhí)行一次。其中,我們會(huì)創(chuàng)建新的類加載器實(shí)例加載 Foo 類,生成實(shí)例,并調(diào)用 sayHello 方法。接下來,我們會(huì)修改 Foo 類中 sayHello 方法的打印內(nèi)容,重新編譯,并在系統(tǒng)運(yùn)行的情況下替換掉原來的 Foo.class,我們會(huì)看到系統(tǒng)會(huì)打印出更改后的內(nèi)容。定時(shí)任務(wù)的實(shí)現(xiàn)如下(其它代碼省略,請(qǐng)讀者自行補(bǔ)齊):

  public void run(){

  try {

  // 每次都創(chuàng)建出一個(gè)新的類加載器

  HowswapCL cl = new HowswapCL("../swap&quot;, new String[]{"Foo"});

  Class cls = cl.loadClass("Foo");

  Object foo = cls.newInstance();

  Method m = foo.getClass().getMethod("sayHello", new Class[]{});

  m.invoke(foo, new Object[]{});

  }  catch(Exception ex) {

  ex.printStackTrace();

  }

  }

  編譯、運(yùn)行我們的系統(tǒng),會(huì)出現(xiàn)如下的打印:


圖 3. 熱替換前的運(yùn)行結(jié)果

  好,現(xiàn)在我們把 Foo 類的 sayHello 方法更改為:

  public void sayHello() {

  System.out.println("hello world! (version two)&quot;);

  }

  在系統(tǒng)仍在運(yùn)行的情況下,編譯,并替換掉 swap 目錄下原來的 Foo.class 文件,我們?cè)倏纯雌聊坏拇蛴。婷畹?事情發(fā)生了,新更改的類在線即時(shí)生效了,我們已經(jīng)實(shí)現(xiàn)了 Foo 類的熱替換。屏幕打印如下:


圖 4. 熱替換后的運(yùn)行結(jié)果

  敏銳的讀者可能會(huì)問,為何不用把 foo 轉(zhuǎn)型為 Foo,直接調(diào)用其 sayHello 方法呢?這樣不是更清晰明了嗎?下面我們來解釋一下原因,并給出一種更好的方法。

  如果我們采用轉(zhuǎn)型的方法,代碼會(huì)變成這樣:Foo foo = (Foo)cls.newInstance(); 讀者如果跟隨本文進(jìn)行試驗(yàn)的話,會(huì)發(fā)現(xiàn)這句話會(huì)拋出 ClassCastException 異常,為什么嗎?因?yàn)樵?Java 中,即使是同一個(gè)類文件,如果是由不同的類加載器實(shí)例加載的,那么它們的類型是不相同的。在上面的例子中 cls 是由 HowswapCL 加載的,而 foo 變量類型聲名和轉(zhuǎn)型里的 Foo 類卻是由 run 方法所屬的類的加載器(默認(rèn)為 AppClassLoader)加載的,因此是完全不同的類型,所以會(huì)拋出轉(zhuǎn)型異常。

  那么通過接口調(diào)用是不是就行了呢?我們可以定義一個(gè) IFoo 接口,其中聲名 sayHello 方法,Foo 實(shí)現(xiàn)該接口。也就是這樣:IFoo foo = (IFoo)cls.newInstance(); 本來該方法也會(huì)有同樣的問題的,因?yàn)橥獠柯暶娃D(zhuǎn)型部分的 IFoo 是由 run 方法所屬的類加載器加載的,而 Foo 類定義中 implements IFoo 中的 IFoo 是由 HotswapCL 加載的,因此屬于不同的類型轉(zhuǎn)型還是會(huì)拋出異常的,但是由于我們?cè)趯?shí)例化 HotswapCL 時(shí)是這樣的:

  HowswapCL cl = new HowswapCL("../swap", new String[]{";Foo"});

  其中僅僅指定 Foo 類由 HotswapCL 加載,而其實(shí)現(xiàn)的 IFoo 接口文件會(huì)委托給系統(tǒng)類加載器加載,因此轉(zhuǎn)型成功,采用接口調(diào)用的代碼如下:

  清單 4. 采用接口調(diào)用的代碼

  public void run(){

  try {

  HowswapCL cl = new HowswapCL("../swap", new String[]{"Foo"});

  Class cls = cl.loadClass("Foo");

  IFoo foo = (IFoo)cls.newInstance();

  foo.sayHello();

  } catch(Exception ex) {

  ex.printStackTrace();

  }

  }

  確實(shí),簡(jiǎn)潔明了了很多。在我們的實(shí)驗(yàn)中,每當(dāng)定時(shí)器調(diào)度到 run 方法時(shí),我們都會(huì)創(chuàng)建一個(gè)新的 HotswapCL 實(shí)例,在產(chǎn)品代碼中,無需如此,僅當(dāng)需要升級(jí)替換時(shí)才去創(chuàng)建一個(gè)新的類加載器實(shí)例。

  在線升級(jí)系統(tǒng)的設(shè)計(jì)原則

  在上小節(jié)中,我們給出了一個(gè) Java 類熱替換的實(shí)例,掌握了這項(xiàng)技術(shù),就具備了實(shí)現(xiàn)在線升級(jí)系統(tǒng)的基礎(chǔ)。但是,對(duì)于一個(gè)真正的產(chǎn)品系統(tǒng)來說,升級(jí)本省就是一項(xiàng)非常復(fù)雜的工程,如果要在線升級(jí),就會(huì)更加復(fù)雜。其中,實(shí)現(xiàn)類的熱替換只是最后一步操作,在線升級(jí)的要求會(huì)對(duì)系統(tǒng)的整體設(shè)計(jì)帶來深遠(yuǎn)的影響。下面我們來談?wù)勗诰€升級(jí)系統(tǒng)設(shè)計(jì)方面的一些原則:

  在系統(tǒng)設(shè)計(jì)一開始,就要考慮系統(tǒng)的哪些部分是需要以后在線升級(jí)的,哪些部分是穩(wěn)定的。

  雖然我們可以把系統(tǒng)設(shè)計(jì)成任何一部分都是可以在線升級(jí)的,但是其成本是非常高昂的,也沒有必要。因此,明確地界定出系統(tǒng)以后需要在線升級(jí)的部分是明智之舉。這些部分常常是系統(tǒng)業(yè)務(wù)邏輯規(guī)則、算法等等。

  設(shè)計(jì)出規(guī)范一致的系統(tǒng)狀態(tài)轉(zhuǎn)換方法。

  替換一個(gè)類僅僅是在線升級(jí)系統(tǒng)所要做的工作中的一個(gè)步驟,為了使系統(tǒng)能夠在升級(jí)后正常運(yùn)行,就必須保持升級(jí)前后系統(tǒng)狀態(tài)的一致性。因此,在設(shè)計(jì)時(shí)要考慮需要在線升級(jí)的部分所涉及的系統(tǒng)狀態(tài)有哪些,把這些狀態(tài)設(shè)計(jì)成便于獲取、設(shè)置和轉(zhuǎn)換的,并用一致的方式來進(jìn)行。

  明確出系統(tǒng)的升級(jí)控制協(xié)議。

  這個(gè)原則是關(guān)于系統(tǒng)在線升級(jí)的時(shí)機(jī)和流程控制的,不考慮系統(tǒng)的當(dāng)前運(yùn)行狀態(tài)就貿(mào)然進(jìn)行升級(jí)是一項(xiàng)非常危險(xiǎn)的活動(dòng)。因此在系統(tǒng)設(shè)計(jì)中,就要考慮并預(yù)留出系統(tǒng)在線升級(jí)的控制點(diǎn),并定義清晰、明確的升級(jí)協(xié)議來協(xié)調(diào)、控制多個(gè)升級(jí)實(shí)體的升級(jí)次序,以確保系統(tǒng)在升級(jí)的任何時(shí)刻都處在一個(gè)確定的狀態(tài)下。

  考慮到升級(jí)失敗時(shí)的回退機(jī)制。

  即使我們做了非常縝密細(xì)致的設(shè)計(jì),還是難以從根本上保證系統(tǒng)升級(jí)一定是成功的,對(duì)于大型分布式系統(tǒng)來說尤其如此。因此在系統(tǒng)設(shè)計(jì)時(shí),要考慮升級(jí)失敗后的回退機(jī)制。

  好了,本小節(jié)我們簡(jiǎn)單介紹了在線升級(jí)系統(tǒng)設(shè)計(jì)時(shí)的幾個(gè)重要的原則,下一小節(jié)我們將給出一個(gè)簡(jiǎn)單的實(shí)例,來演示一下如何來實(shí)現(xiàn)一個(gè)在線升級(jí)系統(tǒng)。

  在線升級(jí)系統(tǒng)實(shí)例

  首先,我們來簡(jiǎn)單介紹一下這個(gè)實(shí)例的結(jié)構(gòu)組成和要完成的工作。在我們的例子中,主要有三個(gè)實(shí)體,一個(gè)是升級(jí)控制實(shí)體,兩個(gè)是工作實(shí)體,都基于 ActiveObject 實(shí)現(xiàn)。

  升級(jí)控制實(shí)體以 RMI 的方式對(duì)外提供了一個(gè)管理命令接口,用以接收外部的在線升級(jí)命令。工作實(shí)體有兩個(gè)消息隊(duì)列,一個(gè)用以接收分配給它的任務(wù)(我們用定時(shí)器定時(shí)給它發(fā)送任務(wù)命令消息),我們稱其為任務(wù)隊(duì)列;另一個(gè)用于和升級(jí)控制實(shí)體交互,協(xié)作完成升級(jí)過程,我們稱其為控制隊(duì)列。工作實(shí)體中的任務(wù)很簡(jiǎn)單,就是使用我們前面介紹的 Foo 類簡(jiǎn)單地打印出一個(gè)字符串,不過這次字符串作為狀態(tài)保存在工作實(shí)體中,動(dòng)態(tài)設(shè)置給 Foo 類的實(shí)例的。升級(jí)的協(xié)議流程如下:

  當(dāng)升級(jí)控制實(shí)體接收到來自 RMI 的在線升級(jí)命令時(shí),它會(huì)向兩個(gè)工作實(shí)體的任務(wù)隊(duì)列中發(fā)送一條準(zhǔn)備升級(jí)消息,然后等待回應(yīng)。當(dāng)工作實(shí)體在任務(wù)隊(duì)列中收到準(zhǔn)備升級(jí)消息時(shí),會(huì)立即給升級(jí)控制實(shí)體發(fā)送一條準(zhǔn)備就緒消息,然后切換到控制隊(duì)列等待進(jìn)一步的升級(jí)指令。升級(jí)控制實(shí)體收齊這兩個(gè)工作實(shí)體發(fā)來的準(zhǔn)備就緒消息后,就給這兩個(gè)工作實(shí)體的控制隊(duì)列各發(fā)送一條開始升級(jí)消息,然后等待結(jié)果。工作實(shí)體收到開始升級(jí)消息后,進(jìn)行實(shí)際的升級(jí)工作,也就是我們前面講述的熱替換類。然后,給升級(jí)控制實(shí)體發(fā)送升級(jí)完畢消息。升級(jí)控制實(shí)體收到來自兩個(gè)工作實(shí)體的升級(jí)完畢消息后,會(huì)給這兩個(gè)工作實(shí)體的控制隊(duì)列各發(fā)送一條繼續(xù)工作消息,工作實(shí)體收到繼續(xù)工作消息后,切換到任務(wù)隊(duì)列繼續(xù)工作。升級(jí)過程結(jié)束。

主要的代碼片段如下(略去命令消息的定義和執(zhí)行細(xì)節(jié)):

  清單 5. 主要的代碼片段

  // 升級(jí)控制實(shí)體關(guān)鍵代碼

  class UpgradeController extends ActiveObject{

  int nready  = 0;

  int nfinished = 0;

  Worker[] workers;

  ......

  // 收到外部升級(jí)命令消息時(shí),會(huì)觸發(fā)該方法被調(diào)用

  public void askForUpgrade() {

  for(int i=0; i<workers.length; i++)

  workers[i].getTaskQueue().enqueue(new PrepareUpgradeCmd(workers[i]));

  }

  // 收到工作實(shí)體回應(yīng)的準(zhǔn)備就緒命令消息時(shí),會(huì)觸發(fā)該方法被調(diào)用

  public void readyForUpgrade(String worker_name) {

  nready++;

  if(nready == workers.length){

  for(int i=0; i<workers.length; i++)

  workers[i].getControlQueue().enqueue(new

  StartUpgradeCmd(workers[i]));

  }

  }

  // 收到工作實(shí)體回應(yīng)的升級(jí)完畢命令消息時(shí),會(huì)觸發(fā)該方法被調(diào)用

  public void finishUpgrade(String worker_name) {

  nfinished++;

  if(nfinished == workers.length){

  for(int i=0; i<workers.length; i++)

  workers[i].getControlQueue().enqueue(new

  ContineWorkCmd(workers[i]));

  }

  }

  ......

  }

  // 工作實(shí)體關(guān)鍵代碼

  class Worker extends ActiveObject{

  UpgradeController ugc;

  HotswapCL hscl;

  IFoo foo;

  String state = "hello world!";

  ......

  // 收到升級(jí)控制實(shí)體的準(zhǔn)備升級(jí)命令消息時(shí),會(huì)觸發(fā)該方法被調(diào)用

  public void prepareUpgrade() {

  switchToControlQueue();

  ugc.getMsgQueue().enqueue(new ReadyForUpdateCMD(ugc,this));

  }

  // 收到升級(jí)控制實(shí)體的開始升級(jí)命令消息時(shí),會(huì)觸發(fā)該方法被調(diào)用

  public void startUpgrade(String worker_name) {

  doUpgrade();

  ugc.getMsgQueue().enqueue(new FinishUpgradeCMD(ugc,this));

  }

  // 收到升級(jí)控制實(shí)體的繼續(xù)工作命令消息時(shí),會(huì)觸發(fā)該方法被調(diào)用

  public void continueWork(String worker_name) {

  switchToTaskQueue();

  }

  // 收到定時(shí)命令消息時(shí),會(huì)觸發(fā)該方法被調(diào)用

  public void doWork() {

  foo.sayHello();

  }

  // 實(shí)際升級(jí)動(dòng)作

  private void doUpgrade() {

  hscl = new HowswapCL("../swap", new String[]{"Foo";});

  Class cls = hscl.loadClass("Foo");

  foo = (IFoo)cls.newInstance();

  foo.SetState(state);

  }

  }

  //IFoo 接口定義

  interface IFoo {

  void SetState(String);

  void sayHello();

  }

  在Foo 類第一個(gè)版本的實(shí)現(xiàn)中,只是把設(shè)置進(jìn)來的字符串直接打印出來。在第二個(gè)版本中,會(huì)先把設(shè)置進(jìn)來的字符串變?yōu)榇髮懀缓蟠蛴〕鰜怼@雍芎?jiǎn)單,旨在表達(dá)規(guī)則或者算法方面的升級(jí)變化。另外,我們并沒有提及諸如:消息超時(shí)、升級(jí)失敗等方面的異常情況,這在實(shí)際產(chǎn)品開發(fā)中是必須要考慮的。

  在本文中,我們對(duì) Java 在線升級(jí)系統(tǒng)中設(shè)計(jì)的基礎(chǔ)技術(shù):類的熱替換,進(jìn)行了詳細(xì)的講解。此外,還給出了在線升級(jí)系統(tǒng)設(shè)計(jì)時(shí)的一些主要指導(dǎo)原則。為了使讀者更好地理解這些技術(shù)和原則,我們?cè)谧詈蠼o出了一個(gè)在線升級(jí)系統(tǒng)的實(shí)例。值得注意的是,構(gòu)建在線升級(jí)系統(tǒng)不僅僅是一個(gè)技術(shù)問題,還牽扯到很多管理方面的因素,比如:如何管理、部署系統(tǒng)中的可在線升級(jí)部分和不可在線升級(jí)部分以降低系統(tǒng)的管理、維護(hù)成本等。希望本文在讀者構(gòu)建自己的在線升級(jí)系統(tǒng)時(shí)能夠提供一些幫助。


標(biāo)簽:

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn

文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載

為你推薦

  • 推薦視頻
  • 推薦活動(dòng)
  • 推薦產(chǎn)品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
主站蜘蛛池模板: 日韩女同在线二区三区 | 91视频污下载 | 三级在线观看大全免费 | 激情都市亚洲 | 日韩喷水在线观看 | 日韩性生活 | 午夜无码视频在线 | 天堂无码在线视频 | 嫖妓自拍视频 | 福利美女 | 无码不卡免费在线观看 | 午夜成人免费无码视频 | 三级欧美 | 国产精品1000| 精品偷拍与自拍 | 国产aⅴ | 日韩一区二三区无 | 手机午夜视频 | 91思妍 | 成人深爱网 | 日韩精品三 | 国产h在线观看 | 国产又粗又长又爽 | 国产传媒剧情在线观看 | 夜色福利视频导航 | 五月天婷婷综合 | 成人网站在线观看视频 | 丁香五月亚洲婷婷 | 福利姬福利视频 | 亚洲国产色情在线观看 | 香蕉精品福利 | 日韩视频免费在线观看 | 成人午夜A片免费看 | 成人午夜小视频 | 亚洲欧美综合 | 免费成人黄片 | 国产又粗又猛又色 | 国产日韩欧美在线一区 | 日韩成人二区 | 夜夜嗨影院 | 成人性生交大 | 天堂新在线| 成人亲子乱子伦视频 | 日韩精品一区国产精品 | 爱豆传媒免费播放 | 国产成人精品AV片 | 国产成年电影 | 欧美性爱小 | 国产又粗又猛又爽 | 日韩一区二区三 | 日韩和的一区二区 | 天堂在线二区 | 欧美韩日 | 97资源 | 国产日韩精品一 | 天天干夜夜做 | 国产精品欧美另类小说 | 欧美另类综合 | 97超碰在| 国产三区 | 日韩伦理电 | 91视频一区二区三区 | 国产高清无码在线观看 | 成人精品在线免费观看 | 日韩中文字幕无线码 | 国产三四区 | 在线观看三级片国产 | 日韩在线不卡看 | 日韩亚洲欧美中文三级 | 欧美精品第一区 | 老熟妇毛茸茸 | 老色网站| 性国产精品 | 校园激情综合网 | 另类女同 | 视频一区二区免费 | 亚洲无码一卡二卡三卡 | 国产精品一级 | 成人看片免费30分钟 | 三级片成人在线观看 | 在线观看三级 | 成人高清视频在线观看 | 肏屄三级视频 | 性爱网站在线看 | 成人ay视频在 | 成人看片在线观看免费 | 国产精品一区久久久 | 欧美一区二区三区不卡 | 久久精品国产一区二区 | 福利在线视频 | 日韩精品免费一级视频 | 微拍一区 | 日本不卡视频 | 国产人妖伪娘网站 | 综合自拍偷拍 | 日本久一久二久三久四 | 日韩一级免费电影 | 日韩一二三四区免费 | 日本不卡一二三区 | 日韩A级片 | 岛国一级a| 日韩欧美一级影片 | 久草福利在线资源站 | 日韩欧美变态 | 老湿机视频在线观看 | 日韩一级大片亚洲 | 三级日本午夜在线观看 | 国产精品a无线 | 东京热力无码 | 在线国产无码 | 日本不卡一二区 | 日韩精品综合一区二区 | 日韩高清不卡在线 | 五月天婷婷丁香 | 日本成人网址 | 成人国产aⅴ精 | 日韩成人免费视频播放 | 精品一区欧美 | 东京热大交乱在线观看 | 日韩高清无码免费观看 | 日韩午夜激情在线 | 国产午夜在线 | 成人午夜福利网 | 三级日本乱伦国产 | 国产三级国产在线观看 | 亚洲二页 | 日韩成人二区 | 又粗又大又黄又爽 | 日韩电影伦理 | 日韩成人电影一区 | 欧美在线观看视频一区 | 深夜福利影院在线观看 | 国产午夜在线观看 | 日韩欧美视频在线播放 | 亚洲国产影院 | 91丝袜国产在线观看 | 国产区精品视频 | 伦理片一区二区 | 日韩高清在线观看 | 91国内| 国产精品福利影院 | 99视频中文字幕 | 玖玖爱中文字幕 | 日韩欧美亚洲一区 | 狼网久久 | 日韩国产在线高清 | 日韩欧美亚洲一区 | 性欧美孕妇一二三四区 | 欧美精品一区三区 | 91视频是什么 | 日韩在线不卡 | AV岛国无码| 欧美日韩精品一区 | 日韩丝袜高跟福利 | AV无码在线观看 | 成人不卡免费观 | 日韩午夜免费观看 | 国产资源精品 | 亚洲第一视频网站 | 成人用品| 真实国产亂伦视频 | 夜夜嗨国产 | 日韩先锋影音中文字幕 | 精品偷拍与自拍 | 日韩亚洲无| 国产不卡影院二区 | 国产ts人妖网站 | 国产性爱网 | 国产视频麻豆 | 成人国产欧美在线 | 国产福利一区二区三区 | 日本天堂中文字幕 | 日韩欧美美女综合 | 国产门久久青草 | 国内自产视频 | 成人欧美日韩91 | 成人一区二区三区在线 | 亚洲国产成人电影 | 豆花av在线| 日韩国产精品免费观看 | 日韩欧美福利 | 国产a国产片精品 | 激情小说亚洲 | 人人色人 | 国产三级片大全免费 | 玖玖免费 | 日韩h片 | 美性中文字幕 | 国产三级在线网站 | 国产成人三级在线观看 | 日韩欧美国产动漫制服 | 国产人妖在线播放 | 乱伦强奸舒服视频 | 深爱五月激情 | 欧美成人免费在线观看 | 精品91| 欧美日韩国产专区 | 97视频在线伦 | 久热青草 | 91小萝莉| 在线观看国产h | 狼友夜视频 | 日韩精品视频 | 丝袜性爱视频 | 亚洲涩涩网 | 欧美19p| 午夜视频网址 | 91中文字| 国产又粗又黄又爽又硬 | 国产91福利电影在线 | 三级黄特色 | 久久不卡 | 日韩色情综合网 | 中文字幕24页| 国内自拍第一页 | 日韩欧美一区在线观看 | 人人插97 | 狠狠操夜夜操天天操 | 中文字幕丝袜第一页 | www.黄色网址| 玖玖爱国产精品 | 五月天婷婷综合网 | 日韩经典欧美精品一区 | 日韩精品一区二区三 | 国产精品探花 | 岛国在线免费 | 日韩电影高清 | 狼友视频免费在线观看 | 亚欧无码 | 国产丰满岳 | 综合久久中文字幕 | 三级成人无码 | 亚洲小说欧美另类激情 | 偷拍自拍网站 | 足交免费观看 | 丁香五月综合网 | 国产精品自在线拍国产 | 黄色三在线| 国产在线观看三级 | 伦理一区二区三区 | 国产91精品秘入口 | 激情文学激情图片 | 91直播平台| 黄色高清网站 | 日韩亚洲人成在线 | 国产三级毛片 | 美臀在线 | 日韩无码伦理片 | 精品蜜桃网 | 午夜寂寞视频 | 国产精品禁 | 国产一区在线视频 | 国产97色| 国产精品一级爱 | 五月丁香六月欧美 | 啪视频网站 | 天天草天天 | 超碰超碰 | 成人国产免 | 国产人妖视频在线观看 | 91幅利视频| 日韩在线观看视频免费 | 日韩熟肥穴 | 日韩大片在线观看入口 | 国产精品6区 | 日韩欧美电影在线 | 成人影片资源 | 国产精品成熟老女人 | 一区二区三区午夜 | 亚州看片| 欧美A级视频 | 日韩中文字幕在线不卡 | 91人妻网 | 免费AA在线观看 | 看A片网址 | 狼网久久 | 自拍偷拍在线观看视频 | 国产百合| 日韩精品影片 | 最新自拍视频 | 国产99久9在线视频 国产99久9在线 | 成人猫咪社区 | 亚洲激情小说在线 | 男女午夜精华 | 夜夜夜夜夜夜操 | 亚洲国产精品在线观看 | 日韩成人一级视频 | 黄色片网站| 尤物在线免费视频 | 中国午夜精品 | 午夜网站在线观看 | 日韩精品欧美激情 | 国产乱伦视频 | 日本www在线| 97人人操人人干 | 深夜精品视频 | 成人免费的a片 | 国产精品福利姬 | 乱伦色区 | 色情一区二区三区 | 日韩欧美专区 | 国产初高中生视 | 成人免费一区二区三区 | 天堂无码在线观看 | 国产精品第二页 | 女被男啪到哭的视频 | 上床网站在线观看 | 国产一区自拍视频 | 这里只有精品999 | 成人黃色A片三級 | 午夜视频在线观看网站 | 成人短视频在线播放 | 日韩国产精品视频在放 | 日韩欧美中 | 偷拍一页| 国产精品无码在线 | 日韩亚洲欧美中文在线 | 日韩极品视频在线观看 | 国产99久一区二 | 午夜在线视频 | 深夜激情福利 | 国产门久久青草 | 午夜在线一区 | 日韩精品视频免费 | 麻豆精品 | 国产高清乱伦片 | 日韩亚洲精品在线播放 | 日韩女神福利在线观看 | 日韩中文字幕欧美亚洲 | 三级国产精品 | 国产91视频网站 | 性欲av在线 | 玖玖视频免费观看 | 三级中文字幕在线播放 | 日韩成人aⅴ | 国产人成 | 国产成在线视频 | 日韩性爱免费网站 | 亚洲最新AV网站 | 激情另类小说区 | 久久国产影院 | 丁香五月六月婷婷 | 97超碰在线视 | 国产午夜免费啪 | 成人午夜精品福利免费 | 五月天亚洲综合 | 国产精品www | 老司机69视频| 国产综合无码精品 | 国产在线无码一区 | 日韩第一页在线观看 | 成人中文乱幕日 | 激情图片成人小说 | 国产精品14p| 婷婷五月天综合 | 亚洲激情图片 | 奶大水多大乳视频 | 中文有码在线 | 高潮喷水无码 | 日韩欧美亚欧在线视频 | 欧美一区不卡 | 国产高清区 | 日韩论理论片在线观看 | 成人免费视频网 | 日本韩国三级片区 | 国产精品一区二区久久 | 午夜成人视频免费观看 | 日韩免费精品 | 亚洲图片激情文学 | 国产超薄肉 | 日韩欧美第一二三区 | 国产在线中文 | 日韩在线观看视频免费 | 日韩永久人人性视频 | 69免费福利视频 | 国产女主播视频在线 | 97韩剧网下载 | 天天日天天干天天操 | 午夜成人AⅤ在线观看 | 日韩国产精品一区二区 | 爱豆免费在线看 | 日韩二区三区无 | 色情午夜码一区二区 | 三级片网站国产 | 婷婷午夜婷 | 国产乱伦一区二区三区 | 日韩欧美爽爽的影院 | 深夜成人精品福利 | 日韩国产私拍在线观看 | 日韩亚洲三级 | 性爱在线免费看 | 成人午夜电影在线观看 | 成人手机视频在线观看 | 麻豆国产在线 | 日韩亚洲一分钟 | 日韩一区二区三区精品 | 国产城中| 亚洲AV网址| 日韩V888伦理A | 美女呻吟网站 | 国产激情一区 | 经典一区二区三区 | 午夜成人视频在线 | 夜夜视频5 | 成人三级免费 | 日本中文字幕不卡 | 午夜草草 | 日韩av电影一区 | 激情网综合| 成人精品福利视频 | 欧美三级片网站 | 国产成在人线在线播放 | 国产乱子伦 | 国产在线a| 99热99| 日日人人夜夜 | 国产资源精品 | 国产成a| 日韩福利视频 | 日韩午夜福利电影 | 污网站免费在线观看 | 国产午夜伦理 | 欧美不卡在线 | 日韩精品在线二区 | 欧美孕妇一区 | 内射女同学 | 91视频网站 | 国产亚洲精品成人片 | 东方AV在线免费观看 | 黄色av网站在线 | 午夜福利网站在线观看 | 国产视频一二 | A片午夜 | 加勒比精品在线 | 国产精品久久久久不卡 | 国产欧美日本 | 午夜视频在线观看网站 | 天堂√5在线观看 | 午夜福利站 | 成人免费视频软件网站 | 欧美另类z0z | 国产91丝袜| 午夜色色影院 | 狼友视频国产精品 | 岛国av在线播放 | 亚洲三级黄色 | 国产一区二区自拍 | 日韩不卡在线播放 | 五月天综合网 | 尤物国产| 日韩另类 | 都市激情国产 | 18禁免费网站 | 国产黄色片网站 | 丰满多毛撒尿大陰户 | 精品免费囯产一区二 | 做爱网站在线观看 | 乱伦一区二区三区 | 国产123| 日韩中文在线卡通动漫 | 国产成人精品自拍 | 91蜜臀| 日韩欧美国产传媒 | 午夜成人福利院 | 成人精品视频 | 香蕉插逼| 日韩精品综合一区二区 | 高清无码一卡二卡 | 日韩艹碰 | 日韩丝袜中文字幕 | 国产在线成人 | 日韩一片| 老熟女毛茸茸黑森森 | 国产又粗又硬又长又爽 | 日韩成人精品日本亚洲 | 无码不卡免费 | 丝袜美腿在线视频 | 青草久操| 日韩精品网站国产九区 | 麻豆精品在线视频 | 日韩欧美在线观看 | 人人看97 | 三级成人视频在线观看 | 日韩欧美www| 国产在线无码一区 | 欧美三级片网站 | www.国产三级| 三级黄色A片视频 | 国产原创视频在线 | 日韩成人网站 | 国产三级免费网站 | 乱伦一区二区三区 | 国产又大又 | 91手机视频 | 老湿机午夜福利 | 人妻出轨AV | 日韩精品素人91 | 成人国产视频一区二区 | 三级片网站在线观看 | 在线播放的黄色网址 | 成人深夜福利在线观看 | 自拍偷拍系列 | 九一果冻制作厂余丽 | 在线二区人妖系列 | 国产剧情麻豆 | 欧美日韩成人 | 久操精品在线 | 国产精品1234 | 日韩欧无码| 日韩精品字幕 | 加勒比综合在线 | 国产极品一区二区 | 国产传媒视频网站 | A片视频网 | 日逼精品| 国产情侣在视频 | 91视频影院| 日韩专区 | 午夜福利视频成人视频 | 亚洲国产高清在线 | 老湿机免费试看 | 中文字幕久久影视 | 成人福利导航大全在线 | 成人一级午夜激情网 | 日韩乱码在线观看 | 三级黄视频在线观看 | 国产影视一区 | 海的味道国产精品 | 亚洲狠狠撸 | 91亚洲视频| 三级小说中| 日韩高清视频在线播放 | 国产传媒精品91一区 | 91精选 | 成人午夜在线免费 | 国产91精选二区 | 国产三级片在线免费看 | 日韩午夜十八 | 国产午夜免费啪 | 日韩欧美国产激情视频 | 日韩欧美在线免费播放 | 自拍偷拍第五页 | 成人精品99视频 | 国产少萝视频麻豆 | 日韩国产变态另类欧美 | 日韩欧美国产亚洲中文 | 成人黄色大片 | 成人免费资源 | 欧美成人网站在线 | 久久综合娱乐网 | 国产无码电影网 | 在线国产无码 | www.丁香五月天 | 国产色无码精品 | 日韩在线制服不卡 | 国产最新网址 | 日韩一区二区免费 | 91资源站| 深夜福利在线视频 | 成人天堂 | 成人免费视频播放 | 成人免费午夜在线观看 | 黄色三级片网站 | 成人福利午夜视 | 国产国产一区 | 精品日韩一区二区 | 欧美福利专区 | 国产日逼视频 | 官方福利视频导航 | 福利姬网站入口 | 爆乳无码一区二区三区 | 日韩精品tv | 午夜成人电影免费观看 | 少妇28p | 伊人A片| 日韩在线导航 | 国产手机精品视频 | 日韩欧美在线成人 | 91视频香蕉 | 国产成人精品久久 | 极品老熟| 国产操逼在线观看 | 亚洲成成品网站 | 国产第一页精品 | 婷婷丁香五月婷婷 | 日韩精品视频免费 | 免费的a片网 | 东京热大乱w姦在线 | 偷拍1页 | 91视频精品 | 成人国产精品秘片多多 | 日韩在线第一区 | 多人强伦轩免费看 | 三级视频频 | 日韩二区三区在线观看 | 亚洲一区性 | 日韩欧美性 | 深夜福利视频免费 | 国语自产 | 激情图片小说网 | 欧美另类残忍 | 成人午夜视频免费看 | 亚洲精品岁国产精品 | 成人午夜在线 | 日韩精品大片 | 日韩成人免费网站 | 日韩欧美综合一区 | 日韩综合第一页 | 欧美精品一二三区 | 国产熟女内 | 日韩一区在 | 日韩午夜理论片中 | 日韩丝袜诱惑 | 成人午夜激情视频 | 偷拍自拍区 | 深爱激情综合网 | 免费成人三级 | 日韩国产综合 | 日本αV中文字幕 | 婷婷资源 | 国产超清卡1 | 图片小说成人网 | 高潮喷水在线 | 日韩欧美区 | 黄色三级免费网站 | 国产自拍偷拍区 | 欧美成年视频 | 伦理片一区二区 | 欧美视频在线观看一区 | 国产97色色| 在线免费视频一区二区 | 日韩激情综合在线区 | 五月丁香婷婷六月 | 国产精品国三 | 日韩美女成人大片 | 日韩中文字幕在线欧美 | 日韩美女片| 人妻六区 | 日韩欧美精品视频在线 | 三级片国产在线 | 国产一区亚洲 | 国产视频| 国产αⅴ在线高清视频 | 国产在线色 | 精品码产区一区二小说 | 97成人免费 | 精品人妻二区中文字幕 | 国产乱伦视频免费看 | 97成人碰碰 | 日韩一区二区在线视频 | 日韩看片网站 | 日韩欧美在线网址 | 97干碰| 亚洲国产高清无码 | 在线一区欧美 | 日韩在线视频欧美一区 | 欧美性爱交 | 91资源| 午夜亚洲影院 | 日韩国产欧美在线视频 | 六月婷婷五月丁香 | 日本xxx免费 | 免费av网站 | 日韩国产中文综合网 | 六月丁香五月 | 日韩精品一二三四区 | 在线观看三级网址 | 国产伦理三级 | 色婷婷激情四射 | 国产白浆视频 | 成人看片 | 日韩在线一区国产国 | 日韩a级片电影 | 无码人妻AV| 日韩成人免费国产电影 | 日韩丝袜清纯自拍 | 国产精品一区久久久 | 麻豆精品在线免费观看 | 日韩亚洲中文 | 日韩一区二区三区四区 | 国产v片在线播放 | 日韩无码第一页 | 国产91探花在线观看 | 日韩精品国产另类专区 | 九九九成人 | 日本高清www| 久操影视| 国产又爽又粗又猛又色 | 日韩艹碰 | 丝袜人妻中文字幕 | 欧美福利一区二区 | 日韩成人在线视频 | 三级成人网站在线观看 | 偷拍自拍在线视频看看 | 天天摸天天干 | 免费无码不卡在线观看 | 国产精品制服 | 三级成人国产 | 本道久久 | 国产三级网站在线观看 | 成人午夜在线免费观看 | 日韩国产欧美精品 | 国产裸体美女免费观看 | 日韩日韩日韩 | 三级片视频在线观看 | 欧美精品网站 | 日韩偶在线 | 国产又大又粗又爽 | 做受视频试看 | 午夜在线 | 日韩成人激情视频 | 夜夜操夜夜操夜夜操 | 91午夜福| 亚洲精品国产精品国产 | 欧美多人性爱视频 | 成人精品在 | 国产在线精选 | 午夜专区| 国产三级看看看 | 91视频污下载 | 日韩国产欧美制服中文 | 日韩国产欧美视频一区 | 日韩色片 | 日韩免费高清专区 | 日韩永久免费视频 | 深夜福利在线播放 | 国产113页| 成人片免费播放 | 国语一区 | 成人午夜在线免费观看 | 日韩成年视频 | 国产乱理伦片 | 国产激情| 国产91白丝在线播放 | 午夜成人精品福利 | 成人午夜小视频免费 | 国产成人综合网 | 性色AⅤ| 色悠综合| 日韩在线综合网 | 亚洲av一卡二卡三卡 | 在线免费观看三级 | 日韩亚洲制服另类 | 久久国产成人精品Av | 激情成人小说在线观看 | 日韩国产精品有吗在线 | 日韩精品网站国产九区 | 91精品秘无码网站 | 日本另类人妖 | 国产黄色av | 国产成在线观看免 | 91直播网| 性色91| 五月婷婷五月丁香 | 免费观看做受视频 | 日韩中文字幕57页 | 国产美女裸网站 | 成人午夜福利在线视频 | 三级成人网站在线观看 | 午夜福利成人网站 | 日韩免费福利 | 三级综合自拍欧美 | 欧美V∧ | 无码影视在线国产 | 午夜福利成人 | 日韩一区二区国色天香 | 玖玖爱在线免费视频 | 免费观看三级网站 | 国产专区第一页 | 欧美一区二区在线看 | 日韩超级大片中文字幕 | 69老司机 | 三级成人影院 | 色色天堂| 日韩影院 | 婷婷二区 | 国模冰冰跑图02 | 国产高清乱伦片 | 夜色福利视频导航 | 日韩国产中文综合 | 日本色色网 | 日韩中文在线视频 | 日韩国产在线观看 | 日韩欧美动漫一区二区 | 日本不卡一区二区三区 | 久久综合综合久久 | 日韩视频高清 | 久久加勒比视频 | 国产在线www| 国产**剧传媒播放 | 尤物视频网在线观看 | 国产女人| 国产免费一区二区三区 | 日韩在线视频导航 | 国产人妻| 国产成人无码精品亚洲 | 国产精品尤物在 | 国产人妖伪娘在线 | 日韩亚洲欧美专区 | 色情福利网站 | 久久66| 日韩亚洲欧洲在线观看 | 午夜福利理论 | 午夜黄色| 午夜成人视频在线 | 偷拍自拍视频在线观看 | 人妖网站免费 | 国产色视频 | 国产精品一页 | 日韩欧美另类 | 日韩在线网址 | 国产一区二区久久 | 中文字幕丝袜美腿 | 日韩最新中文字幕 | 国产精品3 | 国产成人麻豆免费观看 | 国产又粗又长又爽 | 成人高清免费国产网站 | 日韩精品视频 | 国产人妖伪娘网站 | 国产精品美乳在线 | 尤物在线精品 | 日韩在线观看视频网站 | 第一福利网站 | 成人亚洲欧美一区 | 日韩字幕在线 | 日韩国产在线一区二区 | 国产高清无码2025 | 欧美第七页 | 欧美日韩在线免费观看 | 91一级在线 | 国产91电影| 国产91精品新入口 | 伦理片一区二区 | 日韩二区三区无 | 国产在线美女 | 成人涩涩小片视频 | 97社区资源网 | 国产国语三级在线 | 国产美女a做| 日韩国产一区 | 日韩激情三区 | 日韩国产午夜在线精品 | 国产成年人视 | 92福利视频 | 日本怡春院 | 图片在线视频小说成人 | 成人福利午夜A片公司 | 91西门庆| 国产自拍 | 日韩经典电影 | 污视频网址在线观看 | 三级片在线看 | 亚洲综合精品国产 | 三级中文字幕不卡 | 国产精品网站在线观看 | 久久新无毒不卡 | 日韩国产在线一区二区 | 成人免费在线 | 国产三级在线网站 | 国产农村成人免费视频 | 第一色网 | 怡红院二区 | 国产91丝袜在线精品 | 丁香五月天综合 | 日韩色影院 | 国产精品黄| 日韩国产v片一区二区 | 深夜福利老司机 | 日韩丝袜第一页 | 在线观看不卡无码 | 91视频在线免费观看 | 一区二区伦理 | 国产成a人片 | 日韩伦理免费看 | 福利姬视频在线看 | 国产91精品入 | 激情综合图片 | 91天天综合 | 毛片三级片网站 | 欧美成人视屏在线 | 中国三级免费 | 欧美精品网站 | 涩涩在线| 午夜成人福利视频在线 | 午夜成人激情影院 | 国产精品免费精品一区 | 日韩福利在线 | 欧美精品区 | 日韩欧美色 | 日韩综合在线一区二区 | 午夜激情福利 | 日韩中文在线免费视频 | 97超碰成人网| 91直播nba| 成人高清免费国产网站 | 天天日天天干天天射 | 91视频一区二区 | 欧美群伦AAAAA片 | 国产a片 | 成人图片小说网 | 中国一区二区 | 欧美性爱大全 | 午夜婷婷网站 | 福利性导航| 成人信息集中地日韩 | 成年人午夜视频 | 日韩视频区 | 国产精品99久 | 中文字幕不卡在线 | 男女啪啪网站 | 日韩小视频在线观看 | 日韩欧美一二区 | 日韩视频无码专区二三 | 日韩视频第 | 深夜成人精品福利 | 乱伦强奸舒服视频 | 日韩在线精品一二三区 | 福利资源在线观看 | 狼友视频首页 | 成人黄色免费观看 | 日韩老熟 | 91网页在线浏览 | 午夜视频无码在线看 | 午夜精品在线观看视频 | 国产在线不卡a | 国产午夜无码精品 | 日韩二三区| 麻豆视频网站在线观看 | 日韩欧美国产师生制服 | 欧美精品。 | 午夜视频专区 | 欧美日韩一区二 | 欧美成人视 | 免费成人三级 | 久草资源部 | 欧美三区在线 | 国产激情综合 | 免费A片试看网 | 激情小说网址 | 日韩美女国产a人成片 | 欧美人牲 | 国产高清无码一区 | 日韩在线观看高清视频 | 国产一级生活片 | 老湿机在线看 | 精品人妖 | 黑人干熟女 | 中文字幕变态另类 | 日韩毛片在线 | 日韩美女成人大片 | 午夜黄片免费看 | 日韩精品一区二 | 日韩激情视频网站 | 三级视频兔费看 | 欧美日韩www| 黃色A片三級三級三級 | 日韩亚洲欧美另类综合 | 最新国产精品 | 韩国床震无遮掩 | 91自拍偷拍| 亚洲国产成人精 | 午夜极品 | 国产你懂得 | 欧美成人网站在线 | 四虎社区| 日韩中文字幕在线有码 | 国产第一精品 | 日韩大片在 | 婷婷激情小说网 | 九九九九精品 | 欧美性爱XXXX黑人 | 天天日天天干天天摸 | 日韩国产精品综合免费 | 日韩精东 | 18禁深夜福利 | 成人福利导航大全在线 | 日韩在线资源 | 亚洲国产成人电影 | 午夜视频无码在线看 | 日韩欧美黄 | 日韩亚洲无码操操操 | 成人激情五月天 | 日韩操碰 | 国产欧美精品在线 | 天天综合7799 | 久操91 | 成人国产免 | 美女91网站 | 成人国产系列 | 日韩欧美天堂 | 真实国产亂伦在线视频 | 欧美另类变态 | 三男玩一女三A片视频 | 91桃色污无 | 日韩在线欧美高清一区 | 成人午夜婬片100集 成人午夜亚洲精品无 | 亚洲精品成人av无码 | 三级成人国产 | 成人综合小说图片 | 污视频网址在线观看 | 三级精品视频在线播放 | 日韩在线看视频 | 深夜福利免费 | 中国人妖和人妖ⅩXX | 午夜探花| 操逼网首页123 | 成人免费黄片 | 国产看片网址 | 天堂黄色网址 | 日韩精品视频无码 | 成人午夜在线国产 | 激情图片激情小说 | 狠狠操天天操 | 日韩精品电影在线 | 日韩美女在线观看一区 | 国产激情一区二区三区 | 日韩电影伦理 | 欧美成人免费观看 | 日本黄色小说网站 | 欧美国产日韩在线观看 | 日本不卡一区在线观看 | 成人亚洲| 变态另类91视频 | 日韩性派对 | 夜夜干,夜夜操 | 欧美v日韩| 久久网综合 | 国产性爱网站 | 无码专区电影 | 成人免费午夜 | 国产武打片大全 | 国产香蕉片| 欧美性爱笫一页 | 国产97成人免| 国产亚洲人成a | 精品日韩av| 日韩高清无码一区 | 欧美偷拍少妇精品一区 | 屁屁影院第二页 | 日韩亚洲制服另类 | 玖草在线观看 | 国产92视频在线播放 | 日韩国产欧美中文综合 | 中国三级片在线播放 | 国产三级成人 | 成人信息集中地日韩 | 91影视网 | 日韩精品一二三 | 三级直播电影在线观看 | 日日干夜夜干 | 一区不卡 | 韩日视频在线播放 | 日韩一区二 | 日韩丝袜| 久久骚妇 | 国产精品自拍导航 | 天堂网无码 | 成人精品午夜福利 | 日韩精品福 | 不卡中文 | 加勒比二区| 日韩v片在线 | 精品国自产拍在线 | 97青青草| 国产爆乳美女 | 日韩新片网 | 欧美操逼的视频 | 亚洲AV一卡| 成人深夜在线观看 | 中国人妖自精汇编 | 岛国搬运www久| 日韩在线综合网 | 日韩亚亚洲一区二区师 | 午夜成人无码精品福利 | 国产精品高清网站 | 日韩美女电影 | 深夜成人福利网站 | 日韩精品成 | 国产亚洲 | 成人日韩精品在线 | 国产极品网站 | 三级黄色网在线观看 | 日韩精品第五页 | 国产无人区| 久爱青草免费视频 | 这里只有精品视频 | 日韩伦理片网站 | 一区二区视频免费 | 日韩精品一区在线观看 | 国产sm重口 | 国产黄色毛片 | 欧美另类黄 | 久操视频在线观看 | 性,国产三级在线观看 | 正在播放城中村嫖妓 | 无码动漫网站 | 日韩欧美片 | 久久青青 | 午夜影院老线观 | 国产盗摄一区二 | 国产白丝视频 | 国产91线观看 | 日韩高清在线看 | 欧美不卡在线视频 | 三级黃色男人的天堂 | 国产第一屁屁影院 | 五月丁香六月婷 | 高潮白浆视频 | 国产三级片完整版 | 日韩在线精品蜜柚影院 | 欧美一区二区三区视频 | 日韩欧美小视频 | 国产兄妹在乱搞 | 日韩欧美另类在线视频 | 日韩亚洲精品在线观看 | 日韩制服乱伦影片 | 日韩有码中文 | 日韩亚洲欧美网站 | 国产三级电影网 | 欧美不卡一区 | 午夜在线亚洲 | 国产免费播放器 | 成人午夜免费一区二区 | 一A级成人免费版 | 日韩穴穴网 | 国产91成人永久观看 | 日屄免费视频 | 日韩好片一区 | 韩日精品在线 | 日韩美女色高清在线看 | 人人妖欧美 | 超碰人人超碰人人 | 国产成年人视频免费 | 日本色色色www | 偷拍自拍偷拍 | 午夜在线电影院 | 午夜福利视频网址 | 日韩精品久久久 | 国产成人综合网 | 国产福利啪啪 | 日韩中文字幕在线看 | 国产浪潮AV麻豆影视 | 日韩欧美综合在线观看 | 午夜网址| 丁香五月婷婷综合在线 | 国产乱国产乱 | 成人午夜免费 | 日韩欧美a成| 午夜在线直播 | 日韩视频一区二区三区 | 国产又大又粗又黄 | 激情另类文学 | 另类图片小说激情 | 亚洲国产高清无码 | 涩涩视频网站 | 免费的成人黄片 | 91成年人 | 性色AⅤ| 国产91精选 | 五月婷婷丁香综合 | 国产十区 | 91在线视频播 | 夜夜嗨网站 | 日韩黄色网址 | 日韩经典亚洲专区 | 午夜不卡在线 | 日韩精品视 | 色俞俞在线网站 | 成人免费观看三级片 | 天堂资源最新在线 | 人人摸人人操97碰 | 白天操夜夜操 | 国产自产精品 | 日韩在线精品国产一区 | 日韩三区视频 | 91专区| 国产免费高清无码a级 | 麻豆精品在线 | 欧美缴情 | 午夜成人激情免费视频 | 69福利网 | 国产十区 | 日韩免费一二三四区 | 成人自拍| 精品日韩二区 | 成人片免费播放 | 成人三级网址 | 午夜成人免费在线视频 | 涩涩屋在线观看视频 | 日韩欧美网站在线观看 | 色婷婷免费视频 | 国产三级片在线免费看 | 日韩第一区 | 久久精品综合 | 日韩精品视烦兔费网址 | 国产第一福利影院 | 成人做爰黄片免费观看 | 深夜福利影院在线观看 | 精品国语视频免费 | 国产h视频在线观看 | 国产三级第一页 | 日本丰满熟妇xxx | 日韩欧美亚洲片 | 国产精品日韩欧 | 国产三级片网站 | 国产三级精品三级观看 | A级毛片免费在线观看 | 日韩欧美激 | 日本熟妇Ⅹ中文 | 性欧美视频 | 精东A片| 日韩无码网站 | 国产在线三级在线观看 | 精品日韩一区二区三区 | 亚洲综合精品国产 | 日韩日本天堂 | 中文字幕免费毛片 | 国产熟睡乱子伦 | 无码成人午夜电影免费 | 日韩精品黄肉动 | 五月六月丁香 | 日韩欧美中文字幕不卡 | 国产精品宾馆 | 午夜伦理伦理片 | 日韩国产中文 | 色墦五月丁香 | 国产尤物在线视频 | 日本不卡视频一区 | 性无码一区二区三区 | 午夜操逼逼 | 传媒视频一区二区 | 日韩欧美日韩激情 | 日韩天堂在线观看 | 午夜草莓视频 | 日韩aⅴ精品 | 日韩欧美国产激情 | 国产偷人妻精品一区 | 日本色一道 | 日韩精品三级一区二区 | 三级视频院 | 日韩精品视频 | 国产黑丝在线 | 国产在线中文 | 成人精品第| 精品国产三级片 | 成人三级在线播放 | 午夜神马伦理 | 国产免费自拍视频 | 日韩在线第二页 | 欧美这里只有精品 | 老湿影院在线观看 | 成人91| 国产一区二区三区传煤 | 三级成人网址 | 精品一曲二曲日韩 | 玖玖在线看| 国产欧美日本 | 国产精品久久久一区 | 免费欧美精品 | 成人AV三级 | 久久精品综合 | 高潮流白浆在线观看 | 黑人性爱视频网站 | 毛茸茸的熟女 | 国产黄色在线免费观看 | 成人午夜福利视频 | 福利手机电影 | 丝袜美腿视频网 | 国产乱人精品视频 | 欧美日韩国产专区 | 三级视频网站在线观看 | 欧美成人在线视频网站 | 日日干狠狠干 | A级成人毛片免费网站 | 成人艳情一二三区 | 老湿机69 | 精品日韩| 国产日夜| 国产精品9191 | 黑人干熟女| 国产乱在线 | 日韩精品成人亚洲毛 | 东京热无码视频 | 国产精品乱伦一区 | 亚洲成人五月天 | 91综合永久 | 日本不卡一区二区三区 | 国产三级片在线网站 | 三级艳女伦交在线观 | 97久久超碰 | 成人羞羞视频免费看 | 国产精品乱视频 | 成人三级色 | 黄色天堂网站 | 偷拍第5页 | 深夜福利小网站 | 成人深夜福利在线观看 | 狼友视频入口首页 | 国产午夜免费 | 欧美综合色 | 久久中文综合网 | 午夜福利2025| 国产激情自拍 | 日韩色情综合网 | 成人毛片- | 国产第一夜 | 国产草莓精品 | 一区二区免费视频 | 国产精品亚洲精品 | 三级全黄在线观看 | 国产成人自拍人妖 | 国产福利在线观 | 玖玖在线观看免费视频 | 三级特黄60分钟在线 | 日韩在线精品视频99 | 深夜福利在线网址 | 另类女同 | 日韩欧美国产完整版 | 97影视| 久久er| 视频一区视频二区视频 | 福利丝袜美腿视频网站 | 亚洲综合精品国产 | 国产又黄又粗又爽 | 日韩一二三区的经济 | 超碰人人干 | 国产99久 | 成人性爱视频在线观看 | 国产又大又粗又爽 | 国产在线女主播 | 午夜成人激情在线 | 日本三级片东京热 | 欧美人妖乱伦 | 尤物在线观看视频 | 成人精品综合免费视频 | 日韩高清一区二 | 屁屁影院欧美第一页 | 网站成人高清视频 | 午夜视频试看 | 日本h片在线免费观看 | 国产在线看 | 国产盗摄aⅴ一区二区 | 人人看97| 午夜黄色 | 黄色福利网站 | 无码天堂在线 | 国产h片在线观看 | 性无码专区 | 日韩欧美色图 | 91香蕉视频| 精品蜜桃网 | 国产成人精 | 国产精品永久久 | 国产精品秘国产A级 | 91在线| 久草福利资源站 | 国产性爱无码 | 日韩电影资源 | 国产午夜视频在线观看 | 欧美成人视频网站 | 国产又粗又猛又色又 | 另类欧美尿交 | 性爱在线国产 | 日韩电影精品 | 日韩你懂得 | 福利性影院在线播放 | 超碰成人网 | 玖玖在线观看免费视频 | 欧美精品午夜 | 成人免费亚洲视频 | 久久综合资源网 | 日韩欧美网站在线观看 | 五月丁香六月婷婷综合 | 精品国产一区二 | 无码不卡播放 | 日韩亚洲欧洲中文版 | 日本做受视频 | 午夜理伦三级做爰电影 | 国产伦理 | 深夜成人福利在线 | 在线观看福利导航 | 国产成人自拍网 | 自拍偷拍第页 | 午夜伦理视频 | 国产不卡一区0 | 国产牛牛碰 | 欧美日韩专区 | 精品福利视频导航 | 日韩精品第一在 | 国内自拍第三页 | 美女国产 | 国产情侣在视频 | 日韩欧美天堂 | 丨97丨另类丰满人妖 | 福利视频日韩 | 在线视频一区二区三区 | 三极网站 | 91欧美视频 | 国产91丝袜在线熟女 | 日韩影片中文字幕 | 性做久久久久免费观看 | 成人国产一 | 五月丁香婷婷综合在线 | 国产午夜小视频 | 日韩一二三区视频精品 | 人人操人人干超碰 | 中国三级在线 | 福利视频日韩 | 午夜伦理剧| 午夜在线亚洲 | 成人福利影院在线观看 | 91影视下载| 超碰人97| 动漫精品一区二区 | 日韩伦理片网址 | 超碰久草| 岛国大片免费看 | 日韩精品一级二级片 | 国产又黄又粗又长视频 | 成人a区在线观看 | 深夜成人福利视频 | 天堂网视频在线观看 | 日韩乱伦片 | 正在播放国语对白露脸 | 强奸乱伦免费视频 | 性交网站在线观看 | 国产淫网 | 91怎么样| 日本www高清 | 性色播放| 91网址导航| 成人三级片在线看 | 三级网址在线免费观看 | 日韩在线视频在线 | 色悠悠网 | 国产按头暴力深喉口爆 | 午夜成人在线电影 | 成人国内精品久 | 日本韩国电影一区二区 | 国产三级中文字幕 | 国产美女喷水 | 国产最新精品2025 | 国产盗摄偷 | 日韩性爱在 | 日韩国产亚州欧美 | 国产高清无码专区 | 日本三级免费看 | 日韩国标一区二区精品 | 日韩成人视频网 | 精品久久性 | 成人午夜爽 | 又黄又爽视频 | 国产h片在线观看 | 日韩高清一二三区 | 日韩女人性开 | 日韩激情综合在线区 | 日韩中文字幕精品a | 精品天堂网 | 成人午夜无码视频 | 日韩电影a级 | 久久惹这里只有精品 | 日韩欧美一区免费极品 | 国产三级网 | 五月丁香在线观看 | www.三级片 | 自拍偷拍第38页 | 夜间福利视频 | 国产是什么意思 | 日韩不卡中文字幕 | 日本三级黄色网址 | 日韩精品第十页 | 爽爽爽影院 | 国产精品福利影院 | 深夜福利视频在线 | 欧美性爱第八页 | 日韩蜜桃一区二区 | 成人欧美视频在线观看 | 国产成人不卡在线 | 日韩欧美一区二区一幕 | 麻豆精品在线 | 国产99区一区二区 | 日韩免费电影网 | 日韩福利导航 | 午夜成人免费在线视频 | 日韩视频网| 五月四房色播 | 深夜福利免费 | 午夜成人视频网站 | 日韩国产在线0 | 日韩欧无码 | 国产乱码精品一区二区 | 特黄三级 | 成人va在线 | 99精品99| 国产处破免费观看 | 国产福利第一视频 | 夜夜视频免费看 | 日本中文字幕有码 | A片免费网 | 自拍偷拍系列 | 老色在线 | 日韩aⅴ免费一区二区 | 日韩丰满一区二区 | 成人深夜小视频 | 黄色毛片三级 | 国产精品电影网 | 福利区在线观看 | 日韩国产高清制服一区 | 色综合色| 亚洲免费国产精品 | 91性一性一性| 国产a国产片| 韩日视频在线 | 免费视频一区二区 | 日韩免费自拍 | 日韩在线亚洲观看免费 | 深爱五月综合网 | 91丝袜| 国产成人啪精品 | 91直播免费看 | 91社区网 | 日韩乱伦一区二区 | 日韩欧美动漫一区一区 | 97成人免费 | 人人超碰人人超碰 | 成人在线欧美 | 亚洲五月天综合网 | 欧美性爱大全 | 日韩视频在线观看视频 | 四虎影视城 | 久艹福利| 日韩精品一区国产精品 | 日韩中文在线免费视频 | 国产91片| 狠狠操夜夜操 | 日韩欧美在线观看网站 | 中文字幕一区在线 | 日本天堂中文字幕 | 成人国产精品秘在线看 | 日韩免费影视 | 精品欧美一区二区三区 | 国产又粗又黄的视频 | 成年人拍拍拍 | 亚洲性久久影院 | 国产情侣片 | 成人免费看三级片 | 国产福利在线视频导航 | 在线观看自拍 | 日韩经典三级免费电影 | AV无码在线观看 | 日韩午夜福利电影 | 国产足交 | 日韩免费在线观看 | 精品福利视频导航 | 日韩色图在线观看 | 国产又爽又黄免费软件 | 五月天婷婷综合网 | 国产情侣在视频 | 91污视频| 超碰人人干 | 91干屄| 日本不卡一二区 | 国产精品自产拍在线 | 国产美女操 | 亚洲国产三级在线观看 | 91自拍色| 国产庆无码 | 国产一区二区三区传煤 | 午夜福利成人 | 日韩AV区| 午夜成人高清 | 国产mv天美传媒 | 草莓视频91 | 久久不射网站 | 91视频网在线 | 日韩三级中文 | 色悠悠久 | 午夜视频播放器 | 国产欧美一区二区在线 | 夜鲁夜鲁夜鲁视频在线 | 国产h精品在线观看 | 深夜无码福利 | 深夜福利在线导航 | 97免费在线 | 成人午夜在线免费观看 | 色老头久久| 成人免费观看网 | 岛国在线播放v片免 | 日韩伦理网 | 国产福利专区 | 日韩欧美第一二三区 | 国产乱人视频免费观看 | 91桃色下载| 无码高清不卡 | 老熟女1 | 久久这里 | 成人精品视频免费 | 自拍偷拍在线播放 | 欧美成人在线视频观看 | 欧美视频二区三区 | 偷拍自拍在线播放 | 日韩一区二区在线观看 | 成人精品一区二 | 成人福利导航在线观看 | 成人A级毛片免费网站 | 日韩一区二 | 老a影视精品无码视频 | 麻豆AV在线| 日韩系列 | 成人午夜视频网 | 国产精品激情在线观看 | 午夜成人免费视频观看 | 午夜精品白在线观看 | 午夜成人福利在线观看 | 日韩欧美亚洲三级在线 | 91樱桃日| 国产视频a | 狼友精品| 三级在线观看免费播放 | 亚洲男女视频 | 日韩射淫爽网 | 日韩欧美h | 午夜视频合集 | 国产一二三级 | 东京久久 | 无码不卡免费在线观看 | 日韩人人全干 | www.内射视频 | 日韩高清专区 | 亚洲精品一线二线三线 | 日韩在线|中文 | 国产福利在线播放 | 福利姬在线视频 | 成人午夜视频网 | 成人午夜视频精品 | 丁香五婷 | 日韩欧美a| 91视频一区二区三区 |