<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垃圾收集算法與內存泄露的解決方法

          時間:2024-10-16 09:46:10 SUN認證

          JAVA垃圾收集算法與內存泄露的解決方法

            對于垃圾收集算法與內存泄露的問題,下面為大家整理了關于JAVA垃圾收集算法與內存泄露解決方法,希望對你有所幫助。

          JAVA垃圾收集算法與內存泄露的解決方法

            1.垃圾收集算法的核心思想

            Java語言建立了垃圾收集機制,用以跟蹤正在使用的對象和發現并回收不再使用(引用)的對象。該機制可以有效防范動態內存分配中可能發生的兩個危險:因內存垃圾過多而引發的內存耗盡,以及不恰當的內存釋放所造成的內存非法引用。

            垃圾收集算法的核心思想是:對虛擬機可用內存空間,即堆空間中的對象進行識別,如果對象正在被引用,那么稱其為存活對象,反之,如果對象不再被引用,則為垃圾對象,可以回收其占據的空間,用于再分配。垃圾收集算法的選擇和垃圾收集系統參數的合理調節直接影響著系統性能,因此需要開發人員做比較深入的了解。

            2.觸發主GC(Garbage Collector)的條件

            JVM進行次GC的頻率很高,但因為這種GC占用時間極短,所以對系統產生的影響不大。更值得關注的是主GC的觸發條件,因為它對系統影響很明顯。總的來說,有兩個條件會觸發主GC:

            ①當應用程序空閑時,即沒有應用線程在運行時,GC會被調用。因為GC在優先級最低的線程中進行,所以當應用忙時,GC線程就不會被調用,但以下條件除外。

            ②Java堆內存不足時,GC會被調用。當應用線程在運行,并在運行過程中創建新對象,若這時內存空間不足,JVM就會強制地調用GC線程,以便回收內存用于新的分配。若GC一次之后仍不能滿足內存分配的要求,JVM會再進行兩次GC作進一步的嘗試,若仍無法滿足要求,則 JVM將報“out of memory”的錯誤,Java應用將停止。

            由于是否進行主GC由JVM根據系統環境決定,而系統環境在不斷的變化當中,所以主GC的運行具有不確定性,無法預計它何時必然出現,但可以確定的是對一個長期運行的應用來說,其主GC是反復進行的。

            3.減少GC開銷的措施

            根據上述GC的機制,程序的運行會直接影響系統環境的變化,從而影響GC的觸發。若不針對GC的特點進行設計和編碼,就會出現內存駐留等一系列負面影響。為了避免這些影響,基本的原則就是盡可能地減少垃圾和減少GC過程中的開銷。具體措施包括以下幾個方面:

            (1)不要顯式調用System.gc()

            此函數建議JVM進行主GC,雖然只是建議而非一定,但很多情況下它會觸發主GC,從而增加主GC的頻率,也即增加了間歇性停頓的次數。

            (2)盡量減少臨時對象的使用

            臨時對象在跳出函數調用后,會成為垃圾,少用臨時變量就相當于減少了垃圾的產生,從而延長了出現上述第二個觸發條件出現的時間,減少了主GC的機會。

            (3)對象不用時最好顯式置為Null

            一般而言,為Null的對象都會被作為垃圾處理,所以將不用的對象顯式地設為Null,有利于GC收集器判定垃圾,從而提高了GC的效率。

            (4)盡量使用StringBuffer,而不用String來累加字符串(詳見blog另一篇文章JAVA中String與StringBuffer)

            由于String是固定長的字符串對象,累加String對象時,并非在一個String對象中擴增,而是重新創建新的String對象,如Str5=Str1+Str2+Str3+Str4,這條語句執行過程中會產生多個垃圾對象,因為對次作“+”操作時都必須創建新的String對象,但這些過渡對象對系統來說是沒有實際意義的,只會增加更多的垃圾。避免這種情況可以改用StringBuffer來累加字符串,因StringBuffer是可變長的,它在原有基礎上進行擴增,不會產生中間對象。

            (5)能用基本類型如Int,Long,就不用Integer,Long對象

            基本類型變量占用的內存資源比相應對象占用的少得多,如果沒有必要,最好使用基本變量。

            (6)盡量少用靜態對象變量

            靜態變量屬于全局變量,不會被GC回收,它們會一直占用內存。

            (7)分散對象創建或刪除的時間

            集中在短時間內大量創建新對象,特別是大對象,會導致突然需要大量內存,JVM在面臨這種情況時,只能進行主GC,以回收內存或整合內存碎片,從而增加主GC的頻率。集中刪除對象,道理也是一樣的。它使得突然出現了大量的垃圾對象,空閑空間必然減少,從而大大增加了下一次創建新對象時強制主GC的機會。

            4.gc與finalize方法

            ⑴gc方法請求垃圾回收

            使用System.gc()可以不管JVM使用的是哪一種垃圾回收的算法,都可以請求Java的垃圾回收。需要注意的是,調用System.gc()也僅僅是一個請求。JVM接受這個消息后,并不是立即做垃圾回收,而只是對幾個垃圾回收算法做了加權,使垃圾回收操作容易發生,或提早發生,或回收較多而已。

            ⑵finalize方法透視垃圾收集器的運行

            在JVM垃圾收集器收集一個對象之前 ,一般要求程序調用適當的方法釋放資源,但在沒有明確釋放資源的情況下,Java提供了缺省機制來終止化該對象釋放資源,這個方法就是finalize()。它的原型為:

            protected void finalize() throws Throwable

            在finalize()方法返回之后,對象消失,垃圾收集開始執行。原型中的throws Throwable表示它可以拋出任何類型的異常。

            因此,當對象即將被銷毀時,有時需要做一些善后工作。可以把這些操作寫在finalize()方法里。

            java 代碼

            protected void finalize()

            {

            // finalization code here

            }

            ⑶代碼示例

            java 代碼

            class Garbage{

            int index;

            static int count;

            Garbage() {

            count++;

            System.out.println("object "+count+" construct");

            setID(count);

            }

            void setID(int id) {

            index=id;

            }

            protected void finalize() //重寫finalize方法

            {

            System.out.println("object "+index+" is reclaimed");

            }

            public static void main(String[] args)

            {

            new Garbage();

            new Garbage();

            new Garbage();

            new Garbage();

            System.gc(); //請求運行垃圾收集器

            }

            }

            5.Java 內存泄漏

            由于采用了垃圾回收機制,任何不可達對象(對象不再被引用)都可以由垃圾收集線程回收。因此通常說的Java 內存泄漏其實是指無意識的、非故意的對象引用,或者無意識的對象保持。無意識的對象引用是指代碼的開發人員本來已經對對象使用完畢,卻因為編碼的錯誤而意外地保存了對該對象的引用(這個引用的存在并不是編碼人員的主觀意愿),從而使得該對象一直無法被垃圾回收器回收掉,這種本來以為可以釋放掉的卻最終未能被釋放的空間可以認為是被“泄漏了”。

            考慮下面的程序,在ObjStack類中,使用push和pop方法來管理堆棧中的對象。兩個方法中的索引(index)用于指示堆棧中下一個可用位置。push方法存儲對新對象的引用并增加索引值,而pop方法減小索引值并返回堆棧最上面的元素。在main方法中,創建了容量為64的棧,并64次調用push方法向它添加對象,此時index的值為64,隨后又32次調用pop方法,則index的值變為32,出棧意味著在堆棧中的空間應該被收集。但事實上,pop方法只是減小了索引值,堆棧仍然保持著對那些對象的引用。故32個無用對象不會被GC回收,造成了內存滲漏。

            java 代碼

            public class ObjStack {

            private Object[] stack;

            private int index;

            ObjStack(int indexcount) {

            stack = new Object[indexcount];

            index = 0;

            }

            public void push(Object obj) {

            stack[index] = obj;

            index++;

            }

            public Object pop() {

            index--;

            return stack[index];

            }

            }

            public class Pushpop {

            public static void main(String[] args) {

            int i = 0;

            Object tempobj;

            //new一個ObjStack對象,并調用有參構造函數。分配stack Obj數組的空間大小為64,可以存64個對象,從0開始存儲

            ObjStack stack1 = new ObjStack(64);

            while (i < 64)

            {

            tempobj = new Object();//循環new Obj對象,把每次循環的對象一一存放在stack Obj數組中。

            stack1.push(tempobj);

            i++;

            System.out.println("第" + i + "次進棧" + " ");

            }

            while (i > 32)

            {

            tempobj = stack1.pop();//這里造成了空間的浪費。

            //正確的pop方法可改成如下所指示,當引用被返回后,堆棧刪除對他們的引用,因此垃圾收集器在以后可以回收他們。

            /*

            * public Object pop() {index - -;Object temp = stack [index];stack [index]=null;return temp;}

            */

            i--;

            System.out.println("第" + (64 - i) + "次出棧" + " ");

            }

            }

            }

            6.如何消除內存泄漏

            雖然Java虛擬機(JVM)及其垃圾收集器(garbage collector,GC)負責管理大多數的內存任務,Java軟件程序中還是有可能出現內存泄漏。實際上,這在大型項目中是一個常見的問題。避免內存泄漏的第一步是要弄清楚它是如何發生的。本文介紹了編寫Java代碼的一些常見的內存泄漏陷阱,以及編寫不泄漏代碼的一些最佳實踐。一旦發生了內存泄漏,要指出造成泄漏的代碼是非常困難的。因此本文還介紹了一種新工具,用來診斷泄漏并指出根本原因。該工具的開銷非常小,因此可以使用它來尋找處于生產中的系統的內存泄漏。

            垃圾收集器的作用

            雖然垃圾收集器處理了大多數內存管理問題,從而使編程人員的生活變得更輕松了,但是編程人員還是可能犯錯而導致出現內存問題。簡單地說,GC循環地跟蹤所有來自“根”對象(堆棧對象、靜態對象、JNI句柄指向的對象,諸如此類)的引用,并將所有它所能到達的對象標記為活動的。程序只可以操縱這些對象;其他的對象都被刪除了。因為GC使程序不可能到達已被刪除的對象,這么做就是安全的。

            雖然內存管理可以說是自動化的,但是這并不能使編程人員免受思考內存管理問題之苦。例如,分配(以及釋放)內存總會有開銷,雖然這種開銷對編程人員來說是不可見的。創建了太多對象的程序將會比完成同樣的功能而創建的對象卻比較少的程序更慢一些(在其他條件相同的情況下)。

            而且,與本文更為密切相關的是,如果忘記“釋放”先前分配的內存,就可能造成內存泄漏。如果程序保留對永遠不再使用的對象的引用,這些對象將會占用并耗盡內存,這是因為自動化的垃圾收集器無法證明這些對象將不再使用。正如我們先前所說的,如果存在一個對對象的引用,對象就被定義為活動的,因此不能刪除。為了確保能回收對象占用的內存,編程人員必須確保該對象不能到達。這通常是通過將對象字段設置為null或者從集合(collection)中移除對象而完成的。但是,注意,當局部變量不再使用時,沒有必要將其顯式地設置為null。對這些變量的引用將隨著方法的退出而自動清除。

            概括地說,這就是內存托管語言中的內存泄漏產生的主要原因:保留下來卻永遠不再使用的對象引用。

            典型泄漏

            既然我們知道了在Java中確實有可能發生內存泄漏,就讓我們來看一些典型的內存泄漏及其原因。

            全局集合

            在大的應用程序中有某種全局的數據儲存庫是很常見的,例如一個JNDI樹或一個會話表。在這些情況下,必須注意管理儲存庫的大小。必須有某種機制從儲存庫中移除不再需要的數據。

            這可能有多種方法,但是最常見的一種是周期性運行的某種清除任務。該任務將驗證儲存庫中的數據,并移除任何不再需要的數據。

            另一種管理儲存庫的方法是使用反向鏈接(referrer)計數。然后集合負責統計集合中每個入口的反向鏈接的數目。這要求反向鏈接告訴集合何時會退出入口。當反向鏈接數目為零時,該元素就可以從集合中移除了。

            緩存

            緩存是一種數據結構,用于快速查找已經執行的操作的結果。因此,如果一個操作執行起來很慢,對于常用的輸入數據,就可以將操作的結果緩存,并在下次調用該操作時使用緩存的數據。

            緩存通常都是以動態方式實現的,其中新的結果是在執行時添加到緩存中的。典型的算法是:

            檢查結果是否在緩存中,如果在,就返回結果。

            如果結果不在緩存中,就進行計算。

            將計算出來的結果添加到緩存中,以便以后對該操作的調用可以使用。

            該算法的問題(或者說是潛在的內存泄漏)出在最后一步。如果調用該操作時有相當多的不同輸入,就將有相當多的結果存儲在緩存中。很明顯這不是正確的方法。

            為了預防這種具有潛在破壞性的設計,程序必須確保對于緩存所使用的內存容量有一個上限。因此,更好的算法是:

            檢查結果是否在緩存中,如果在,就返回結果。

            如果結果不在緩存中,就進行計算。

            如果緩存所占的空間過大,就移除緩存最久的結果。

            將計算出來的結果添加到緩存中,以便以后對該操作的調用可以使用。

            通過始終移除緩存最久的結果,我們實際上進行了這樣的假設:在將來,比起緩存最久的數據,最近輸入的數據更有可能用到。這通常是一個不錯的假設。

            新算法將確保緩存的容量處于預定義的內存范圍之內。確切的范圍可能很難計算,因為緩存中的對象在不斷變化,而且它們的引用包羅萬象。為緩存設置正確的大小是一項非常復雜的任務,需要將所使用的內存容量與檢索數據的速度加以平衡。

            解決這個問題的另一種方法是使用java.lang.ref.SoftReference類跟蹤緩存中的對象。這種方法保證這些引用能夠被移除,如果虛擬機的內存用盡而需要更多堆的話。

            ClassLoader

            Java ClassLoader結構的使用為內存泄漏提供了許多可乘之機。正是該結構本身的復雜性使ClassLoader在內存泄漏方面存在如此多的問題。ClassLoader的特別之處在于它不僅涉及“常規”的對象引用,還涉及元對象引用,比如:字段、方法和類。這意味著只要有對字段、方法、類或ClassLoader的對象的引用,ClassLoader就會駐留在JVM中。因為ClassLoader本身可以關聯許多類及其靜態字段,所以就有許多內存被泄漏了。

            確定泄漏的位置

            通常發生內存泄漏的第一個跡象是:在應用程序中出現了OutOfMemoryError。這通常發生在您最不愿意它發生的生產環境中,此時幾乎不能進行調試。有可能是因為測試環境運行應用程序的方式與生產系統不完全相同,因而導致泄漏只出現在生產中。在這種情況下,需要使用一些開銷較低的工具來監控和查找內存泄漏。還需要能夠無需重啟系統或修改代碼就可以將這些工具連接到正在運行的系統上。可能最重要的是,當進行分析時,需要能夠斷開工具而保持系統不受干擾。

            雖然OutOfMemoryError通常都是內存泄漏的信號,但是也有可能應用程序確實正在使用這么多的內存;對于后者,或者必須增加JVM可用的堆的數量,或者對應用程序進行某種更改,使它使用較少的內存。但是,在許多情況下,OutOfMemoryError都是內存泄漏的信號。一種查明方法是不間斷地監控GC的活動,確定內存使用量是否隨著時間增加。如果確實如此,就可能發生了內存泄漏。

            拓展:

            java垃圾回收機制是怎樣的

            手動管理內存

            在介紹現代版的垃圾回收之前,我們先來簡單地回顧下需要手動地顯式分配及釋放內存的那些日子。如果你忘了去釋放內存,那么這塊內存就無法重用了。這塊內存被占有了卻沒被使用。這種場景被稱之為內存泄露。

            下面是用C寫的一個手動管理內存的簡單例子:

            int send_request()

            {

            size_t n = read_size();

            int *elements = malloc(n * sizeof(int));

            if(read_elements(n, elements) < n)

            { // elements not freed! return -1; } // … free(elements)

            return 0;}

            可以看到,你很容易就會忘了釋放內存。內存泄露曾經是個非常普遍的問題。你只能通過不斷地修復自己的代碼來與它們進行抗爭。因此,需要有一種更優雅的方式來自動釋放無用內存,以便減少人為錯誤的可能性。這種自動化過程又被稱為垃圾回收(簡稱GC)。

            智能指針

            自動垃圾回收早期的一種實現便是引用計數。你知曉每一個對象被引用了幾次,當計數器歸0的時候,這個對象就可以被安全地回收掉了。C++的共享指針就是一個非常著名的例子:

            11int send_request() { size_t n = read_size(); stared_ptrelements = make_shared(); if(read_elements(n, elements) < n) { return -1; } return 0;}

            我們使用的sharedptr會記錄這個對象被引用的次數。如果你將它傳遞給別人則計數加一,當它離開了作用域后便會減一。一旦這個計數為0,sharedptr會自動地刪除底層對應的vector。當然這只是個示例,因為也有讀者指出來了,這個在現實中是不太可能出現的,但作為演示是足夠了。

            自動內存管理

            在上面的C++代碼中,我們還得顯式地聲明我們需要使用內存管理。那如果所有的對象都采用這個機制會怎樣呢?那簡直就太方便了,這樣開發人員便無需 考慮清理內存的事情了。運行時會自動知曉哪些內存不再使用了,然后釋放掉它。也就是說,它自動地回收了這些垃圾。第一代的垃圾回收器是1959年Lisp 引入的,這項技術迄今為止一直在不斷演進。

            引用計數

            剛才我們用C++的共享指針所演示的想法可以應用到所有的對象上來。許多語言比如說Perl, Python以及PHP,采用的都是這種方式。這個通過一張圖可以很容易說明:

            綠色的云代表的是程序中仍在使用的對象。從技術層面上來說,這有點像是正在執行的某個方法里面的局部變量,亦或是靜態變量之類的。不同編程語言的情況可能會不一樣,因此這并不是我們關注的重點。

            藍色的圓圈代表的是內存中的對象,可以看到有多少對象引用了它們。灰色圓圈的對象是已經沒有任何人引用的了。因此,它們屬于垃圾對象,可以被垃圾回收器清理掉。

            看起來還不錯對吧?沒錯,不過這里存在著一個重大的缺陷。很容易會出現一些孤立的環,它們中的對象都不在任何域內,但彼此卻互相引用導致引用數不為0。下面便是一個例子:

            看到了吧,紅色部分其實就是應用程序不再使用的垃圾對象。由于引用計數的缺陷,因此會存在內存泄露。

            有幾種方法可以解決這一問題,比如說使用特殊的“弱”引用,或者使用一個特殊的算法回收循環引用。之前提到的Perl,Python以及PHP等語言,都是使用類似的方法來回收循環引用的,不過這已經超出本文講述的范圍了。我們準備詳細介紹下JVM所采用的方法。

            標記刪除

            首先,JVM對于對象可達性的定義要明確一些。它可不像前面那樣用綠色的云便含煳了事的,而是有著非常明確及具體的垃圾回收根對象(Garbage Collection Roots)的定義:

            局部變量

            活動線程

            靜態字段

            JNI引用

            其它(后面將會討論到)

            JVM通過標記刪除的算法來記錄所有可達(存活)對象,同時確保不可達對象的那些內存能夠被重用。這包含兩個步驟:

            標記是指遍歷所有可達對象,然后在本地內存中記錄這些對象的信息

            刪除會確保不可達對象的內存地址可以在下一次內存分配中使用。

            JVM中的不同GC算法,比如說Parallel Scavenge,Parallel Mark+Copy, CMS都是這一算法的不同實現,只是各階段略有不同而已,從概念上來講仍然是對應著上面所說的那兩個步驟。

            這種實現最重要的就是不會再出現泄露的對象環了:

            缺點就是應用程序的線程需要被暫停才能完成回收,如果引用一直在變的話你是無法進行計數的。這個應用程序被暫停以便JVM可以收拾家務的情況又被稱為Stop The World pause(STW)。這種暫停被觸發的可能性有很多,不過垃圾回收應該是最常見的一種。

          【JAVA垃圾收集算法與內存泄露的解決方法】相關文章:

          Java內存溢出的類型10-03

          Java的內存劃分全解析12-17

          Javascript 閉包引起IE內存泄露分析07-05

          電腦內存常見故障及解決方法05-12

          手機內存卡故障及解決方法10-10

          Java認證輔導:Java實現二叉樹遍歷算法10-21

          電腦內存六大故障以及解決方法09-26

          JAVA認證基礎知識:近似算法(格雷厄姆算法)簡介10-29

          Intel傲騰內存是內存還是固態硬盤06-17

          主站蜘蛛池模板: 《渔女实战》完结无弹窗免费观看 -家庭剧短剧全集 -爱看电影网 | 老板的女儿全集免费看| 快递员的特殊待遇| 魔法圣婴百度影音| 忠奸人电影| 蓝色隐身帽| 大雄的秘密道具博物馆国语版| 《克劳迪娅的背叛》电影| 《砖墙谜攻》| 我的巨乳妹妹3在线观看| 漂亮妈妈7巴字开头墨西哥| 《乳房按摩》在线看| 荒岛惊魂在线观看免费完整版| 追我魂魄| 全能奶爸不好惹100集全| 高压监狱4| 韩国电影和部长一起出差| 甜蜜家园在线观看完整版| 出差未婚妻被最讨厌的领导欺负| 识骨寻踪第四季| 法医王妃:验尸断案无人及短剧全集| 美国伦理蜜桃4| 小明星大跟班| 东京塔之越南战俘营完整版电影在线观看 | 铿铿锵锵锵锵免费观看在线观看| 学校怪谈 动漫| 掌心里的海| 王李丹妮新片维修工| 捡漏小能手:古玩街称霸全集免费| 武林风泰山| 《睫毛膏4》美国| 偏偏喜欢你 电视剧| 发国少女6| 美人鱼的动画片| 北风那个吹在线观看免费完整版| 《玉女心经3:阴阳和合》陈宝莲 | 日本混血女大学生按摩| 激情从| 变形金刚4| 斗罗大陆163集在线观看完整版| 心怀叵测的单身女| 狼嚎火箭烟花| 销售房子的电影| 龙器电视剧在线看免费观看| 韩剧《给你宇宙》免费观看| 金凭梅电视剧免费观看| 天天向上20120127| 被学长灌满JING液去双男主| 贞淑的推销韩剧免费播放| 棒球大联盟第5季| 金价连跌首饰金销量猛增| 女版战狼6免费播放国语版| 宁都半班戏| 《炸天小姐》在线| 黑白配| 公媳在线观看| 美国1一5普通话| 杀死比尔1完整版电影| 爱丫爱丫影院最新电视剧免费观看| 《大风杀》电影HD| 驯服小峓子2丽卡无删减播放| 北京四少| 铁证悬案| 女老师的诱惑在线免费观看 | 高清留存的爱未删减| 木下檀子的电影| 霍比特人1意外之旅| 化风行万里歌曲原唱| 加勒比海盗女版1观看| 法证先锋5大结局| 卢旺达的玫瑰完整版在线观看| 金田一粤语| 刚结婚陪部长出差的日剧叫什么 | 车太贤开心鬼上身| 笑傲江湖中东方不败是男是女 | 陈冠希道歉| 女销售员的秘密2未删减版在线播放| 高清《姐弟恋》动漫免费观看全集| 女超人麦乐迪无删减版迅雷| 督错了洞| 步步登顶:宫斗后位全集免费| 男生和女生愁愁愁电视剧在线观看30分| 迷你世界小王子吖| 义姐是不是良女动漫全集| 青春环游记5季免费播放| 美姐妹内牙医| 笨贼妙探国语| 决战枭雄| 谁说我结不了婚在线观看| 正在直播郑钦文比赛| 坐公交车失去了第一次| 越狱兔前传| 法国版《绣感》未删减版在线观看| 陪部长去出差喝醉的电影叫什么 | 我心里的那家伙| 精诚的心群英传奇免费观看| 公浮滔滔之手| 蜜桃成熟时33d国语下载| 艳遇修理工在线播放| 《嘎啦》台湾电影在线观看免费| 女版捉鬼敢死队在线播放| 爱情三选一| 《好看的女人》完整版| 亲爱的 下载| 烟火人家一共多少集| 战狼6欧式少女全部视频| 高清《潜渊》电视剧全集免费观看 | 姐姐妹妹站起来舞蹈| site:yalan365.com| 陆贞传奇在线观看免费全集高清| 澳门人在线看免费观看| 阿诗玛免费| 电视剧骄阳伴我免费观看全集 | 新闻女王国语电视剧免费| 二人转月牙五更| 无盐之月动漫免费全| 永平县| 电影呼唤生活| 王多鱼打扑克全程视频| 金瓶酶2全集观看| 那年匆匆| 初体验5在线观看整板| 老农民60集完整版电视剧| 做我的奴役| 我在魔界当大佬| 情定三世缘| 女版战狼6国语高清免费看| 谎言的诱惑结局| 黛比浪漫女教师BD播放| 人面兽心在线播放| 后营露宿第二季在线观看| 合肥话评书| 我和我们在一起电视剧免费观看| 韩剧高清在线播放免费| 最新吃瓜群众在线吃瓜| 离婚协议电视剧全集| 侏罗纪公园5免费播放| 远得要命的爱情电视剧| 乃木坂春香的秘密finale| 角斗士2完整版免费观看| 电视连续剧楼外楼免费观看| 卸岭秘录电影在线观看| 幻影电视剧| 美国式家庭忌讳| 以家人之名电视剧免费观看| 摆渡人电影下载| 《激战丛林》罗莎卡拉乔洛在线播放 | 年代秀20121102| 密挑传楳| 最后的武林| 壮志凌云2011杰西杰西杰西哪一集| 预备警官全集| 求求鬼别吃我| 唐诡奇谭在线播放免费观看| 夏日示爱百度影音| 新猛龙过江 电视剧| 电影长津湖战役完整版播放免费观看| 破地狱粤语版| 《买下我》电影| 莲花楼电视剧免费观看| 闺蜜2在线观看| 东方茱丽叶全集| 挡不住的风情 下载| 斗破苍穹第123集免费观看 | 琉璃在线免费观看| site:yalan365.com| 李妍雨短剧| 坎贝奇的《品味人生》免费完整版 | 韩剧求婚国语版| 《今天的她们》电视剧| 菏尔蒙6| 天师下山全集免费| 缘之空无删减资源在线| 牝教师4在线观看| 向往的生活5完整版免费西瓜| 高清《继母2》| 《怪盗女谍》天海翼| 灭门惨案之孽杀电影| 大江大河第3部53| 浮之手HD版免费观看| 高清《两架钢琴》电影| 风雨送春归电视剧全集在线观看| 东条夏电影在线观看免费版韩剧| 3d肉蒲团之极乐宝鉴在线观看| 长相思第一季多少集| 华丽上班族迅雷下载| 日本大学生私密按摩在线播放| 漂亮的小瘦子3| 第36部分夫妇交换系列| 高压监狱2无删减1080P| 七虹香电击大作战| 哇嘎电影免费播放网站大全| xxxnxgx| 钢筋规范| 战狼6妈妈最美| 顶楼第三季全集免费观看| 封神榜电视剧免费观看完整版| 秘密列车动漫在线观看| 电影《丽贝卡的秘密》在线播放| ごっくんする在线| 图书馆的女朋友第二季在线观看完整免费版电视剧第五集 | 毒医嫡女:下毒医术超精通全集免费 | 外卖服务3| 爱情中毒| 夫妇互换之木下凛凛子| 曹达华电影| 机甲女神| 阿凡达2水之道普通话免费高清 | 青春环游记三季完整版| 战狼6免费观看高清| 《反击》在线观看完整版| 八戒8电影在线观看播放| 刺客伍六七第三季免费观看| 镖人动画| 李献计历险记插曲| 电视剧南来北往| 82版杨敏思1-5集全集| 菲律宾遣返4万中国公民| 猫儿宝贝| 《欢乐家长群2》电视剧| 名侦探柯南全集播放 | 高清桃恋者| 头文字d国语电影| 地道战全集| 《邻居的妻子》| 陆贞传奇百度影音| 川西剿匪记全集观看| 斗破苍穹160集全免费播放地址| 圣斗士星矢冥界篇| 安斋拉拉在线观看| 水月洞天第3部| 铿锵铿锵铿铿锵免费观看| 中国远征军 下载| 满天星高清免费播放| 跳水世锦赛女子十米台决赛直播| omoflow第一季免费观看在线观看| 女人的天空全集免费观看| 拜登给特朗普送祝贺| 蜡笔小新第6季动漫| 西瓜英文| 喜爱夜蒲快播观看| 无人区高清在线观看免费| 新娘十八岁韩剧| 古墓丽影2满天星版| 幸福二重奏免费观看完整版高清| 劳拉的痴迷(1996)星克莱尔| 医妃不好惹短剧全集| 陈雨菲不敌山口茜屈居世锦赛亚军| 功夫梦:融合之道未删减| 新射雕英雄传主题曲| 忍者之路下载| 李丽珍《聊斋2》| 长江七号电影免费完整版在线观看| 电影激战丛林在线观看| 龙门镖局2电视剧全集| 三年成全免费观看在线播放| 爱情男女免费观看全集完整版电影| 女版战狼6全集高清免费看| 秘制牛杂配方| 法国空乘2023无删减版| 女武神驱动免费观看| 孤单又灿烂的神:鬼怪| 弱小的英雄第二季| 翠湖未删减| 寻龙传说电影| 堕落前辈动画第一季樱花动漫免费| 女子私人监狱免费完整版观看| 机械姬迅雷下载| 刻晴大战史莱姆观看高清动漫| 星汉灿烂月升沧海在线观看| 《私人航空》在线看免费| 杜拉拉升职记在线| 兄弟打印机官网| 神与律师事务所未删减| 袁阔成水泊梁山| 龙兄鼠弟| 熊出没逆转时空正片| 招摇1到56集全集免费观看| 无颜之月免费观看完整 | 我是一名教师电影完整版| 《合租》2024菲律宾主演是谁| 看见爱台剧有无删减版本| 爱的妇产科| 浪漫医生金师傅2| 高清聊斋:兰若寺未删减| 木下檀檩子电影在线观看2023年上映时| 诈欺猎人| 农场主三姐妹美国与意大利版对比| 阿凡提之奇缘历险| 力王之王国语免费观看完整版| 较量电视剧| 羽生稀IPZ376在线播放观看 | 楚留香传奇郑少秋版79版国语全集| 燕归来电视剧| 安姨在线观看全集| 神探狄仁杰四全集免费| 犯罪现场调查第八季| 男女一起愁愁愁免费观看全集高清完整版动漫 | 月之晴天满天星版韩国| 甄嬛传免费版| 祥娃娃一家子| 白色相簿2完整版观看| 插曲的痛60全集免费| 报告老板之豪言壮旅06| 女人花原唱| 八八爸爸| 法国空姐四电影| 明明不喜欢电影在线免费观看| 中奖了 赵本山高清| 东京塔之越南女子行动队在线观看| 小雪要撑破了黑人好大| 非你莫属2013| 向日葵app官方网站地址进入| 混战两姐妹电影版免费观看| 阿蚬洞夫人| 宇宙星神全集2| 洛南县| 卖百科全书的女手机播放人| 需要爸爸种子播种免费观看| 追鱼传奇爱奇艺| 卖保险的女销售| 女人公敌2高清完整版| 因为爱情有幸福之一电视剧| 风流寡妇一夜要了六次| 公浮3| 高清英雄百夜未删减| 金瓶酶2全集观看| 针锋对决无删节完整版| 97社免费| 最长的一天电影高清在线观看| 《魅魔姐姐》动集观看| 《维修工》李丹妮| 最棒的爱人诏免费观看| 刀剑乱舞花丸第二季| 迪迦奥特曼国语全集高清| 《售楼小姐》的秘密视频| 犯罪图鉴第二季免费观看完整版| 门锁电影免费完整版| 总裁的独家私宠短剧全集| 做aj电视剧大全| 热力公司怼居民称凭啥给你热下去| 吞噬星空202集完整版| 天与地电影| 韩日R| 绿茵巨星| 断魂小丑3在线播放| 郝板栗牙医无删减版百度云| 苍老师小电影全集免费观看高清版| 电影《捍战2》| 你好李焕英高清免费| 激情瑜伽| 时间之子| 陈庭妮主演的电视剧| 决战燕子门电视剧全集免费播放 | 周香允的《外卖奇遇》| 黄飞鸿之王者之风| 漂亮的年轻继坶中文2| 地球脸红了| 莉娜安德森电影全集| 一家子插我B啊| 圆桌骑士rom| 雷小翼个人简介| 贝金赛尔满天星| 万梓良电影全集国语| 120天索多玛电影在线观看| 辉夜大小姐想让我告白剧场版 | 杜拉拉升职记电视剧| 青春正能量之我是女神| 林一的未来官场小说| 男人女人一起愁愁愁观看在线| 海边的异邦人中文版在线观看| 机械姬迅雷下载| 大牌生日会甄嬛传| 坎贝奇无憾| 槟郎西施| 晚娘电影全集| 卢湾区| 陪讨厌上司去出差旅在线播放| 风华八零小娇妻短剧免费观看| 盖世英雄方世玉电影| 和讨厌的部长一起出差日本电影 | 去有风的地方电视剧免费观看 | 湖南卫视风云| 鹿镇传奇| 要爸爸播种| overflower第一季无删减在线观看 | 大唐重案组2025免费观看| 《私人航空》免费观看在线观看| 播播开心| 戴洛奇小镇 第二季全集观看| 薛丁山电视剧免费看| 美国1-5普通话版| 小智解说lol优酷| 卑触家的规矩| 电波女与青春男| 陈雅伦《激情丛林》电影| 卡通电影三国志| 阹贞传奇| 韩国电影空房子| 木下檀檀子完整版免费看| 放课后的花子君| 文豪野犬第三季免费观看| 四方来朝的意思| 男女生一起愁愁愁电视剧在线观看 漫画| 飞虎出征字幕| 公交车上六人轮换CH| 金珠恩满天星三部曲免费观看| 情深深雨蒙蒙2| 笨蛋测试召唤兽2| 高海拔之恋2| 电影在线观看完整版高清免费观看| 《overflow》第一季| 少年张三丰张卫健电视剧免费观看| 圣经传说| 电影《需要爸爸播种美国》在线观看 | 中国女游客潜水多次被教练亲吻 | 日剧《她很漂亮》| 国语花环夫人| 两个妻子剧情介绍| 爱你几何电影在线观看完整免费高清原声 | 空调修理工韩国电影| 以法之名电视剧全集| 八戒八戒10在线看免费观看完整版| 插曲的痛45全集免费观看高清版| 艳母动漫| 我是证人迅雷下载| 黑白配在线播放免费观看高清国语| 《淫の方程式》动漫| 变形金刚2高清| 《俄版女儿国》高清版| 泾阳县| 一个好妈妈中文字幕 电影| 解禁男女在线观看| 我家三爷超宠的全集视频| 叶塞尼亚电影完整版| xl司令第一季全集| 音乐奇侠动画片全集| 出狱脱节| 骄阳似我电视剧在线看| 游樣2T| 新亮剑铁血军魂| 郊游 电影| 清洁工第一季| 《最高の爱人诏》演员介绍| 高清《互换性伴侣》在线观看| 电影云图| 逆转裁判3| 极品老师第三季免费观看完整版 | 山西被害男孩在生父村庄下葬| 搞笑版四小天鹅| 在线播放:SSPD-128 怪盜 女蝶 天海翼-凌辱快感 - 国产高清传媒 | 刺激的生活片在线观看| 高清命悬一枪未删减| 韩国电影夫妻的世界| 一个好妈妈中字头强华驿| 苏志燮主君的太阳| 《聊斋之鬼狐》完整版| 小姨子2电影| 韩国剧办公室蓝色影身帽子| 动漫在线高清在线完整版免费| 陈伟霆阿娇| 韩国剧《爱上闺蜜》| 朝国年经的继4免费观看时间一| 哥哥去在线| 杏林春暖在线免费观看| 电视剧无所畏惧全集播放| 《替父还债十日》电影在线观看 | 金元大劫案| 移山倒海樊梨花全集| 勇敢的心第二部45集免费看视频| 欧美5| 克拉运河计划| 斗罗大陆156集| 风中奇缘片花| 激战酒店1-9集在线播放最新版本更新 | 情圣囧色夫 豆瓣| 坏妻子便利店被欺负后的故事梗概| 皇子归来之欢喜知府| 女官女相:权倾朝野短剧全集| 美人下载| 非你莫属泰剧在线观看| 威尼斯三部曲之3| 《外卖奇遇记》周香允周免费观看| 刁蛮俏御医电视剧免费观看完整版| 漂亮的保姆6完整版在线播放| 《花子小姐vs倔强驱魔师》在线观看 | 《狂飙》全集| 戏说台湾全集| 和部长一起去出差电影| 锅匠 裁缝 士兵 间谍电影| 包青天孝子章洛| 《巨乳女教师波多野吉衣电影| 我和前妻谈恋爱| 时光沙漏| 我变美的那夏天| 屋内有人电影| 《品味人生》在线观看免费 | 徐若瑄 av| 法国空姐2009塞内加尔完整版| 极寒之城免费完整版在线观看| 特种使命| 善良的女销售| 葛优版两只老虎免费看| 年轻的阿姨在线看| 仓井空电影网| 老婆6高清版电视剧在线观看免费| 剧组的故事| 善良的她在线观看| 我的土地我的家30集| 美国伦理蜜桃4| 咒怨 白老妇| 蒲剧三娘教子| 不文小丈夫| 夫妻的世界电视剧全集在线观看| 年轻的女朋友在线观看| 土地公土地婆 电视剧| 新水浒传高清| 最初的相遇最后的别离免费观看| 女版斯巴达成HR版在线观看| 还珠格格三| 杀破狼2 2015 电影| 完美世界全集免费| 刘墉语录| 法国空姐满天星法版-佳片在线影院观看| 一点就到家电影| 男人不难嫁片尾曲| 酒后和朋友换娶妻中字3| 按摩店的待遇1在线观看| 母亲爱上儿子同学中文电影| 五号特工组第二部免费播放 | 造梦西游2平等王| 战狼9女版免费全集| 我的传奇老婆全集| 云画的月光免费完整版在线观看| 诡秘之主动漫在哪看| 老金照顾两个儿媳妇慧珍和宝拉的电| 《美姐妹努力赤子板栗》| 龙珠z国语版| 美女大战精子1| 和朋友换娶妻野外夫妇3| 公浮手中字22| 夜夜狂情| 文章孙兴最新电影| 三级剧情片| 英雄崛起百度影音| 午夜寂寞影院列表| 《杜塞》| 大街上强?在线观看| 新娘之真爱| 日本战狼12免费国语| 19岁免费观看国语版| 年轻人电影在线观看| 铁拳无敌孙中山| 电视剧解忧公主| 电影《千金》郝板栗免费播放| 斗罗大陆第196集免费观看| 锦绣繁华电视剧免费观看全集高清| 临终老人要走的6个手势| 姐姐的秘密免费观看完整版| 本乡爱,二阶堂| 小敏家42集在线观看| 《妻子3》免费高清电视剧| 超级教师| 黑白配国语版在线播放| 日本电影《牙医姐妹》在线观看| 难忘之夜在线观看免费完整版| 旺角卡门| 始作俑者的意思| 苍空电影完整版未删减版在线观看| 入室暴行3被蹂躏在线观看| 国模私拍合集| 流星花园高清字幕版| 《妻子的闺蜜》大结局| 《倔强的驱魔师》1-4集完整版| 比悲伤更悲伤的故事主题曲| 异种2015| 王雪晶新年歌曲| 赶尸艳谭在线| 丰满的邻居| 在车上被儿子一次次日| 聚会的目的地2完整有限中字| 老妇的欲火| 高清电影下载网站| 年轻的瘦了8| 女销售电影| 老表你好嘢国语全集| 回复术士的重来人生免费播放 | 秘书激情办公室在线观看| 王朝的女人| 罪孽 泰国百度影音| 凤阳县| 维修工工人的艳遇| 变态公公电影| 姑娘高清完整版在线观看免费| 一个好妈妈HD2中字人人| 交换上司的秘书在线观看| 《饥饿的女儿国》| 宝莲灯免费| 尸兄第二季免费观看完整版| 女子上班被老板灌醉侵犯网站| 聊斋奇谭3之妖女谭2普通话| 木下檀檩子无码HD| 秀才遇着兵粤语| 灵与欲舒淇高清全集| 扑克 电影| 我需要爸爸的种子| 吴雪雯《性迷宫》在线| 高清相反的你和我未删减| 王凯主演的电视剧大全(全部)| 神圣使命电视剧全集24| 金银5一10普通话| 落魄贵族琉璃川在线动漫完整版| 碧蓝幻想动漫| 周生如故电视剧在线观看| 女人私房话| 小胰子5电影免费观看国语版| 欧少女第十六集全集剧情| 王力宏什么歌好听| 玉米地强免费观看| 黑帮大佬我的365第二季| HR版女版壮志凌云2010| 农民伯伯2国语版免费播放| 猎金·游戏电影| 诛仙2电视剧| 遍地狼烟电影下载| 满天星HD版女超人在线观看 | 爆操老妈48集| 画皮电视剧| 屌丝男士第4季全集爱奇艺 | 电影需要爸爸播种| 正在播放: ROE-417 在见证女儿幸福的同时……却在婚礼宴席上,被女婿侵犯的母 | 人之怒 完正版在线观看| 坎贝奇品味人生无憾在线观看全集 | 钻石王老五的艰难爱情全集| 韩国女战狼| 德州巴黎电影在线播放| 大秦帝国之裂变剧情| 桃色凶器完整版| 杨钰莹 遇江南| 陈伟霆阿娇| 保罗雪莉美国2| 电视剧暖春| 土豆粉培训| 龚玥菲新金瓶bt种子| 女房东的滋味HD| 美国队长4免费观看完整版| 卧底48天全集在线看| 福音战士新剧场版终| 黑色眼泪1985日本版叫什么| 扫毒电视剧在线播放| 美景之屋2迅雷下载| 妻子8免费全集高清观看在线播放| 高清《良师男友》电视剧| 爱情的牙齿在线观看| 花样男子国语版高清| 酒店第1-100集全集观看| 需要爸爸播种子类似电影| 相遇简谱| 93年版大刀王五| 韩国电影飘亮女友的妈妈在线观看| 哪吒二在线观看完整免费高清电影 | 木下凛凛摄影电影| 宫锁珠帘27| 跨过鸭绿江1至40集电视连续剧| 《最高の爱人沼》剧情解析| 欧美3p两根一起进高清视频| 金瓶酶2全集观看| 美味快递员特殊待遇2 | 地狱护士| 猎罪图鉴2| 终结者6:黑暗命运| 离婚后惊艳:全城都羡慕我全集免费| abo成结动画| 爹地追来了第二季免费看| 四个少夫按摩精油伦理片| 于无声处电视剧全集免费观看| 一路向西在线观看完整版免费| 凯登农场保卫战满天星免费观看| 蓝宝石之谜 重制版| 燃烧大地| 中央台2024开学第一课| 剧名《玉女春宵》免费观看| 24世纪性格爱情指南日韩| 黛比浪漫女家教BD播放| 黑暗荣耀 第二季 电视剧| 韩剧我的女孩国语在线观看| 电影韩国太太的告白| 爱情公寓ii| 二十一世纪性格爱情指南俄罗斯| 激战丛林1995免费播放| 八十一枚金币| 美丽的小蜜桃4中国版演唱者是谁| 月野りさ| 360大佬爱上我第三季| 艳女十八式婬乱史第二部| 可怜武田全集免费播放| 商务部暂停天然砂对台湾地区出口| 澡堂家的男人们| 渺渺兮予怀| 美国《爱上儿子》电影| 人猿泰山1995在线| 银魂212| 天师钟馗金超群| 一起飞电影完整版百度影音| 英吉沙县| 灭火宝贝2美版免费播放| 亮剑的主题曲| 扫黑风暴电视剧| 迅雷哥在线| 像我这样的小可爱| 丹麦真刀实枪满天星电影| 罗丽星克莱尔不卡中文字幕| 身边的幸福电视剧| 保罗波茨| 郭芯如和郭德纲什么关系| 奔腾年代免费观看全集完整版| 妻子8免费完整高清| 花蝴蝶4大全免费多少| 高清危险关系未删减| 《僵尸叔叔》国语版免费观看| 环太平洋 电影天堂| 囧妈免费播出| 无憾坎贝尔电影免费播放| 暴风雨所诞生的| runningman在线观看全集| 电视剧 潜伏| 仙剑4结局动画| 屯门区| 内衣销售员的秘密| 妈妈的朋友3电影在线观看| 薛平贵与王宝钏粤语版| 小狼电影| 玉女心经之| 酒店实生3美国| TOTAKKA HAYA KIRGUZUX| 周生辰晚上折腾时宜| 大笑江湖电影全集| 为爱痴狂mv| 佩恩袭击木叶| 激战丛林劳拉版免费观看| 唐伯虎在线vlog免费观看全集中文| 温暖你点燃我电视剧免费观看| 福宝空间短剧全集| 滚滚红尘电影在线观看免费完整版 | 夺面双雄电影| 《大风杀》电影HD| 狂飙电影免费观看完整版| 高清《间之楔》动漫| 女狙击手满天星在线播放| 凤凰传奇的全部歌曲| 高清《扫黑风暴》免费观看完整版| 发际红第四部| 阳刚男孩读后感| 赤壁 电影| 木下檀檩子电影在线| 易建联29分| 青春期失乐园全集| 第十九层电视剧| 爱有来生在线| 任达华《与鸭共舞》电影| 战争之暴行女囚观看| 法国空4| 憧憬成为魔法少女吗| 杀死我的温柔| 被害空姐| 高清在线观看免费版PPT大学生| 男生和女生愁愁愁电视剧在线观看30分 | 海底两万米| 百变宝贝| 艳姆动漫第6集免费| 她的紧致让他闷哼出声电影| 我是特种兵2片尾曲叫什么| 特种兵之火凤凰共多少集| 义姐不是良妈动漫在线观看| 刑侦12在线观看粤语版| 《葡萄成熟时》短剧全集| 燃烧的玫瑰| 《激战丛林》在线观看 | 《尸城》| 插曲的痛60全集免费观看高清版在线观看| 特殊美发美容3| 法国空乘2019法版英文名字| 甄嬛传40集| 奇诺之旅第二季| 鬼FU全集无删减在线看风车| 《爱我几何》免费完整版| 粉红大白菜满天星原版| 皖乡食妹| 无敌破坏王qvod| 李香兰国语版| 仙尊宠妃:三界横着走短剧全集| 姐姐的朋友3中文字线观高清| 爱我几何电影免费观看高清完整版| 1980禁忌1980禁忌1芭芭拉全集| 叛逆者免费观看完整版| 非诚勿扰第15期| 伊拉克战记| 鬼怪免费观看完整版在线观看| 要爸爸播种美国电影在线观看免费 | 我可能不会爱你下载| 就爱小姐姐| 火蓝刀锋30集| 她在丈夫面前被搬运工耍了| 美女脱个精光扒开| 罗曼史剧情| 古惑仔友情岁月演唱会| 长相思第二季全集免费完整版| 邪恶教师| 陈宝莲《满天星》播放| 美容院特殊待遇纹身女电影| 左小青前夫| 寂寞 谢容儿| 贤妻电视剧全集下载| 电影炼狱| 魔物娘医生| 《被可怕的科长欺负的新人》公| 年轻的女保险销售2| 上海滩的电影| 《楼梯间的秘密》结局电影| 捷克街头搭讪系列完整版免费观看 | 热浪滚汤电影免费播放在线观看| 追梦就冲突事件道歉| 恐龙的动画片| 高清《澳门风云3》电影| 女子护卫队1973在线观看| 特殊的游泳教练在线观看中字 | xl司令在线观看全集免费| 潜伏在线观看| 清宫性史之名妓风流| 进击的巨人第四季最终季| 天字号监狱电影免费观看全集 | 白色相簿2完整版观看| 《村妓》国语版演员表介绍| 借种完整版| 大蛇王电影| 爱在娱乐圈的日子下载| 偷窥无罪吴彦祖电影全集| 《咱们结婚吧》全集| 高黄软糯小受被C到哭| 泰国坠崖孕妇孩子出生了吗| 越南《性的暴行》电影 | 也许你要恋爱了阵容官宣| 牙医诊所赤坂丽电影在线观看| 群口相声几个人| 电视剧冰锋| 埃及艳后国语| 罗克星克莱尔所有电影在线观看| 关于未知的我们 电视剧| 杨光的夏天| 手游| 《和讨厌的部长出差旅》大结局 |