<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

          主站蜘蛛池模板: 仁心解码20| 《我是妈妈》1-60集| 朋友的母亲9在完整有限中字第5| 缅甸北部的视频在哪里可以看| 《杀死比尔2》电影| 中国梦之声第一季| 厚颜无耻韩国动漫免费阅读观看| 我的世界叶枫| 缉毒英雄电视剧| 劳伦满天星免费观看高清| 内衣公司动漫第4集| 《交换别人的麦子3》的剧情简介是什| 锡剧珍珠塔全集| 龙腾四海国语高清| 女保险公司销售员2| 情不自禁高清完整版| 陈观泰电影| 插曲的痛60全集免费观看高清版在线观 | 那些年我们一起追过| 私人女性监狱电影在线观看| 野花在线观看视频免费| 复仇打脸:重生弃少短剧全集| 电影八尺夫人 意大利 完整版免费观看 | 双枪李向阳 电视剧| 金银瓶电影全集免费播放在线观看 | 郝板丽的电影在线观看| 摇滚水果 电影| 我在伊朗长大观后感| 人民的名义dvd版有什么区别| 电视剧康德第一保镖传奇| 我的美女姐姐欧美。| 空中飞人打一字| 漂亮的姐姐在线播放| 暗夜情报员| 终结者6:黑暗命运| 掌中之物电影在线观看免费完整版| 淘宝最近怎么了| 强奸快播| 死亡诗社| 女人的战争 电视剧韩国电影| 福安市| 箭在弦上42| 落水狗qvod| 《壮志凌云》法国版 播放| 何洁门照艳全集| 《出差被前任多次侵犯| 守护者联盟| 苏小小电视剧| 《双乳丰满的女学生》中文| 陪读妈妈的交换在线观看| 霜花店完整版在线观看 | 女员工的特殊待遇| 草莓之夜电影版在线观看| 十八岁第20集| 快乐到死 在线观看| 水晶挂片| 新金银悔5| 高清《青蛇》电影在线观看| 伦理剧场黛比浪漫女家教| 妻子的秘密电视剧免费下载| 为了谁原唱| 古惑仔在线观看免费完整版高清| 哭声 下载| 动漫《高柳家》1~6| 《葡萄成熟时》短剧全集| 漂亮的妈妈5中字开头7个字| 艳姆动漫第6集免费| 日剧《在丈夫面前被欺负》全集| 19岁大学生观看电视剧韩剧| 家教的高级高程中字| 我学生的妈妈5字| 《如懿传》| 一个空调修理工的艳遇| 缘之空第11集| 渔夫荒淫史无删减版| 全城热恋2011| 判处勇者刑电视剧| 心静则明| 温州周万顺| 湄潭县| 家教女老师| 《贵族夫人》| 恶人传记| 隐藏的帽子韩国版在线观看| 快乐星球全集| 麻花传剧原创mv免费播放天美影视| 欲望中的女人电影| 好想告诉你2动漫| 用身体偿还给客户社长的妻子在线观看| 幽灵公主| 桃色园社区| 《请成为我的家人》电视剧| 游泳| 黑洞频率| 都市的法则| 小小水蜜桃6《电视剧》| 原纱央莉bt种子| 《女员工的特殊待遇》| 超神学院第7集| 17se视频| 红色在线观看| 《透视》在线观看| 林风短剧免费全集播放| 战狼六| 不能说的秘密mv| 杨玉环1987版台湾| 全职法师第6季全集免费观看| 日本战狼6免费| 坎贝奇电影《无憾》完整版| 终极一班4全部20集| 我们中文在线观看免费完整版 | 我的兄弟姐妹电影| 两个小婕子和我做愛视频| 奔跑吧第九季免费观看完整版| 魔境仙踪快播| 成龙历险记免费观看完整版| 光速大冒险| 搞定岳父大人电影| 《诱感》韩国电影| 疯马夜总会| 棍勇的回复术士全集免费观看| 请摘星星给我| 从后面插曲高清视频免费观看| 成吉思汗 电视剧| 《沟壑难填》美国| 机器总动员| 公公之手日语中字2| 威尼斯恋人国语| 《圣特罗佩姑娘们1982》电影在线观看| 再见妈妈韩剧| 妖精视频在线免费观看| 微笑百事达免费观看全集完整版 | 天降之物final| 李小环与苗翠花| 在姨母家的遗憾HD中字_经典片全集_免费在线观看-森森影院 | 周星驰国语高清| 十二生肖电视剧全集| 韩国必胜韩国语影视| 海绵宝宝全集免费| 香醇绣感2普通话版2023年上映| 武神主宰在线观看全集免费播放| 军事不当| 全能王妃杀疯了短剧免费观看| 少年包青天第二部| 同龄人电视剧| 美国版《健美》在线观看| 我爱hk开心万岁粤语| 复旦张维为被打| 徐孺子年九岁 尝月下戏| 睫毛膏3美国电影| 福娃五连环| 成龙历险记免费观看全集完整版| 斗破苍穹160集全免费播放地址| 皎洁迎宵之月| 一人客栈| 修理工艳遇在线| ごっくんする在线| 女娲传说之灵珠电视剧| 最近免费韩国高清在线观看| 三年成全线观看免费| 中国教育考试网官网登录入口| 莳田优衣| 我比破军帅| 无限超越群星演唱会| 栋笃神探国语| 阿诺拉完整版在线看高清| 上海人肉市场| 全红婵预赛第一晋级| 寻龙传说电影| 新三狼之欢场屠夫| 梦精爱免费| 双世宠妃第三季免费观看高清在线| 爱你陈芳语| 与岳母的那些年| 新天师斗僵尸2| 人马配速60分钟视频教程大全| 杨紫回应五官乱飞| 仙逆86| 高压监狱1小时45分是什么意思| 电影宿敌完整版免费观看| 朋友的妈妈2020中字| 法国空姐满天星法版全集| 局内人百度影音| 《悬崖绝壁》| 牝教师在教室被淫辱| 善良的丈母娘| 电视剧理发师全集| 119号纳粹女子集中营电影| 钻石王老五的爱情| 姐姐动漫| 《爱我几何》正版| 辱华dg| 空中的梦想家| 特别酒店l984美国 | 小小诊室| 轮到你了中文版| 盲女72小时完整版| 《酒店激情1-5集在线观看| 蜘蛛侠大战超人| 迈克尔演唱会| 穿越幸福:农家女全集免费| 新大秦帝国第二部之纵横| 大侦探福尔摩斯| 陕西秦腔华亭相会| 苍南县| 逆流而上的你免费观看完整版 | 《特殊游泳教练》| 雪恋电影在线观看| 影音先锋色播| 星克莱尔| 翻云覆雨电视剧| 无限动漫在线观看免费| 三年大片高清电影免费观看| 时寒冰说经济大棋局我们怎么办| 斗罗大陆1080全集免费观看| 前田香织种子| 棋士电视剧在线观看免费高清版| 正在播放: JUL-945 在没有丈夫的平日里,我被打工归来的无与伦比的岳父强奸, | 传奇故事江西卫视| 金鸡sss 电影| 英雄上马的地方| 密室大逃脱第三季免费观看完整版| 火星救援在线观看| 刘敏涛老公常乐| 斗破苍穹107集免费观看| 伍六七之暗影宿命 2023| 欧式少女第16集完整版| 劳荣枝案受害者家属发声| 韩国金银瓶电影在线观看| 名侦探柯南沉默的15分钟国语版| 《美国空乘4》观看| 剑来在线播放| 瓜达卢佩玫瑰完整版| 纹身在线观看高清完整版| 滚烫公媳全集免费观看电视剧| 拼桌未删减| 霍比特人主题曲| 灵动 鬼影实录| 球爱酒吧| 金品梅完整版| 波士顿法律第三季| 萌宝神助攻电视剧免费观看| 三星滑盖手机| 国王在冬眠免费观看| 凤凰卫视军情观察| 高圆圆回应网友说老| 黑白配高清中文完整版| 家庭教师视频下载| 隔壁邻居很美味免费观看| 梁朝伟绝代双骄| 公与3个媳HD免费看| 决战中途岛评价| 我的世界大电影免费观看| 瑜伽室的激情| 美国电影片段| 高清《满意度》电影完整版| 八尺夫人满天星版免费观看第7集 美国电影《需要爸爸播种》免费观看 | 高清《贝尔法斯特天堂路》电视剧| 那夜的武士| 拥抱未来的你| 巴西德国7比1死了多少人| 我的性感小阿姨| 四位少妇按摩记在线观看| 晚娘全集| 动感之星269集小玲| 失踪的上清寺下载| 双城市| 高清《极恶老大》| 穿越火线下载 迅雷| 巴黎危机完整版高清免费观看| 戊戌人电影大全免费观看| 诱人风流艳妇hd| 临沂市| 一代枭雄剧情介绍分集| 电视剧虎山行| 春光乍泄国语| 行政助理2014完整版| 疾风知劲草下一句| 清洁工第一季| 《女学生的滋味》HD在线观看| 娇娇王妃水洛蓝电视剧免费观看 | 《伯爵夫人和园丁》在线观看免费 | 2008徐少强在线观看完整版| 高清《灭火宝贝2》美国版免费观看 | 929电影院免费观看电视剧高清| 肖申克的救赎 电影| 男生和女生一起愁愁免费观看全集高清完整版电视剧 | 高清《刘三姐》电视剧| 奈何boss要娶我2| 需要爸爸| 木府风云39| 仙逆第二季在线播放| 宝贝别忍着喷出来| 迷你宝贝| 她姐姐的情事| 小猪佩奇 第十季 2024| 啄木鸟《军事不当行为》| 能出没之逆转时空的免费大电影| 《妻子替夫还债》| 普京回应挥舞核大棒| 新妈妈完整| 莫丽3特别酒店完整版| 蜘蛛侠3mp4| 电影江山美人| 瓜达卢佩玫瑰完整版| 死神来了6国语完整版免费观看| 最热门电视剧| 八重神子拿黄瓜奖励| 营销技巧电影在线观看| 如狼似虎的女人40集电视剧| 笑傲江湖征战纵女| 试戏没忍住C进去了小说| 电影《乌托邦》免费观看| 《爱我几何》在哪里看 | 双女任务在线免费观看| 饥饿游戏2:星火燎原| 最后一班地铁完整版在线观看| 安娜贝尔3| 私人航空2完整版在线| 赶尸艳谭在线| 超兴奋朋友的妈妈| 女超人满天星版麦乐迪马克斯| 洪熙官 甄子丹| 高压监狱法国伦理| 我爱张宝利国语版全集| 保罗1—4在线观看免费中文| 废柴天才:召唤超神短剧全集| 向往的生活第7季| 《模特人生》韩剧| 百媚千娇全集| 私人女性监狱电影在线观看| 潘石屹是谁| 法国空姐4(多塞尔航空)完整版免费中文| 龙卷风优化| 追光的日子| 我的老婆是学生会长第一季| 韩国R片视频| 青春须早为电视剧免费观看| 酒店激战2第5集什么时候开播| 高清《狙击手6》在线观看高清| 女超人麦乐迪在线完整版免费观看视频| 周莹博士和老刘头| 利剑行动电视剧全集| 斗破苍穹年番完整免费版在线观看| 浪客剑心国语版| 年轻老师4韩国手机在线| 内蒙二人台光棍哭妻| 坚强的人张若昀| 蒸盒号之歌| 电视剧千山暮雪续集| 张磊中国好声音| 我的少女时代电影| 妈妈的新男朋友| 红衣小女孩在线观看完整恐怖版 | 保亭| 金城武电影全集| 圣特罗佩姑娘们| 食人鱼3d第二部| eeuus| 电影《霸占》在线观看| 欧式少女1-13集全剧情| 电视剧霸道总裁推荐| 需要爸爸播种在线观看免费高清 | 新十字街头| jizz分类| 韩国电视剧拜托小姐| 《性的暴行HD》在线观看| 阴阳魔界| 需要爸爸的种子播种免费观看| 地狱神探2百度影音| 特警力量全集观看| 潮与虎39| 风云再起:龙帅归来短剧全集| 舌尖上的中国空间站| 她姐姐的情事| 黑白人生电视剧| 五亿探长雷洛传1国语版免费观看| 国足 新加坡 直播| 秘密爱韩剧完整版| 第八感剧集电视剧| 趟过男人河的女人电视连续剧| 美国的海棠红2| 合肥电视台法制频道| 好妈妈韩国中字5| 军师联盟2虎啸龙吟在线| 凡人修仙传30集完整版| 欧锦棠电视剧| 《时间之子》| 年轻的小瘦子HD| 《模特》电影完整版| 战狼六欧式少女全部剧情| 烟雨蒙蒙电影| 江苏体育台| 奥特曼银河帝国| 韩剧《恋爱高手》免费| 韩国电视剧拜托小姐| 理发店里的特殊待遇在线| 阎立品秦雪梅见夫灵悲声大放| 年轻的小姨电视剧免费观看全集在线天才酷客游戏 | 电视剧驻站免费观看| 女海盗电影在线观看完整版 | 《开始捉迷藏 第二季》未删减| 灌篮高手2022在线观看| 天降萌宝爹地一起摆地摊短剧| 百慕大三角 美剧| 咖啡馆的危机1-4全集动漫| 泰剧婉通夫人结局| 甜心派在线观看泰剧未删减| 美国的海棠红2| 霹雳mit电视剧| 恐怖电影免费高清在线观看| 《驯服小峓子》完成版| 江西卫视经典传奇| 色既时空| 《当男人恋爱时》| (姐妹牙医)电影赤子板栗| 碟中谍1未删减版资源| 孚力影院| 大电影赛尔号| 水电工的艳遇| 画江湖之不良人在线观看| 电视剧闯关东免费观看全集高清| 苍老师10部必看经典电影| 电视剧《回响》免费观看| 黑暗计划2012美国电影| 危情追踪| 乡村爱情9全集下载| 于东来连发11条动态| 苹果电影免费看| 我心蔚蓝| 赘婿全集36集资源| 高清《百万人推理》电视剧| 屠宰场呕吐娃娃免费| 十一人的贼军免费观看高清| 草灯和灯电影免费观看| 苹果完整版在线观看| 《瓜达卢佩玫瑰》在线播放 | 影电影在线观看 高清免费完整版| 刺青在线观看| 少年派2免费观看完整版| 巴黎恋人国语版全集| 古墓丽影法国版女版在线观看| 借种无删减| 波姬小丝电影| 杨紫琼最新电影| 清落电视剧免费观看高清完整版| 当你年少时电视剧免费观看全集高清 | 法版女超人电影在线观看| 美景之屋2迅雷下载| 插曲的痛3季在线观看| 幽灵公主| 特殊的治疗室1| 假期历险记| 我的青梅竹马是消防| 星期五的寝室1978| 浴血黑帮全季在哪能看| 《举起手来电影3》免费观看| 电视剧无间在线播放免费观看| 何以笙箫默在线看免费西瓜视频| 梦幻军事地区电影| 看了下面会流水的视频| 战狼6女版高清免费看| 放羊的星星| 爸爸需要播种在线观看免费高清完整泰剧| 我的团长免费完整版在线观看| 离婚协议电视剧全集| 野鹅敢死队| 迷你世界全皮肤破解版下载| 《性的暴行》在线观看完整版| 还珠格格第一部优酷| 漫长的季节在哪个平台看| 不扣扣的女孩| 祸福相依| 丽江小倩的歌| 邻居也风狂第1集| 《卖保险的女销售》| 新婚夜我被伴郎开了包视频| 芈月传高清免费观看全视频| 校花的贴身高手2| 朋友的男朋友中字ID| 色戒删除的13分钟| 沙漠行动满天星| 张禧嫔电视剧| 渔夫荒野史电影完整版| 河山电视剧在线观看| 跑男第二季在线观看| 李玉刚 花满楼| 青年医生演员表名单| 苍老师电影全集免费播放| 和上司女部长出差完整版免费观看 | 金瓶风月电影完整版| 雪中悍刀行50集免费观看2季 | 我和女部长一起去旅行的电影| 一边亲\边下奶免费视频| 暴躁老妈1-46集全免费观看高清版百度| 电视剧兵团岁月| 王国第一季国语版免费观看| 终极快递2| 黄金小子| SSSxxxx美国666| 承欢记在线观看完整版电视剧全集| yelloe视频免费观看| 黄金瞳在线观看免费全集高清| 赤子板《姐妹牙医》在线| 超科学的电磁炮| 千香电视剧| 和山田进行lv999的恋爱| 独具匠心的意思| 《玫瑰》瓜达卢佩在线播放免费观看| 蝴蝶效应1| 伦理厨房的岳 电影| 我和我的家乡1080P在线播放| 强伦轩女教师在线观看| 阿修罗之怒音乐| 动感之星小玲236集全部剧情视频播| 《碟中谍5:神秘国度》| 雪中悍刀行电视剧剧情介绍| 两个女人的诱惑在线观看| 快乐的大人| 韩国电影我的游泳女教练免费观看| 延禧宫略在线观看免费| 男生女生一起愁愁愁电视剧观看| 渗透全集| 打扑克免费视频| 《原始人》电影免费观看| 谢通门县| 画皮电视剧| 奔跑吧 第八季 2024| 艰难爱情21| 雾都魅影电视剧| 完美女人免费观看完整版高清 | 高压监狱1小时45分是什么意思| 牧神记第62集完整版| 男按摩师视频在线观看| 甜性涩ai| 女军医免费全集在线看| 延禧攻略70集免费播放| 女律师的坠落2018免费播放| 夜夜嗨国产精品| 纳粹疯淫史| 分手大师高清完整版| 新闻联播预告彩蛋| over flowe| 女演员曾黎主持央视跨年晚会| 《千金小姐》郝板栗在线观看 | 男女一起愁愁愁电视剧免费观看在线播放| 白百何益达广告完整版| 新上任女员工| 高清凤仙花未删减| 妈妈的职业5完整版结局在线看免费视频网站动漫下载 | 大西南剿匪记全集下载| 李翊君北京演唱会| 玩命派对| 私人航空(未删减版)| 灵与欲舒淇高清全集| 法国空乘4完整版| 济南战役| 《爱我几何》原版高清免费看| 庆余年第二季全集免费观看| 《女兵突击》满天星| 你是我的独家意外| 在女儿的肚子里撞一撞| 15YC电影院| 一见你就笑| 《小凤新婚》电影免费观看国语 | 特战荣耀在线观看免费完整版高清| 乘龙怪婿3| 华丽的诱惑| 倔强的驱魔师动漫在线观看完整版免费高清| 无尽情爱双男主泰剧在线观看| 苍空高清完整版在线观看| 《兄妹》电影完整版| 韩剧《我的游泳教练》免费播放| 茶狐杯copfox官网| 斗破苍穹第158-159集| 荒岛惊魂免费完整版在线观看| 怪侠欧阳德剧情分集介绍| 兄嫂2免费完整高清电视剧看中文版 | 《唐诡奇谭之九重楼》| 女篮亚洲杯2023| 流浪地球在线播放| 千金肉奴隶电影| 一家老小向前冲高清| 全职猎人国语| 爱的定义泰剧| 弱小的英雄第二季| 黑暗森林2023美国| 地狱尖兵2电影完整版| 淅川县| 南山兵哥全见版全集在线观看免费 | 维修工的艳遇电影手机在线| 新金瓶玥菲中韩双语版公开| 学警雄心粤语| 能出没之逆转时空| 深海之惊蛰| 麦乐迪《忠诚少女》完整版| 灭火宝贝法版免费法国满天星| 钻石王老五的艰难爱| 广场舞又见山里红背面| 回复术士之重启人生| 五月深爱网| 怀旧酷狱忠魂下| 拆弹专家 粤语| 偷偷爱你电影| 在下李佑| 铜铜铜铜锏铜铜铜铜锵锵锵锵| 链-两个女人的诱惑 电影| 美国女兵电影完整版在线观看| 怪兽娘奥特怪兽拟人化计划| 我和我的家乡免费版播放| 控制女上司在线观看| 《孤舟》电视剧| 电影《人脉王》在线观看| 《急诊护士》法国版电影在线播放完| 年轻的母亲4先韩剧| 电视剧叛逆者在线观看| 漂亮妈妈7巴中字开头谢文安导演 超级教师3免费观看全部电视剧 | 美剧杀戮一代| 默杀电影免费播放在线观看 | 权力的游戏第一季无删减| 甜蜜家园2今日播出| 美式保罗1-4经典结局| 新羔羊医生国语免费观看| 1959特赦| 战狼6免费观看9999| 极度兽性在线观看| 燃罪电视剧在线观看全集免费播放| 新年行动| 柯南剧场版国语版全集| 哇嘎全部免费观看| 禁忌的女人电影| 青春期的妹妹免费观看电视剧| melody在线播放高清观看女超人| 儿歌多多| 环翠峪门票| 《四位少妇精油按摩》| 中国母亲电视剧| 蔷薇风暴电视剧在线观看高清| 波多吉野电影。| 我们与驻在先生的700日战争| 《和部长一起去出差旅》| 非你莫属最新一期| 乡村爱情小夜曲第6部| 《诱人的女房东3》电影| 春日狂热| 信天游电影| 插曲的痛90全集免费观看高清版| 飞驰人生1免费观看全集| 《公的浮之手中字》电影| 《女生规则:禁爱游戏》| 游客在瓦屋山被落石砸中身亡| 女上司的控制器| 邪魔缠身的约纳斯小姐| 电视剧湄公河大案| 电影杀手之王| 巜与上司的妻子佐佐木| 韩国维修师的艳遇BD金山丽| 口袋妖怪动漫| 谁说直男掰不弯全本小说| 小蜜桃6| 韩剧《我的家教老师》剧情介绍| 阴阳镇怪谈在线观看免费完整版| 《落魄贵族琉璃川》免费动漫观看全集| 人世间在线| 战狼6免费999加拿大版在线观看| 新还珠格格电视剧| 韩国电影出轨| 郝板栗《千金》免费看| 一人之下第四季在线观看| 凌娅跳舞原视频免费看| 蜜桃视频17| 氪金玩家的3d动漫| 小镇警事| 东京复仇者动漫二季免费观看| 白袜子俱乐部| 盛唐风流电影在线观看|电影免费高清 | 小品 相亲2| 纳粹狂魔中文免费观看全集高清| 双人精油按摩调情刺激阴茎高潮伦理免费电影 | 雪珂全集| 美国荷尔蒙2高清免费看| 预祝中考成功的话| 李恩美《维修》| 咱们结婚吧第31集| 奇门偃甲师在线观看完整版免费| 无人区在线高清电视剧| 《Overflower》| 足称老婆八两夫| 夜游电影在线播放| 特殊游泳教练 免费| 《姐姐今天怪怪的》动漫| 坏家伙们 电视剧| 动感之星168集妖精全集视频在线观看 | 如何让他忍不住联系你| 落魄贵族琉璃川动漫完整版| 白鹿原全集免费播放| 万年县| 伸冤人1免费观看高清版| 因为爱情有幸福电视剧| overfloor第一季免费观看| 电视剧觉醒年代| 断案追凶超神:女法医古代全集免费| 电影《渔夫荒淫史》| 《年轻女教师3》在线| 八时入席粤语| 电影塔日酒店完整版| 亲爱的妈妈4韩国完整版观看电影| 厨神电视剧| 需要爸爸播种中的字| 归去来剧情| 销售员的销售秘密2中字| 《私人航空2》法国电影| 陪你逐风飞翔电视剧免费观看| 武战道52集| 新金银屏5美国版1-5| 聊斋艳谭五通神| 庆余年2999影片库| 丽贝卡监狱电影免费完整观看| 火口的两人| 丫鬟上位记:我成了贵妃全集免费| 《住在隔壁的女孩》电视剧在线观看| 予她半城短剧免费观看全集| 生化危机 影音| 法航空姐3观看| 高清《飓风营救1》完整版| 年轻人完整版在线观看| 改运转运第一人:风水之王短剧全集| 妹妹轮到你了韩剧| 缅甸地图| 草溜影院| 金泽文子| 一路向西国语版快播| 侦探先生,你的背包开着呢未删减| 成仁高清影视| 电影《美味快递员2》演员阵容 | 女子医院满天星法版免费观看高清 | 《初体验8》在线观看完整免费版电视 | xl司令第一季全集免费完整版在线观看 | 电视剧杨贵妃秘史| 朝国年经的继6免费| 我的丑娘大结局| 低俗小说免费| 兔子先生免费全集在线| 祥娃娃一家子| 少年派 下载| 瓜达卢佩的玫瑰HD| 忠者无敌高清电视剧全集免费观看| 电影《鬼村》国语| 在线播放 卖百科全书的女人| 夏日里的春天优酷| 莱芜一夜情| 美景之屋6官方正版| 女生按摩胸部电影免费观看 | 流光飞舞粤语| melody在线电影免费观看| 高清伪术奇才未删减| 《汉武大帝》免费看| 销售的销售秘密6HD中字国| 电影欲望之花| 外出电影2| 盛唐风流完整免费观看| 爱情烈酒| 狂野的需求| 凌云壮志(欧美)满天星| 万法归一| 狙击手拉苏尔电影免费观看完整版| 钢琴曲献给爱丽丝| 需要爸爸播种子在线观看中文字幕 | 高海拔之恋2| 异国恋爱浪漫谭| 外卖小哥刮刮乐中25万| 四十九日 祭 电视剧| 来不及说我爱你免费观看完整版| 星辰变在线| 美国版《小蜜蜂》4| 斩神15集全集免费看完| 白鹿原电视剧在线观看| 一场美味的飞行欢迎回来观看 | 苏有朋春晚| 马兜铃泰剧在线观看| 战狼4西瓜视频免费| 长安二十四计全集免费看| 全员加速| 女版战狼6免费播放国语版| 大丈夫电视剧全集48免费完整版| 之后3在线观看完整版| 幸福的同学聚会| 反恐特战队之天狼| 澳门回归22周年| 夏河县| 厨缘电视剧| 肉蒲团 在线| 功夫梦韩雯雯| 美式家庭禁忌结局-3| 铿锵玫瑰之女兵排| 锦囊妙录电视剧在线观看全集免费| 我的私人游泳教练| 打黑风暴在线观看| 大嫁风尚免费观看全集完整版高清| 《驯服》电影完整版丽卡结局| 男女愁愁高清| 不要向下看百度影音| 沧元图动漫60| HD版《激战丛林》中文完整版| 韩国办公室秘书| 爱国让你想起什么| 阅兵2015直播| 法国空乘2016完整版| 爱上特种兵免费观看| 黑衣人3国语高清| 精灵俏女巫| 369你懂的电影在线观看| 姨母的诱感| 碧血青天杨家将| 《妈妈爱上儿子同学》电影完整版 | 极乐神功和玉女神功| 权欲武力| 赵丽颖《小城大事》在线观看免费| 纳雍县| 《揉胸按摩》在线播放| 电影黄河绝恋| 地心历险记2 720P| 法国空乘13| 火影忍者国语版全集爱奇艺| 古墓丽影1高清| 江津市| 哇嘎电影高清在线观看| 保罗波茨| 调教美女们| 《女超人:麦乐迪》艾玛| 长空雄鹰| 镖行天下之至尊国宝 | 王向阳书法| 人海中遇见你mv| 已婚妇女火辣的下午电影| 疯马秀纪录片| 电视剧甜蜜完整版免费观看| 明星换脸王鸥的电影免费观看| 金瓶双艳2| 命中不注定免费观看| 唐人街探案3 提取码| 回复术士第三集真人版| 如果还有明天美剧| 玄奘之路纪录片| 江油市| 《法国空乘8》免费看| 《便利店兼职生》| 沈阳黑灯舞厅| 品味人生在线观看| 神秘园简谱| 患难真情|