<div id="palb5"><fieldset id="palb5"><strike id="palb5"></strike></fieldset></div>
      <center id="palb5"></center>
        <ruby id="palb5"><menuitem id="palb5"></menuitem></ruby>

          <em id="palb5"><ol id="palb5"></ol></em>
          太阳之歌女主角,棋王梁家辉,三毛学生意,绅士品格国语版全集,西安天空出现奇异云层,幽灵公主在线观看高清完整,蜜桃成熟时2未删减版,燃烧电视剧全集30集

          Java ClassLoader原理深入講解

          時間:2024-10-19 00:14:48 JAVA認證

          Java ClassLoader原理深入講解

            JAVA啟動后,是經(jīng)過JVM各級ClassLoader來加載各個類到內存。為了更加了解加載過程,下面為大家深入講解Java ClassLoader原理,僅供參考!

            當JVM(Java虛擬機)啟動時,會形成由三個類加載器組成的初始類加載器層次結構:

            bootstrap classloader

            |

            extension classloader

            |

            system classloader

            bootstrap classloader -引導(也稱為原始)類加載器,它負責加載Java的核心類。在Sun的JVM中,在執(zhí)行java的命令中使用-Xbootclasspath選項或使用 - D選項指定sun.boot.class.path系統(tǒng)屬性值可以指定附加的類。這個加載器的是非常特殊的,它實際上不是 java.lang.ClassLoader的子類,而是由JVM自身實現(xiàn)的。大家可以通過執(zhí)行以下代碼來獲得bootstrap classloader加載了那些核心類庫:

            URL[] urls=sun.misc.Launcher.getBootstrapClassPath().getURLs();

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

            System.out.println(urls.toExternalform());

            }

            在我的計算機上的結果為:

            文件:/C:/j2sdk1.4.1_01/jre/lib/endorsed/dom.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/endorsed/sax.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/endorsed/xalan-2.3.1.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/endorsed/xercesImpl-2.0.0.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/endorsed/xml-apis.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/endorsed/xsltc.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/rt.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/i18n.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/sunrsasign.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/jsse.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/jce.jar

            文件:/C:/j2sdk1.4.1_01/jre/lib/charsets.jar

            文件:/C:/j2sdk1.4.1_01/jre/classes

            這時大家知道了為什么我們不需要在系統(tǒng)屬性CLASSPATH中指定這些類庫了吧,因為JVM在啟動的時候就自動加載它們了。

            extension classloader -擴展類加載器,它負責加載JRE的擴展目錄(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系統(tǒng)屬性指定的)中JAR的 類包。這為引入除Java核心類以外的新功能提供了一個標準機制。因為默認的擴展目錄對所有從同一個JRE中啟動的JVM都是通用的,所以放入這個目錄的 JAR類包對所有的JVM和system classloader都是可見的。在這個實例上調用方法getParent()總是返回空值null,因為引導加載器bootstrap classloader不是一個真正的ClassLoader實例。所以當大家執(zhí)行以下代碼時:

            System.out.println(System.getProperty("java.ext.dirs"));

            ClassLoader extensionClassloader=ClassLoader.getSystemClassLoader().getParent();

            System.out.println("the parent of extension classloader : "+extensionClassloader.getParent());

            結果為:

            C:/j2sdk1.4.1_01/jre/lib/ext

            the parent of extension classloader : null

            extension classloader是system classloader的parent,而bootstrap classloader是extension classloader的parent,但它不是一個實際的classloader,所以為null。

            system classloader -系統(tǒng)(也稱為應用)類加載器,它負責在JVM被啟動時,加載來自在命令java中的-classpath或者java.class.path系統(tǒng)屬性或 者 CLASSPATH操作系統(tǒng)屬性所指定的JAR類包和類路徑。總能通過靜態(tài)方法ClassLoader.getSystemClassLoader()找 到該類加載器。如果沒有特別指定,則用戶自定義的任何類加載器都將該類加載器作為它的父加載器。執(zhí)行以下代碼即可獲得:

            System.out.println(System.getProperty("java.class.path"));

            輸出結果則為用戶在系統(tǒng)屬性里面設置的CLASSPATH。

            classloader 加載類用的是全盤負責委托機制。所謂全盤負責,即是當一個classloader加載一個Class的時候,這個Class所依賴的和引用的所有 Class也由這個classloader負責載入,除非是顯式的使用另外一個classloader載入;委托機制則是先讓parent(父)類加載器 (而不是super,它與parent classloader類不是繼承關系)尋找,只有在parent找不到的時候才從自己的類路徑中去尋找。此外類加載還采用了cache機制,也就是如果 cache中保存了這個Class就直接返回它,如果沒有才從文件中讀取和轉換成Class,并存入cache,這就是為什么我們修改了Class但是必 須重新啟動JVM才能生效的原因。

            每個ClassLoader加載Class的過程是:

            1.檢測此Class是否載入過(即在cache中是否有此Class),如果有到8,如果沒有到2

            2.如果parent classloader不存在(沒有parent,那parent一定是bootstrap classloader了),到4

            3.請求parent classloader載入,如果成功到8,不成功到5

            4.請求jvm從bootstrap classloader中載入,如果成功到8

            5.尋找Class文件(從與此classloader相關的類路徑中尋找)。如果找不到則到7.

            6.從文件中載入Class,到8.

            7.拋出ClassNotFoundException.

            8.返回Class.

            其中5.6步我們可以通過覆蓋ClassLoader的findClass方法來實現(xiàn)自己的載入策略。甚至覆蓋loadClass方法來實現(xiàn)自己的載入過程。

            類加載器的順序是:

            先 是bootstrap classloader,然后是extension classloader,最后才是system classloader。大家會發(fā)現(xiàn)加載的Class越是重要的越在靠前面。這樣做的原因是出于安全性的考慮,試想如果system classloader“親自”加載了一個具有破壞性的“java.lang.System”類的后果吧。這種委托機制保證了用戶即使具有一個這樣的類, 也把它加入到了類路徑中,但是它永遠不會被載入,因為這個類總是由bootstrap classloader來加載的。大家可以執(zhí)行一下以下的代碼:

            System.out.println(System.class.getClassLoader());

            將會看到結果是null,這就表明java.lang.System是由bootstrap classloader加載的,因為bootstrap classloader不是一個真正的ClassLoader實例,而是由JVM實現(xiàn)的,正如前面已經(jīng)說過的。

            下面就讓我們來看看JVM是如何來為我們來建立類加載器的結構的:

            sun.misc.Launcher,顧名思義,當你執(zhí)行java命令的時候,JVM會先使用bootstrap classloader載入并初始化一個Launcher,執(zhí)行下來代碼:

            System.out.println("the Launcher's classloader is "+sun.misc.Launcher.getLauncher().getClass().getClassLoader());

            結果為:

            the Launcher's classloader is null (因為是用bootstrap classloader加載,所以class loader為null)

            Launcher 會根據(jù)系統(tǒng)和命令設定初始化好class loader結構,JVM就用它來獲得extension classloader和system classloader,并載入所有的需要載入的Class,最后執(zhí)行java命令指定的帶有靜態(tài)的main方法的Class。extension classloader實際上是sun.misc.Launcher$ExtClassLoader類的一個實例,system classloader實際上是sun.misc.Launcher$AppClassLoader類的一個實例。并且都是 java.net.URLClassLoader的子類。

            讓我們來看看Launcher初試化的過程的部分代碼。

            Launcher的部分代碼:

            public class Launcher {

            public Launcher() {

            ExtClassLoader extclassloader;

            try {

            //初始化extension classloader

            extclassloader = ExtClassLoader.getExtClassLoader();

            } catch(IOException ioexception) {

            throw new InternalError("Could not create extension class loader");

            }

            try {

            //初始化system classloader,parent是extension classloader

            loader = AppClassLoader.getAppClassLoader(extclassloader);

            } catch(IOException ioexception1) {

            throw new InternalError("Could not create application class loader");

            }

            //將system classloader設置成當前線程的context classloader(將在后面加以介紹)

            Thread.currentThread().setContextClassLoader(loader);

            ......

            }

            public ClassLoader getClassLoader() {

            //返回system classloader

            return loader;

            }

            }

            extension classloader的部分代碼:

            static class Launcher$ExtClassLoader extends URLClassLoader {

            public static Launcher$ExtClassLoader getExtClassLoader()

            throws IOException

            {

            File afile[] = getExtDirs();

            return (Launcher$ExtClassLoader)AccessController.doPrivileged(new Launcher$1(afile));

            }

            private static File[] getExtDirs() {

            //獲得系統(tǒng)屬性“java.ext.dirs”

            String s = System.getProperty("java.ext.dirs");

            File afile[];

            if(s != null) {

            StringTokenizer stringtokenizer = new StringTokenizer(s, File.pathSeparator);

            int i = stringtokenizer.countTokens();

            afile = new File;

            for(int j = 0; j < i; j++)

            afile[j] = new File(stringtokenizer.nextToken());

            } else {

            afile = new File[0];

            }

            return afile;

            }

            }

            system classloader的部分代碼:

            static class Launcher$AppClassLoader extends URLClassLoader

            {

            public static ClassLoader getAppClassLoader(ClassLoader classloader)

            throws IOException

            {

            //獲得系統(tǒng)屬性“java.class.path”

            String s = System.getProperty("java.class.path");

            File afile[] = s != null ? Launcher.access$200(s) : new File[0];

            return (Launcher$AppClassLoader)AccessController.doPrivileged(new Launcher$2(s, afile, classloader));

            }

            }

            看 了源代碼大家就清楚了吧,extension classloader是使用系統(tǒng)屬性“java.ext.dirs”設置類搜索路徑的,并且沒有parent。system classloader是使用系統(tǒng)屬性“java.class.path”設置類搜索路徑的,并且有一個parent classloader。Launcher初始化extension classloader,system classloader,并將system classloader設置成為context classloader,但是僅僅返回system classloader給JVM。

            這里怎么又出來一個context classloader呢?它有什么用呢?我們在建立一個線程Thread的時候,可以為這個線程通過setContextClassLoader方法來 指定一個合適的classloader作為這個線程的context classloader,當此線程運行的時候,我們可以通過getContextClassLoader方法來獲得此context classloader,就可以用它來載入我們所需要的Class。默認的是system classloader。利用這個特性,我們可以“打破”classloader委托機制了,父classloader可以獲得當前線程的context classloader,而這個context classloader可以是它的子classloader或者其他的classloader,那么父classloader就可以從其獲得所需的 Class,這就打破了只能向父classloader請求的限制了。這個機制可以滿足當我們的classpath是在運行時才確定,并由定制的 classloader加載的時候,由system classloader(即在jvm classpath中)加載的class可以通過context classloader獲得定制的classloader并加載入特定的class(通常是抽象類和接口,定制的classloader中是其實現(xiàn)),例 如web應用中的servlet就是用這種機制加載的.

            好了,現(xiàn)在我們了解了classloader的結構和工作原理,那么我們 如何實現(xiàn)在運行時的動態(tài)載入和更新呢?只要我們能夠動態(tài)改變類搜索路徑和清除classloader的cache中已經(jīng)載入的Class就行了,有兩個方 案,一是我們繼承一個classloader,覆蓋loadclass方法,動態(tài)的尋找Class文件并使用defineClass方法來;另一個則非常 簡單實用,只要重新使用一個新的類搜索路徑來new一個classloader就行了,這樣即更新了類搜索路徑以便來載入新的Class,也重新生成了一 個空白的cache(當然,類搜索路徑不一定必須更改)。噢,太好了,我們幾乎不用做什么工作,java.netURLClassLoader正是一個符 合我們要求的classloader!我們可以直接使用或者繼承它就可以了!

            這是j2se1.4 API的doc中URLClassLoader的兩個構造器的描述:

            URLClassLoader(URL[] urls)

            Constructs a new URLClassLoader for the specified URLs using the default delegation parent ClassLoader.

            URLClassLoader(URL[] urls, ClassLoader parent)

            Constructs a new URLClassLoader for the given URLs.

            其中URL[] urls就是我們要設置的類搜索路徑,parent就是這個classloader的parent classloader,默認的是system classloader。

            好,現(xiàn)在我們能夠動態(tài)的載入Class了,這樣我們就可以利用newInstance方法來獲得一個Object。但我們如何將此Object造型呢?可以將此Object造型成它本身的Class嗎?

            首先讓我們來分析一下java源文件的編譯,運行吧!javac命令是調用“JAVA_HOME/lib/tools.jar”中的“com.sun.tools.javac.Main”的compile方法來編譯:

            public static int compile(String as[]);

            public static int compile(String as[], PrintWriter printwriter);

            返回0表示編譯成功,字符串數(shù)組as則是我們用javac命令編譯時的參數(shù),以空格劃分。例如:

            javac -classpath c:/foo/bar.jar;. -d c:/ c:/Some.java

            則 字符串數(shù)組as為{"-classpath","c://foo//bar.jar;.","-d","c://","c://Some.java"}, 如果帶有PrintWriter參數(shù),則會把編譯信息出到這個指定的printWriter中。默認的輸出是System.err。

            其中 Main是由JVM使用Launcher初始化的system classloader載入的,根據(jù)全盤負責原則,編譯器在解析這個java源文件時所發(fā)現(xiàn)的它所依賴和引用的所有Class也將由system classloader載入,如果system classloader不能載入某個Class時,編譯器將拋出一個“cannot resolve symbol”錯誤。

            所以首先編譯就通不過,也就是編譯器無法編譯一個引用了不在CLASSPATH中的未知Class的java源文件,而由于拼寫錯誤或者沒有把所需類庫放到CLASSPATH中,大家一定經(jīng)常看到這個“cannot resolve symbol”這個編譯錯誤吧!

            其 次,就是我們把這個Class放到編譯路徑中,成功的進行了編譯,然后在運行的時候不把它放入到CLASSPATH中而利用我們自己的 classloader來動態(tài)載入這個Class,這時候也會出現(xiàn)“java.lang.NoClassDefFoundError”的違例,為什么呢?

            我 們再來分析一下,首先調用這個造型語句的可執(zhí)行的Class一定是由JVM使用Launcher初始化的system classloader載入的,根據(jù)全盤負責原則,當我們進行造型的時候,JVM也會使用system classloader來嘗試載入這個Class來對實例進行造型,自然在system classloader尋找不到這個Class時就會拋出“java.lang.NoClassDefFoundError”的違例。

            OK, 現(xiàn)在讓我們來總結一下,java文件的編譯和Class的載入執(zhí)行,都是使用Launcher初始化的system classloader作為類載入器的,我們無法動態(tài)的改變system classloader,更無法讓JVM使用我們自己的classloader來替換system classloader,根據(jù)全盤負責原則,就限制了編譯和運行時,我們無法直接顯式的使用一個system classloader尋找不到的Class,即我們只能使用Java核心類庫,擴展類庫和CLASSPATH中的類庫中的Class。

            還 不死心!再嘗試一下這種情況,我們把這個Class也放入到CLASSPATH中,讓system classloader能夠識別和載入。然后我們通過自己的classloader來從指定的class文件中載入這個Class(不能夠委托 parent載入,因為這樣會被system classloader從CLASSPATH中將其載入),然后實例化一個Object,并造型成這個Class,這樣JVM也識別這個Class(因為 system classloader能夠定位和載入這個Class從CLASSPATH中),載入的也不是CLASSPATH中的這個Class,而是從 CLASSPATH外動態(tài)載入的,這樣總行了吧!十分不幸的是,這時會出現(xiàn)“java.lang.ClassCastException”違例。

            為 什么呢?我們也來分析一下,不錯,我們雖然從CLASSPATH外使用我們自己的classloader動態(tài)載入了這個Class,但將它的實例造型的時 候是JVM會使用system classloader來再次載入這個Class,并嘗試將使用我們的自己的classloader載入的Class的一個實例造型為system classloader載入的這個Class(另外的一個)。大家發(fā)現(xiàn)什么問題了嗎?也就是我們嘗試將從一個classloader載入的Class的一 個實例造型為另外一個classloader載入的Class,雖然這兩個Class的名字一樣,甚至是從同一個class文件中載入。但不幸的是JVM 卻認為這個兩個Class是不同的,即JVM認為不同的classloader載入的相同的名字的Class(即使是從同一個class文件中載入的)是 不同的!這樣做的原因我想大概也是主要出于安全性考慮,這樣就保證所有的核心Java類都是system classloader載入的,我們無法用自己的classloader載入的相同名字的Class的實例來替換它們的實例。

            看到這里,聰明的讀者一定想到了該如何動態(tài)載入我們的Class,實例化,造型并調用了吧!

            那 就是利用面向對象的基本特性之一的多形性。我們把我們動態(tài)載入的Class的實例造型成它的一個system classloader所能識別的父類就行了!這是為什么呢?我們還是要再來分析一次。當我們用我們自己的classloader來動態(tài)載入這我們只要把 這個Class的時候,發(fā)現(xiàn)它有一個父類Class,在載入它之前JVM先會載入這個父類Class,這個父類Class是system classloader所能識別的,根據(jù)委托機制,它將由system classloader載入,然后我們的classloader再載入這個Class,創(chuàng)建一個實例,造型為這個父類Class,注意了,造型成這個父類 Class的時候(也就是上溯)是面向對象的java語言所允許的并且JVM也支持的,JVM就使用system classloader再次載入這個父類Class,然后將此實例造型為這個父類Class。大家可以從這個過程發(fā)現(xiàn)這個父類Class都是由 system classloader載入的,也就是同一個class loader載入的同一個Class,所以造型的時候不會出現(xiàn)任何異常。而根據(jù)多形性,調用這個父類的方法時,真正執(zhí)行的是這個Class(非父類 Class)的覆蓋了父類方法的方法。這些方法中也可以引用system classloader不能識別的Class,因為根據(jù)全盤負責原則,只要載入這個Class的classloader即我們自己定義的 classloader能夠定位和載入這些Class就行了。

            這樣我們就可以事先定義好一組接口或者基類并放入CLASSPATH中,然 后在執(zhí)行的時候動態(tài)的載入實現(xiàn)或者繼承了這些接口或基類的子類。還不明白嗎?讓我們來想一想Servlet吧,web application server能夠載入任何繼承了Servlet的Class并正確的執(zhí)行它們,不管它實際的Class是什么,就是都把它們實例化成為一個Servlet Class,然后執(zhí)行Servlet的init,doPost,doGet和destroy等方法的,而不管這個Servlet是從web- inf/lib和web-inf/classes下由system classloader的子classloader(即定制的classloader)動態(tài)載入。說了這么多希望大家都明白了。在applet,ejb等 容器中,都是采用了這種機制.

            對于以上各種情況,希望大家實際編寫一些example來實驗一下。

            最后我再說點別的, classloader雖然稱為類加載器,但并不意味著只能用來加載Class,我們還可以利用它也獲得圖片,音頻文件等資源的URL,當然,這些資源必 須在CLASSPATH中的jar類庫中或目錄下。我們來看API的doc中關于ClassLoader的兩個尋找資源和Class的方法描述吧:

            public URL getResource(String name)

            用指定的名字來查找資源,一個資源是一些能夠被class代碼訪問的在某種程度上依賴于代碼位置的數(shù)據(jù)(圖片,音頻,文本等等)。

            一個資源的名字是以'/'號分隔確定資源的路徑名的。

            這個方法將先請求parent classloader搜索資源,如果沒有parent,則會在內置在虛擬機中的classloader(即bootstrap classloader)的路徑中搜索。如果失敗,這個方法將調用findResource(String)來尋找資源。

            public static URL getSystemResource(String name)

            從用來載入類的搜索路徑中查找一個指定名字的資源。這個方法使用system class loader來定位資源。即相當于ClassLoader.getSystemClassLoader().getResource(name)。

            例如:

            System.out.println(ClassLoader.getSystemResource("java/lang/String.class"));

            的結果為:

            jar:文件:/C:/j2sdk1.4.1_01/jre/lib/rt.jar!/java/lang/String.class

            表明String.class文件在rt.jar的java/lang目錄中。

            因此我們可以將圖片等資源隨同Class一同打包到jar類庫中(當然,也可單獨打包這些資源)并添加它們到class loader的搜索路徑中,我們就可以無需關心這些資源的具體位置,讓class loader來幫我們尋找了!

          【Java ClassLoader原理深入講解】相關文章:

          Java ClassLoader原理詳細分析201603-04

          2016最新java classloader詳解03-04

          小升初奧數(shù)知識講解之抽屜原理01-28

          揮桿原理03-23

          導游講解技巧04-08

          office知識講解03-18

          素描知識講解01-10

          JavaScript的課堂講解03-31

          學習Java的技巧03-05

          主站蜘蛛池模板: 百万巨鳄电影完整版| 天美影院免费看高清电视剧 | 《美容院:特殊待遇》| 61集天乩之白蛇传说免费观看| 烧仙草和龟苓膏| 赛伦1995年意大利电影 | 强奸女护士| 玉女心经3阴阳| 马龙结了三次婚| 终结电视剧全集观看| 1995激战丛林洛可·希佛帝| 《堕落的修女》完整版| 邻居的老婆完整版电视剧免费观看| 不良义姐第一季在线观看免费全集高清 | 黑暗荣耀第二季在线观看| 台湾电影《新婚之喜》| 树大根深国语| 七夜怪谈电影| 银瓶梅韩国| 一梦浮生电视剧在线观看| 全职高手第二季在线看| 坎贝奇无憾免费| 莎拉公主| 上司别暧昧| 韩国夫妇交换| 因为爱情有| 二毛驴传奇 电视剧全集免费观看| 牙医姐妹完整版免费 在线观看| 落跑甜心30集| 高清名侦探柯南:独眼的残像 | 谁能百里挑一20130427| 我的幸福婚姻| 销售的销售秘密3hd中字| 刘洋金牌 邹敬园银牌| 电影角色王凤仪| 与老公上司偷情免费看| 灿烂的花园综艺免费观看高清| 战狼6女版高清免费看| 中国结婚率创新低| 僵尸先生电影| 美景之屋6版本全集在线观看| s9797| 越狱 最后一越| 台湾版《棘手狂情》演员薛惹,恋狂情 | 手工制作丝网花| 孤单的儿媳免费观看全集| 沐浴之王演员| 《唐砖》电视剧| 凌云志志(法国)满天星| 小鸭子电影视频在线观看| 今生有你电视剧西瓜免费观看| 鱼夫的妻子 意大利| 甄嬛传45| 南北少林电影| 法国酒店实生3完整版| 韩国A片巜善良的秘书的目的| 《黛比达拉斯》1978| 妓院里的中国姑娘| 魔装学园合集| 我的最爱国语| 锵锵锵锵锵锵锵锵在线观看| 科洛弗悖论| 白色城堡电视剧在线观看| 坠落女律师电影在线观看免费 | 法国空乘5免费高清原声满天星| 你好李焕英在线观看| 我为爱狂意大利版| 私人航空在线看| 零上十八度软床| 封神英雄2| 金牌售楼小姐的秘密在线播放 | 龙潭虎穴电影| \私人女人监狱免费看| 汉末皇叔| 德云社相声春晚| 电影需要爸爸的种子免费观看| 电视剧前行者免费观看完整版| 号手就位电视剧免费观看| 惊变电影未删减版免费观看| 娇妻两根一起进3p视频| 女飞行员(法国)满天星女版在线观看 | 梅西被巴黎停赛两周| 成全完整版动漫高清免费| 中国第一鬼城| 胜算电视剧| 坎贝奇《无憾》在线观看| 兰若寺电影免费观看国语| 张韶涵易天边回忆杀暴击| 义姐是不是良女第二集观看| 苹果电影片| 86警花不雅照| 墨西哥呱达卢佩的玫瑰在线观看完整版| 小s吴奇隆| 出埃及记 马克西姆| 医院特殊待遇5中文版免费阅读| 少年骇客全集| 小小水蜜桃电视剧在线看免费观看 | 乩身全集观看| 小王子 2015 电影| 护士在办公室被躁BD在线观看 | 武大的小姐姐们| 原野电影| 抑郁症影院满天星执行秘书| 超体西瓜影音| 袁成杰电影| 强伦轩办公室女教师HD| 善良姐姐的朋友| 麻雀全集| 女员工付出5中字| 好汉秦琼| 良医第一季在线观看免费完整版| 雪恋| 倾心相印番外篇| 绝品邪医的桃花劫短剧免费观看| 一起愁愁愁全集免费观看方法 | 超星五灵侠第七季| 黑白配1080完整版免费观看| 我在北京 挺好的| 首付电视剧全集| 房奴试爱电视剧第一集开头原声| 左撇子女孩| 结城美沙| 《战争之暴行女囚》| 西安到昆明的火车事故| 欢乐喜剧人 第三季| 我的邻居姐姐第三季剧情| 小泉今日子| 红唇原唱完整版| 美女也愁嫁在线观看| 妻子出差丈夫部长在线播放| 黑蝴蝶电影完整版在线| 维也纳新年音乐会| melody和爸爸的电影| 爸爸的3次婚礼| 唐朝豪放女免费观看完整版电视剧| 美国1~5普通话| 公之浮之中字5| 武庚纪在线观看| 需要爸爸的播种 中文播放| 部长和社畜的恋情令人着急电视剧| 古董局中局 电视剧| TOTAKKAHayaKirguzux在哪听| 聊斋3众女聚之欢| 李梦出轨| 蒋玲玲版《渔夫的荒野史记》电影医ww| 《沉默的羔羊》香港版| 佛光山早课| 邪恶的武器布鲁克满天星版| 华丽上班族 电影| 隋唐英雄传第四部| 做aj的电视剧大全香港| 方糖映画| 亲爱的妈妈4韩国在线看| 斯巴达第四季39集剧情| 小豆白泽真假公主| 囧的呼唤111| 毒刺入喉电影完整版在线看免费| 佐罗满天星在线观看完整版| 情难自制在线| 虎虎的老婆| 女子学院姑娘们1983第一季| 雪中悍刀行在线免费观看| 变态女大学生| 销冠的秘密2| 好姐姐电影免费版在线看| 久保同学不放过第一季免费观看| 法国空乘1980版在线播放| 《山河月明》45集免费观看| 动画片 葫芦娃| 战狼9欧式| 《邻居的妻子》| 年轻的母亲4先韩剧| 瓜达卢佩玫瑰完整版| 寄生兽灰色部队| 高清安身何处| 私藏浪漫电视剧在线播放免费观看| 四位少妇精油按摩| 人鱼小姐国语版免费观看全集| 时光倒流七十年电影免费观看| over flowe| 夏家三千金第一部全集| 决战江南全集| 小小水蜜桃6电视连续剧| 这么多年电影免费观看| 天使的翅膀简谱| 花房姑娘第四季免费大全好看| 金瓶梅电影5完整版无删减| 陀地驱魔人结局| 二十世纪性格与X爱情观后感免费观看| 《他为什么依然单身》电视剧| 戒烟不戒酒电视剧| 毛骨悚然撞鬼经2014| 插曲痛全集高清资源下载| 绮梦之旅全集观看| 特利迦奥特曼免费观看全集普通话| 俄版《女儿国》满天星在线观看 | 农民伯伯2免费完整版电影| 爱情悠悠药草香电视剧全集| 剑来在线播放| 阜南县| 亲爱的妈妈西瓜影院| 欢乐岁月电影| 芳芳日记| 斯巴达第四季10| 泰国电视剧真爱不灭| 他在丈夫面前在线观看完整版电影| 电影6680| 东北往事之黑道风云20年15集| 谢教授短剧全集免费播放| 战狼6欧氏少女全部剧情介绍大全视频 | 狙击手拉苏尔电影免费观看完整版 | 奇怪的美容院2的完整| 河南男子与猪结婚引争议| 以爱为营1-30集免费观看| 千金赤子板栗1080p免费| 真犯 电影| 错位青春| 空姐5免费观看完整版电视剧| 王阳明40集完整版国语| 美人制造在线观看免费完整版| 南开区| 王艺迪晋级澳门冠军赛8强 | 女王之刃哪集最h| 拳击手满天星在线观看完整版| 柳舟记电视剧在线观看全集免费| 高清《英雄》在线观看完整版 | 电影《丽贝卡的秘密》在线播放| 宫锁沉香| 物质女孩电影| 总统夫人在线| 箭在弦上29集| 《热血》免费观看| 《刚结婚陪部长出差的日子》| 小时代2片尾曲| 间谍过家家樱花动漫| 《驯服》电影完整版丽卡结局是什么| 年轻的母亲在线观看韩版| 黄种人粤语| 苍兰诀在线观看完整版| 坐学霸鸡上背单词免费观看| 功夫之王电影| 老男孩电影在线观看免费完整版| 毒医肥尸| 非常小特务3国语版| 盖世英雄方世玉电影| 非诚勿扰2012414| 年的经的母8| 篮球火12| 火影忍者国语版全集高清优酷| 黑白配中文高清免费观看| 水浒传98版电视剧| 禁止的爱:善良的小姨子| 电影《私人航空》法国电影在线观看 | 电影死神来了6在线观看| 波多野吉衣电影免费看| 越战先锋在线完整版观看| 天使与龙的轮舞22| 荷尔蒙美国版9| 幸存者电影| 白鹿原全集免费播放| 神木丽急诊待遇2电影完整版| 你是迟来的欢喜免费观看| 纸箱包子| 老男孩之猛龙过江西瓜影音| 三年大片免费完整版| 一家老小向前冲2010| 时光正好电视剧在线观看| 肉蔻之香1意大利完整版| 冲出月亮岛35集| 七夕潘甜甜牛郎织女资源| 巜我的大胸女友HD| 易易亲| 西班牙《女孩们》| 摸金爵之卧龙诡阵电影| 奇妙的发型屋中字韩国| 婆婆的味道大结局| 黄家驹歌曲| 千年迷局| 95se| 从失乐园开出的地铁| 茶啊二中| 中文字Dl幕岳在线观看| 鉴证实录1| 你真漂亮韩剧全集| 壮丁也是兵演员表| 《侄女的开发日记》动漫免费观看 | 动物特工局| 藏族踢踏舞组合| 三对一韩国在线观看| 桔子电影网| 远离人群的地方| 女儿国满天星版 美国| 太阳星辰粤语免费观看网站| 老电影歌曲| 蛮好的人生在线观看免费高清电影 | 母亲5免费完整高清电视剧在线看| 美国三片在线播放免费| 《旷野之物》朴智炫| 美丽人妻在超市被春药| 速度与激情11| 《红高粱》| 诱人的老师4| 李月华主演的电影在线看| 西出玉门40集全免费播放| senima| 基层风云| 各位游客请注意| 人民的名义2| 僵尸满天星| 在异世界迷宫开后宫动漫在线观看| 电视剧幸福生活万年长| 妈妈的职业2观看全集免费高清| 画皮2011| 米奇电影| 酒神小姐| 《她被搬运工侵犯》在线看| 语义错误无删减全集在线观看| 十天十夜剧情| 扬中市| 法国《女军医》满天星免费观看| 电影部长出差的日子线观看| 《今天的她们》电视剧| 外卖员的特殊待遇在线观看| 心跳源计划在线观看完整版| 匿杀电影| 离婚协议电视剧全集| 天海翼 秘密搜查官在线| 三国创世录| 被一群人尿在子宫里| 女版《斯巴达》成在线观看| 持有至到期投资| 魔道祖师全集免费观看高清| 辣椒与泡菜演员表| 安斋拉拉作品在线观看 | 正镶白旗| 香奈儿版满天星古墓丽影| 给我免费播放的电影在线观看 | 女版霹雳娇娃满天星免费观看| 深宫绣娘| 天地传说之鱼美人电视剧| 蜜桃成熟期| 销冠的秘密3在线观看| 明日战记电影免费观看完整版| 《漂白》| 疯狂元素城| 工藤拉拉电影在线| 慈禧电影| 年轻的母亲4韩剧免费中文版| 禁忌1年转一代| 弹珠警察全集| 我在秋斩刑场当缝尸人那些 年| 向流星许愿的我们未删减| 需要爸爸种子电影| 再见妈妈韩剧| 播放双女任务| 春娇救志明| 花琉璃电视剧全集免费播放| 墨西哥剧瓜达卢佩的玫瑰免费观看| 《老公的秘密》大结局| 小姬无人宠| 野花全集未删减版| 哇嘎电影免费观看国语高清 | 被合租刑警的粗汉肉H高NP| 深海利剑全集| 《妻子与游泳教练》主演是谁瑜伽教| 2001太空漫游电影| 一诺倾情泰剧电视剧在线观看免费| 高清《我的个神啊》| 俄罗斯黑白配| 沈阳现万米丁达尔效应| 海贼王969| 法国《高压监狱》2| 玫瑰的故事免费观看完整版| 魔女2在线播放免费观看完整版| 少女之森电影免费播放| 我的游泳女教练在线观看| 白狐电影在线观看| 那山那人那狗电影| 名门闺秀短剧全集| 奸嬷者| 法医王妃:验尸断案无人及短剧全集| 宋小宝最新小品全集| 修理工的艳遇电影 | 甲铁城的卡巴内瑞第一季在线观看| 黑白森林国语| 伊波拉病毒2(国语版)| 情欲公寓| 河南男子与猪结婚引争议| 成龙历险记中文版| 黑白配中文版免费高清| 《正在缩小的男人》| 濑户之花嫁| 熊出没环球大冒险| 《私人航空》在线看法国| 间宫夕贵| 知源中医| 精绝古城免费完整版| 老湿影院放映黒人男子,。大屌猛播美女髙清视频免费看 | 我的漂亮的瘦子5HD中字_午夜电影全集_完整版免费在线观看-天天影院 | 《法国女仆》安娜的扮演者 | 电影灯草和尚高清免费普通话版| 妻子的秘密中字| 小小水蜜桃电6视剧观看| 家族的荣光| 地心历险记2 720P| 麻豆AV《修车艳遇》在线观看| 高清《仙逆剧场版 神临之战》电影| 毛驴县令之你我他| 法律与秩序特殊受害者| 激战酒店1-5集观看视频| 杰克逊经典歌曲下载| 电影《北纬三十八度》| 狙击手在线观看| 抽曲的痛免费观看完整版海外| 小城大事电视剧在线观看免费| 美人心计全集在线观看| 《人妻初次按摩忍不住| 红尘情歌原唱| 莫妮卡《爱我几何》电影免费| 一门三司令全集| 星梦奇缘剧情简介| 《饥饿难耐2》| 赤狐书生免费观看全集| 速度与激情3| 张惠妹演唱会2013| 我的特一营40集免费观看| 巨茎挺进李淑芬小泬| 张昊唯暂停演艺工作| 中国教育考试网官网登录入口| 公之浮之手中字9| 销售的销售秘密4中字| 需要爸爸的种子在线观看电影| 福尔摩斯先生体内的恶魔| 爱人 韩国电影 快播| 隐密的角落| 侄女的开发日记免费动漫观看| 漂亮的保姆韩国完整版观看| 周二谋杀定律全集观看| 金银1-5普通话少女潘| 一人之下之锈铁免费观看| 《女销售的销售秘密2》| 奔跑吧兄弟第一期| 环翠峪门票| 凯登·克劳丝-Kayden壮志凌云| 纵情欲海2电影无删减版| 梦境之树| 电视剧西出玉门在线观看| 二对一商务模式2聚集 | 在线免费观看斗罗大陆| 电视剧猎狼十二钗| 最棒的情人沼,不关乎工作与家庭| 环太平洋迅雷下载| 马斯克回应儿子想与自己断绝关系| 冲浪企鹅百度影音| 日韩做Aj的视频免费观看| 年轻老师2| 芭比公主之十二| 舒淇电影| 瓜达卢佩玫瑰在线| 一个女被3个男人轮流打耳光| 女友的妈妈 双字id| 飞哥大英雄全集在线观看| 斗罗大陆高清免费观看全集| 《私人助理2》| 她的初恋| 凉宫春日| 《需要爸爸播种子》高清完整版免费在线观看-电影频道 - 光棍影院 | 我们高清观看免费韩国片| 麻将电影| 坎贝奇品味人生在线观看免费高清| 薛平贵与王宝钏47| 我和黑大佬的365天| 暴躁老妈46集全白话免费看| 茜拉 洋葱| 永康市| 猪猪侠第二季| 从结婚开始恋爱免费播放电视剧| 插曲的痛30集全集免费中文字 | 女老师5| 《外出》免费观看完整| 告密者在线观看完整版电影| 女篮决赛| 天柱剑毫| 战狼6免费观看网站| 《借钱2》妈妈| 家有大姐| 97在线观看免费高清电视剧网站 | 夏日晚晴天全集| 安道尔大公| 八尺夫人1986年意大利演员表 | 人民的名义未删减版有多少集| 末日骑士电视剧| 水电工艳遇电影免费看| 不忠韩剧| 新白发魔女传结局| 上海重症高峰慢慢出现| 同学聚会2电影完整版结局在线看免费| 动漫人物将机机插曲漫画图片| 河南一家6口被杀 警方通报| 少林僵尸2| 粉红大白菜在线观看 | 出轨同学会4| 《爱我几何》原版免费观看| 后营露宿第8集| 赵薇的15首经典老歌| 东北往事之黑道风云20年21集| 《特殊快递员》| 动感之星妖精168集在线看 | 我的父亲母亲大结局剧情介绍| 新抱喜相逢粤语| 双人调情接摩术电影| 辣妈正传快播| 乳品分类| 无颜之月免费观看完整版影视| 女房东的滋味| 陆战特攻| 善良的嫂子41| 恶夜活死鸡| 浪漫女家教免费完整电视剧在线观看 | 牵牛的夏天第二部| 美国娃娃脸4美版| 警探迷案| 《丈夫邀部长来家吃饭》日剧中文版2. | 朝国年轻的继5免费观看| 《味道》电影| 战狼6免费版高清播放| 指环王1:护戒使者免费| 韩剧风格| adn-018| 桂阳县| 美丽小蜜桃5免费播放全集电视剧| 画江湖之天罡在线观看高清免费| 快乐星球全集| 两只手一个舌头让你快乐| 巜商务旅行女老板戴绿色帽的 | 新生悬疑剧在线观看| 上错花骄嫁对郎| 欧式少女第16集全集高清版观看视频 | 紫阳县| 贝坎奇品味人生| 电视剧 原谅| 中华警花| 美丽的水蜜桃2英文翻译300字| 歼灭天际线57集免费播放下载| 魔唇劫无删减国语电视剧免费观看| 调查韩国总统夫人的反腐官员身亡| 夺命枪火 电影| 怀特安吉拉高清在线观看| 公孚之手中字9| 隐藏的面孔2024电影| 龙猫电影完整免费普通话在线观看| 电视剧湄公河大案| 0verflower第一季真人版| 高清《女仆小姐的贪吃日常》电视剧 | 三级片替夫还债的家庖妇女| 绝世唐门1| 息县县委书记金平去向| 苹果电影完整版视观看| 《示范销售避孕套》剧情介| 妈妈的职业免费电影| 笔仙咒怨| 韩国18禁电影少女们的痛苦| 黑白配国语版免费观看全集| 男按摩师电影完整版免费观看| 专家谈济南不明飞行物坠落| 调查韩国总统夫人的反腐官员身亡| 情欲春宵在线观看免费| 成人版白雪公主无删减在线播放| 我的青梅竹马是消防员完整版| 朋友的妈妈在线观看完整版| 隔离区2| 酋长的女儿红辣椒| 金银梅视频| 兔子帮图片| 庆余年第二季免费看全集| 电视剧西出玉门在线观看| 束缚游戏无删减版| 聊斋志异电影香港高清版| 与玛格丽特的午后| 热情的邻居| 世界杯巴西对克罗地亚| 艺校女学生滋味1~10| 《浴血黑帮:不朽传奇》| 海扁王2百度影音| 勿扰警告| 《荷尔蒙》6中文版| 《替夫还债》的日本电影中文| 苏菲亚公主第二季中文版| 复制娇妻下载| 新金瓶梅2009| 金瓶梅之爱的供养| 一脸嫌弃| 成全高清免费动漫观看| 寂寞午夜影院| 当我飞奔向你在线观看| 小蜜桃五| 特殊美容室2| 夏家三千金主演| 电锯惊魂9完整版在线观看| 《激战丛林》完整版在线播放| 落魄的贵族琉璃川观看| 仙尊的掌心宠全集免费| 日喀则怎么读| 拜见岳父大人1电影| 巨茎挺进李淑芬高清视频-迅雷看看在 | 恋焰风暴泰剧普通话版在线观看| 风中的女王| 爱情公寓5在线观看免费完整版| 三姐妹请家政免费播放| 韩国游泳池做爱| 东成西就2011国语高清| 门第电视剧高清全集| 巴拿马裁缝| 辛集市| 保罗1—3| 热搜女王| 梦比优斯奥特曼国语全集| 《裂口女》大结局| 《爸爸种子2》英文翻译| 安徽泗县地图| 《魔力宝贝监狱》在线观看| 日本潜入搜救官6搜查官电影免费观看| 午夜情缘| 乡下 乱 仑| 《《李宗瑞全集》在线观看》高清视| 《完美无瑕》莫妮卡满天星| 光立方程序| 嫂子的职业在线看| 子弹慢镜头| 两个人免费完整版在线观看| 《女超人》麦乐迪版观看网站| 大头儿子小头爸爸第二部全集| 朋友的妈妈2线在线播放| 暴躁老妈全集免费观看| 暗夜守护者| 老男孩父子篇| 三年免费观看在线观看高清| 蜜桃成语时李丽珍粤语免费播放| 第一夫人| 出差遇见渣男前任完整版| 按在桌子上糟践的视频| 立花里子番号| 我的女友是机器人在线| 人猿泰山HR版未删减版下载 | 《绝对权力》在线观看| 终结者1在线完整免费观看| 康体水疗1978原版电影| 大胆美鲍| 魔角侦探| 《百劫红颜》| 母亲吃中药母乳喂养婴儿核酸转阴 | 罪罚在线观看完整版全集40| 我是特种兵之火凤凰在线观看| 高清《以猫饲爱》电视剧| 致命弯道3百度影音| 《家庭矛盾4》麦乐迪观看视频| 欲望少女运动会攻略| 分手后程医生哭出鼻涕泡短剧免费| 豺狼的日子 第一季 电视剧| 广岛罹难者的哀歌| 比尔HR版满天星| 傲骨贤妻在线观看免费完整版| 沉香如屑开播| 学生大雨中军训老师打伞围观| 撒娇女人最好命短剧全集免费观看| 暴躁老妈1-46集全集免费播放| 最强狂兵电视剧| 花非花雾非雾下载mp4| 神探夏洛克可恶的新娘字幕| 白燕升个人演唱会| 《倔强驱魔师》1-4集在线观看免费视| 潍坊科技学院女生跳舞| face gossip安卓版| 女生腹泻未在意5天后心脏停跳| 土剧另一面的我免费看| xl司令第一季全集在线观看完整版免费动漫| 《激战丛林》完整版在线观| 乡村爱情10全集免费版播放视频| 至尊红颜电视剧| 新 还珠格格| 凌云壮志满天星在线观看| 美国式家庭禁忌1-6| 年轻的母亲2中字巴巴鱼汤饭惹人 民国奇探西瓜免费观看 | 三年大片中文在线观看免费国语全集 | 《斗罗大陆》全集完整版免费观看| 3d肉铺之极乐宝鉴| 美国式保罗2 原版| 乡村小媳妇全集免费| 李大霄:今天A股行情不太正常| 婚里婚外那些事| 和讨厌的部长一起去出差旅电影在线观看 | 电影金刚归来| 贺军翔主演电视剧| 我在北京挺好的剧情分集介绍| 麦乐迪版满天星无删减观看 | 魔鬼天使 杨思敏| 新荡女花妮| 九品芝麻官电影| 佘诗曼吹哨召唤张智霖| 水卜樱剧情解析图解gif| 前妻的救赎短剧在线观看| 电影借种| 长月无烬免费观看完整版| 两个世界泰剧双男主电视剧在线看 | 烟花巷里禁忌之恋| 临时劫案在线观看国语高清免费| 电影《偷香》完整版| 骨语2电视剧在线播放免费完整版 韩剧《家庭教师》免费观看全集 猎狼者 电视剧 | overlower第一季在线观看完整版| 镰仓物语免费观看完整版| 杜鹃的婚约第二季| 终极证据电视剧| 金星秀胡歌| 坎贝奇第二部曲品味人生电影在线| 军事不当行为2017法国啄木鸟| 唐朝艳妃杨贵妃外传电影在线观看| 湖南卫视《狂飙》| 闪电五连鞭| 在厨房和空调修理工 | 大奉打更人电视剧免费高清版| 最后的深爱韩国电影| 《韩国财阀》免费播放| 《丰胸沙龙治疗3》HD无字高清完整版 | 看见爱台剧有无删减版本| 爱你没商量| 小米3与小米2s对比| 正阳门下全集下载| 女仆在线观看完整免费高清原声满天星奔跑吧ep | 喜羊羊与灰太狼心世界奇遇| 地铁笨蛋4视频| 女大学生兼职| 无颜之月免费观看完整版电视剧| melody女超人| HD版泰山《激战丛林》完整版免费兵王影视| 赶尸艳谈迅雷下载| 青梅竹马是消防员无删1| 麦乐迪满天星HD版| 更衣服人偶坠入爱河| 跟部长出差的温泉之旅在线观看| 叛逆者电视剧全集免费观看完整版| 新藤惠美| 战狼6高清完整免费观看国语| 《色降》关秀媚无删减| 虹猫蓝兔火凤凰配音| 美妙旋律第二季44| 银河奥特曼剧场版| 房间里的二人世界原声| 我一边做饭一边被躁了男男| 《少林寺》| 罗曼史 快播| 不文女学堂蒙嘉慧| 女超人麦乐迪在线完整版免费观看 | 女人最痛结局| 高压监狱二在线观看完整免费| 《需要爸爸播种子》HD高清完整版在线观看 - 热门电影播放 - 优看影选网 | 七夜雪电视剧全集免费播放| 古惑仔之fing头妹| 在远方 电视剧| 影片《夫妻的快乐旅游》在线观看 | 纯白交响曲| 魔鬼女集中营| 古典辣妹 victory| 电影美容院的特殊待遇| 未知| 花开有声电视剧全集| 修罗战神:谁敢动我家人全集免费| 第八个嫌疑人演员表| 播放曹操| 王多鱼的视频高清视频| 武训传电影| 姥姥的外孙泰剧在线观看| 游击兵工厂全集| 恶夜活死鸡| 浮之手HD版免费观看| 九一麻花传剧mv在线看看第一集| 名侦探柯南国语版全集优酷| 医妃不好惹短剧全集| 等一个晴天说再见| 电影女机器人| 好姑娘1| 战狼4在线播放免费完整| 张雨绮4分钟未删减版| u9免费看电影| 张帝问答演唱会| 图片| 站着再来一次26集更新时间| 带我飞 林志玲| 欢乐颂2| 特殊的精华油5中字| 放学后的屋顶国语| 错爱 余文乐 下载| 魔法 动漫| 我要爸爸的种子韩剧全集免费观看| 八仙全传下载| 我邻居的妻子| 富贵男贫穷女| 日韩aj| 使徒行者3在线观看国语| 侏罗纪世界重生| 亲爱的妈妈3高清HD| 姐妹牙医1986| 唐探1900电影在线观看 | 《特殊游泳教练》免费观看下拉| 水月洞天第3部| 影子爱人电影| tobu8XXⅩHD| 用身体偿还客户社长| 《淘气的女孩也需要爱》| 哆啦a梦大电影国语全集| 女友的妈妈女主演员是谁| 屋顶上的吻| 武训传免费| 为我播放| 美式忌讳5—7| 我的远房表妹| 《混凝土市场》| 女儿的朋友1在完整有限中字 | 在异世界迷宫开后宫动漫在线观看 | 秘密10| 生死迷局在线观看| 欲罢不能第五季| 房奴试爱智恩开头| 夫妻那些事免费播放完整版电视剧| 我和我的祖国免费| 巴黎恋歌| 性解秘| 聊斋志异之颠龙鸾凤颠鸾倒凤 | 桃色凶器| 成全视频观看免费高清动漫第8季在线| 光辉岁月电影| 家族荣誉4国语| 下家三千金| 佳同译图| 法国电影墨菲定律| hhh555现在叫什么| 你是我的姐妹| 唐朝诡事录2官宣| 舒淇的电影免费观看| 苍老师免费观看全部电影| 老阿姨在线观看免费版电视剧| 权游前传龙族第二季| 街头霸王 暗杀拳| 军事不当啄木鸟满天星法版| 全金属外壳在线观看完整版免费| 加勒比女海盗1免费观看高清完整版| 圣斗士星矢冥王神话国语版| 牙医姐妹高清完整版在线观看| 刘青云电影| 金瓶梅电影百度影音| 史蒂文·斯崔特| 蓝色隐形帽子电影免费|