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

Java內存問題的一些見解

開發 后端
現如今,AJAX應用程序Session狀態也可以在客戶端進行管理。這使服務端程序變成無狀態的,或接近無狀態的,同時也顯然有著更好的可擴展性。

在Java中,內存泄露和其他內存相關問題在性能和可擴展性方面表現的最為突出。我們有充分的理由去詳細地討論他們。

Java內存模型——或者更確切的說垃圾回收器——已經解決了許多內存問題。然而同時,也帶來了新的問題。特別是在有著大量并行用戶的J2EE運行 環境下,內存越來越成為一種至關重要的資源。乍看之下,這似乎有些奇怪,因為當前內存已經足夠廉價,并且我們也有了64位的JVM和更先進的垃圾回收算 法。

[[146456]]

接下來,我們將會仔細的討論一下關于Java內存的問題。這些問題可以分為四組:

  • 在Java中,內存泄露一般都是由于引用對象不再被使用而造成的。當有多個引用的對象,同時這些對象又不再需要,然而開發者又忘記清理它們,這時極容易導致內存泄露的發生。

  • 執行消耗太多的內存而導致不必要的高內存占用。這在為了用戶體驗而管理大量狀態信息的 Web 應用中很常見。隨著活躍用戶數量的增加,內存很快到達了上限。未綁定或低效緩存配置是持續高內存占用的另一來源。

  • 當用戶負載增加時,低效的對象創建容易導致性能問題。從而垃圾回收器必須不斷地清理堆內存。而這導致了垃圾回收器對CPU產生了不必要的高占用。 隨著CPU因垃圾回收而被阻塞,應用程序響應時間頻繁的增加,導致其一直處于中等負載之下。這種行為也成為“GC trashing”。

  • 低效的垃圾回收行為往往是由于垃圾回收器的缺失或者錯誤的配置。這些垃圾回收器將會時刻追蹤對象是否被清理。然而這種行為如何以及何時發生必須由配置或者程序員,或者系統架構師決定的。通常,人們只是簡單地“忘記”了正確的配置和優化垃圾回收器。我曾參加過一些關于“性能”的專題討論會,發現一個簡單的參數變化將會導致高達25%的性能提升。

在大多數情況下,內存問題不僅影響性能,還會影響可擴展性。每次請求消耗的內存數量越高,用戶或Session可以執行的并行事務就越少。在某些情 況下內存問題也影響可用性。當JVM耗盡了內存或者即將接近內存極限,這個時候它將退出并報OutOfMemory錯誤。這時經理會來到你的辦公室,你就 知道自己攤上大事了。

內存問題很難被解決通常有兩個原因: 第一,某些情況下分析很復雜,也很困難,特別是如果你缺少正確的方法來解決他們;其次,他們通常是應用程序的架構基礎。簡單的代碼更改不會幫助解決他們。

為了使開發過程更容易,我會展示一些實際應用中常被使用的反模式。這些模式已經能夠在開發過程中避免內存問題。

HTTPSession作為緩存

此反模式是指濫用HTTPSession對象作為數據緩存。session對象的存在是為了存儲信息,這個信息里面存在著一個HTTP請求。這也稱 為一個Session狀態。這意味著,數據將被保存直至它們被處理。這些方法通常存在于一些重要的web應用程序中。web應用程序除了在服務器上存儲這 些信息外,沒有別的方法。然而,一些信息是能夠存儲在cookie中,但是這將會帶來一些其他的影響。

在cookie中,盡可能地保持少而短的數據,這是非常重要的。有時候很容易發生這種現象,session里存儲著成兆字節的數據對象。這將會立即 導致堆棧高占用和內存短缺。同時并行用戶的數量非常有限,JVM將應對越來越多出現OutOfMemoryError錯誤的用戶。多數用戶Session 也有其他性能損失。集群場景的session復制中,這將會增加序列化和溝通工作將導致額外的性能和可伸縮性問題。

在某些項目中這些問題的解決方案是增加數量的內存和切換到64位jvm。他們無法抵抗住僅僅增加幾個G大小的堆棧內存的誘惑。然而,與其提供一個對 真正問題的解決方案,不如隱藏這個現象。這個“解決方案”只是暫時的,同時還會引入了一個新的問題。越來越大的堆內存使它更難以找到“真正的”內存問題。 對這種非常大的堆(大約6G)來說,大部分可用的分析工具是無法處理這些內存垃圾。我們在dynaTrace投入了大量的研發工作希望能夠有效地分析大量 的內存垃圾。隨著這個問題變得越來越重要,一種新的JSR規范也提到了它。

由于應用程序架構尚未明確,導致Session緩存問題經常出現,。在開發過程中,數據被輕松而又簡單的放入session當中。這是經常發生的, 類似于一種“add and forget”方式,即沒有人能夠確保當這種數據不再需要時是被移除的。通常,當session超時時不需要的 session數據應該被處理。在企業中,一些應用程序常常大量使用Session超時,這將會導致無法正常工作。此外經常使用非常高的Session超 時- 24小時為用戶提供額外的“體驗”,使他們不必再次登錄。

舉一個實際的例子,從session里的數據庫列表中選擇所需要的數據。其目的是為了避免不必要的數據庫查詢。(是不是覺得有點過早優化呢?)。這 將導致在session對象中為每個單獨的用戶放入幾千個字節。雖然,緩存這些信息它是合理的,但用戶session可以肯定是一個錯誤的地方。

另外一個例子是,為了管理Session狀態而濫用Hibernate session。Hibernatesession對象只是為了快速訪問數據庫而放入HTTPsession對象中。然而,這將導致更多必要的數據被存儲。同時每個用戶的內存占用也將顯著提高。

現如今,AJAX應用程序Session狀態也可以在客戶端進行管理。這使服務端程序變成無狀態的,或接近無狀態的,同時也顯然有著更好的可擴展性。

線程本地變量內存泄露

在Java中使用ThreadLocal變 量是為了在一個特定的線程中綁定變量。這意味著每個線程都有它自己的單獨實例。這種方法一般在一個線程中用于處理狀態信息,例如用戶授權。然而,一個 ThreadLocal變量的生命周期與另外一個線程的生命周期是息息相關的。被遺忘的ThreadLocal變量很容易導致內存問題,尤其是在應用服務 器中。

如果忘記了設置ThreadLocal變量,尤其是在應用服務器中,這很容易導致內存問題。應用服務器利用線程池避免常量不斷創建和線程銷毀。舉個 例子,一個HTTPServletRequest類在運行時得到一個空閑的已分配的線程,在執行完后將它回傳到線程池中。如果應用程序邏輯使用 ThreadLocal變量和忘記了顯式地移除它們,這時,內存是不會被釋放的。

根據線程池大小——在程序系統中這些線程池可以是幾百個線程。同時,由ThreadLocal變量引用的對象的大小,這可能導致一些問題。例如,在 最壞的情況下,一個200個線程的線程池和一個5M大小的線程池將會導致1 GB的不必要的內存占用。這將立即導致強烈的垃圾回收反應,同時導致糟糕的響 應時間和潛在的OutOfMemoryError錯誤。

一個實際的例子就是在JBossWS 1.2.0版本中出現的一個bug(在JBossWS1.2.1版本已經被修復)—— “DOMUtils doesn’t clear thread locals”。此問題就是ThreadLocal變量導致的,它引用了一個14MB的 解析文檔。

大型臨時對象

大型臨時對象在最壞的情況下也能導致outofmemoryerror錯誤或者至少強烈的GC反應。例如,如果非常大的文檔(XML、PDF、圖 片…)必須閱讀和處理時。在一個特定的情況下,應用程序幾分鐘都沒有響應或性能非常有限,幾乎沒有可用的。其中根本原因是垃圾回收反應過于強烈。下面對讀 取PDF文檔的一段代碼作了詳細分析:

 

  1. byte tmpData[] = new byte [1024]; 
  2.  
  3. int offs = 0
  4.  
  5. do
  6.  
  7. int readLen = bis.read (tmpData, offs, tmpData.length - offs); 
  8.  
  9. if (readLen == -1
  10.  
  11. break
  12.  
  13. offs+= readLen; 
  14.  
  15. if (oofs == tmpData.length){ 
  16.  
  17. byte newres[] = new byte[tmpData.length + 1024]; 
  18.  
  19. System.arraycopy(tmpData, 0, newres, 0, tmpData.length); 
  20.  
  21. tmpData = newres; 
  22.  
  23.  
  24. while (true); 

這些文檔采用按固定字節數的方式來讀取。首先,他們被讀入中字節數組中,然后發送到用戶的瀏覽器中。然而僅僅幾個并行請求將會導致堆溢出。由于讀取 文檔采用了極其低效的算法,這將導致問題越來越糟糕。最初的想法只是創建1KB的初始字節數組。如果這個數組滿了,則一個新的1KB數組將被創建,同時這 個老的數組將拷貝到新的數組中。這意味著當讀取文檔時,一個新數組將被創建,同時將讀取的每字節都復制到新數組中。這將導致大量的臨時對象和兩倍于實際數 據大小的內存消耗——數據將永久被復制。

在處理大量數據時,優化處理邏輯性能是至關重要的。在這種情況下,一個簡單的負載測試會顯示這一問題。

糟糕的垃圾回收器配置

到目前為止,在所提到的情境中出現的問題基本都是由應用程序代碼所導致的。然而,這些原因的根源是由于垃圾回收器配置錯誤,或者丟失。我常常看到用 戶相信他們的應用程序服務器的默認設置,同時也相信應用服務器的開發者了解哪些是自己的程序最好的。無論如何,堆的配置很大程度上取決于應用程序和實際使 用場景。根據場景來調整參數,應用程序才能更好地執行。和一批執行長期任務的應用程序相比,一個執行大量短而持久的應用程序配置起來是完全不同的。此外, 實際的配置還取決于JVM使用情況。對IBM來說,什么才能使Sun Jvm正常運行可能是一場噩夢(或至少是不理想的)。配置錯誤的垃圾收集器通常不會 立即被確認為性能問題的根源(除非你監控了垃圾收集器的活動)。通常我們肉眼可見的問題都是響應過慢。同時,理解垃圾回收活動與響應時間的關系也是不明顯 的。如果垃圾回收的時間與響應時間沒什么關聯,人們通常會發現一個非常復雜的性能問題。響應時間和執行時間度量問題主要體現在應用程序——對于這種現象, 在不同的地方都沒有一個明顯的模式。

下圖顯示了事務指標與垃圾收集時間在dynaTrace中的關系。我發現了一些情況,關于垃圾回收器的優化問題。人們正打算花幾周的時間去解決如何在幾分鐘內設置解決性能問題。

類加載器內存泄露

在談到內存泄漏時,大部分人主要認為是堆中的對象。除了對象,類和常量也是托管在堆中。根據JVM,它們被放入堆中特定的區域。例如Sun JVM 使用所謂的永久代或PermGen。通常情況下,類被放入堆中好幾次。僅僅是因為他們已經被不同的類加載器加載。在現代化企業級應用程序中,加載類的內存 占用能夠達到幾百MB。

關鍵是避免無謂地增加類的大小。一個很好的例子是大量字符串常量的定義——例如在GUI應用程序中。這里所有的文本通常存儲在常量。而使用常量字符 串的方法原則上是一個好的設計方法,內存消耗不應該被忽視。在真實的情況下,在一個國際化應用程序中,所有常量都會被定義為各種語言。一個很不起眼的代碼 錯誤都會影響到已經被加載的類。最終的結果是,在應用程序的永久代中,JVM將出現OutOfMemoryError 錯誤,同時崩潰。

應用服務器還面臨著類加載器泄漏的問題。這些泄漏的原因主要是因為類加載器不能被垃圾回收,因為類加載器中的類的一個對象仍然活著。結果,這些類并 不打算釋放這些內存占用。而現在,這個問題已經被J2EE 應用程序服務器很好的解決了,它似乎更常出現在OSGI-based應用程序環境。

總結

在Java應用程序中內存問題通常是多方面的,這容易導致性能和可擴展性的問題。特別是在有著大量并行用戶的J2EE應用程序中,內存管理必須是應 用程序體系結構的核心部分。然而垃圾回收器對于那些未使用的對象是否被清理并不關心,所以開發人員還是需要適當的內存管理。此外,應用程序內存管理設計是 應用程序配置的核心部分。

你的經驗

這些都是我在現實世界應用程序中發現的反模式。如果你有額外的反模式或共同的問題,我很愿意更多地了解他們。

關于作者

這篇文章基于我和codecentric的作者Mirko Novakovic共同研究的性能反模式系列。

其他感興趣的博客

由于性能反模式是我的愛好,我將定期發布關于反模式的帖子。它們將會從這些帖子里選擇你們可能感興趣的一篇帖子。

如果你想要了解更多關于如何解決像本文中提到的內存問題,和其他一些java運行壞境相關的問題,你也許對我同事最近一本關于持續應用程序性能管理的白皮書感興趣。

責任編輯:王雪燕 來源: ImportNew
相關推薦

2022-06-24 14:05:57

CIO數字化轉型金融

2009-11-30 16:19:47

VS調試問題

2009-12-01 10:18:12

VS2003makef

2009-06-04 16:28:43

EJB常見問題

2017-05-23 14:33:46

簡歷求職前端開發

2021-04-19 17:25:08

Kubernetes組件網絡

2016-10-18 22:10:02

HTTP推送HTML

2011-06-01 16:50:21

JAVA

2011-03-08 14:28:03

proftpdGentoo

2009-11-25 09:23:47

PHP引用&符號

2018-06-12 15:39:41

容器部署云平臺

2009-06-12 10:25:42

Webservices

2022-01-16 08:04:44

集群部署canal

2017-04-13 12:59:43

數據分析

2021-07-30 20:59:21

MySQL內存.參數

2015-12-08 09:05:41

Java內部類

2009-07-09 13:16:54

Java Swing開

2009-06-22 15:36:00

如何學好java

2009-06-18 09:51:25

Java繼承

2010-05-24 18:22:36

jsp MySQL
點贊
收藏

51CTO技術棧公眾號

国产黄色免费观看| 国产自产精品| 一级片一级片一级片| 亚洲黑人在线| 亚洲男人都懂的| 国产欧美日韩综合精品二区| 欧美一区二区激情视频| 国产日产一区| 91精品在线一区二区| 中韩乱幕日产无线码一区| 成人激情小说网站| 国产精品高精视频免费| 久热精品在线观看| 国产欧美日韩免费观看| 欧美一区二区二区| 亚洲爆乳无码专区| 午夜在线激情影院| 国产欧美日韩在线| 99免费在线视频观看| 国产一级免费视频| 激情婷婷欧美| www.午夜精品| 国产免费一区二区三区网站免费| 视频在线观看免费影院欧美meiju 视频一区中文字幕精品 | 国偷自产视频一区二区久| 欧美亚洲国产一区二区三区va | 91官网在线免费观看| 男人j进女人j| 97电影在线| 99国产精品99久久久久久| 成人在线视频网| 亚洲天堂男人av| 欧美日韩国产欧| 在线看福利67194| 中文字幕日韩三级片| 国产成人久久精品一区二区三区| 色综合久久综合中文综合网| 欧美 国产 精品| 成人一区二区不卡免费| 92国产精品观看| 99国产在线| 97人妻精品一区二区三区动漫| 久久美女性网| 1769国内精品视频在线播放| 久久久精品人妻一区二区三区四 | 国产视频精品一区二区三区| 国产在线a视频| 国产精品99久久免费| 91福利国产成人精品照片| 国产伦精品一区二区三区四区视频_| 国产一二区在线| 国产精品欧美极品| 日韩偷拍一区二区| 青梅竹马是消防员在线| www.久久久久久久久| 国产精品久久久久久久久婷婷| 国产又大又长又粗| 久久国产精品72免费观看| 国产精品黄色影片导航在线观看| 国产又黄又猛又粗又爽| 欧美一区=区| 青草青草久热精品视频在线网站| 欧美一级片免费在线观看| 亚洲激情黄色| 7m精品福利视频导航| 国产特黄大片aaaa毛片| 一本久道久久久| 欧美亚洲第一区| 无码人妻熟妇av又粗又大| 欧美综合国产| 国产精品久久久久久久久久免费 | 欧美三电影在线| 天天视频天天爽| 91视频亚洲| 欧美成人精品高清在线播放 | 久久综合色鬼综合色| 久久综合色一本| 久草视频在线看| 国产欧美日韩另类一区| 伊人久久av导航| 高清全集视频免费在线| 樱桃视频在线观看一区| 国产自产在线视频| 欧美大片免费高清观看| 91黄色免费版| 一二三av在线| 老司机成人在线| 亚洲欧洲一区二区三区在线观看| 国产综合精品在线| 99久久www免费| 欧美黑人巨大xxx极品| 国产成人无码精品久在线观看 | 视频区 图片区 小说区| 激情小说一区| 亚洲视频国产视频| 日韩欧美国产成人精品免费| 黄色av一区| 热久久视久久精品18亚洲精品| 中文字幕视频免费观看| 国产精品夜夜爽| 久久久久久久久四区三区| 69视频在线| 午夜亚洲福利老司机| 成人免费视频久久| 香港久久久电影| 亚洲欧洲偷拍精品| 久久久精品人妻一区二区三区四 | 欧美精品久久久久久久久久| yjizz国产| 国产在线麻豆精品观看| 国产一区免费| 精品国产丝袜高跟鞋| 午夜精品久久久久影视| www.天天射.com| 国产图片一区| 久久亚洲精品成人| 在线观看污污网站| 粉嫩av亚洲一区二区图片| 亚洲电影免费| 性欧美xxx69hd高清| 日韩一级二级三级精品视频| av网站免费在线看| 一区免费视频| 成人性生交大片免费看视频直播| 色鬼7777久久| 亚洲综合久久久久| 久久久久xxxx| 成人影视亚洲图片在线| 韩国三级日本三级少妇99| 91tv国产成人福利| 欧美韩国一区二区| 日韩欧美精品在线观看视频| 澳门成人av| 久久网福利资源网站| 在线免费观看国产精品| 91原创在线视频| 国产曰肥老太婆无遮挡| 亚洲人成777| 综合久久五月天| 中文字幕69页| 久久综合色综合88| 国产午夜福利在线播放| 国产精品色呦| 久久久久久成人| www.香蕉视频| 一区二区三区欧美日| 奇米影视四色在线| 日韩dvd碟片| 国产精品扒开腿做爽爽爽视频 | www久久久久| 97av视频在线观看| 日本福利一区| 欧美制服第一页| 视频三区在线观看| 欧美视频国产精品| 波多野结衣福利| 在线亚洲观看| 免费毛片一区二区三区久久久| 亚洲精品日产| 亚洲女同精品视频| 欧美一区二区三区久久久| www一区二区| 99视频精品免费| 日韩精品一区二区久久| 国产精品免费电影| 日韩黄色影院| 欧美一区二区三区的| 最新一区二区三区| 国产成人精品亚洲午夜麻豆| 欧美激情亚洲天堂| 成人高潮视频| 欧美最顶级的aⅴ艳星| 可以在线观看的黄色| 91国产免费看| 秋霞欧美一区二区三区视频免费| 狠狠色伊人亚洲综合成人| 麻豆视频传媒入口| 99ri日韩精品视频| 2025国产精品视频| 岛国最新视频免费在线观看| 欧美日韩国产高清一区二区三区| 美女100%露胸无遮挡| 精油按摩中文字幕久久| 黄色特一级视频| 日本一道高清一区二区三区| 国产福利精品视频| 久久黄色美女电影| 精品成人私密视频| 亚洲黄色免费观看| 中文字幕一区二区三区在线播放| 日本亚洲一区二区三区| 亚洲精品1区| 日韩亚洲视频在线| 日本精品在线播放| 欧美自拍视频在线观看| 久草免费在线观看| 亚洲第一精品久久忘忧草社区| 在线能看的av| 亚洲色图一区二区| av鲁丝一区鲁丝二区鲁丝三区| 三级一区在线视频先锋| 日本三级中文字幕在线观看| 全国精品免费看| 国产专区欧美专区| 男人av在线播放| www日韩欧美| 天天操天天操天天操| 欧美日韩另类国产亚洲欧美一级| 久久久久久久久久久久久久免费看| 久久综合一区二区| 无码人妻一区二区三区免费n鬼沢 久久久无码人妻精品无码 | 亚洲精品美女久久久久| 91国产免费视频| 欧美日韩在线影院| 中文字幕av久久爽av| 国产精品美女一区| 久久青草国产手机看片福利盒子| 午夜久久福利视频| 亚洲一区欧美激情| 欧美在线观看黄| 成人情趣视频网站| 久久亚洲高清| 日韩三级不卡| 国产在线视频欧美| 国产不卡网站| 国内精品久久久久| 日本中文字幕在线播放| 精品调教chinesegay| 亚洲第一页在线观看| 欧美裸体一区二区三区| 色老头一区二区| 欧美日韩中文字幕在线| 久久久久久激情| 亚洲欧美色一区| 91香蕉国产视频| 久久精品视频网| 波多野结衣福利| 97国产精品videossex| 国产成人av片| 国产成人一区在线| 999热精品视频| 狠狠色丁香九九婷婷综合五月| 国产高清视频网站| 老司机精品视频网站| 国产一区二区在线视频播放| 悠悠资源网久久精品| 国产91视频一区| 欧美日本中文| 久草免费福利在线| 欧美日韩国内| 国产精品视频二| 国产精品99免费看| 中文字幕无码精品亚洲资源网久久| 中文字幕一区二区三三| av不卡在线免费观看| 久久精品国内一区二区三区水蜜桃 | 不卡的av在线| 亚洲天堂2024| 91丨国产丨九色丨pron| av网站免费在线播放| 91丨九色丨黑人外教| 少妇精品一区二区三区| 久久久久国产精品麻豆| 亚洲精品国产91| 国产精品久久看| 999精品视频在线观看播放| 亚洲日穴在线视频| 欧美成人一二三区| 午夜精品久久久久久不卡8050| 国产福利拍拍拍| 色偷偷88欧美精品久久久| 无码人妻精品一区二区蜜桃色欲| 欧美亚洲综合另类| 国产精品久久久久久久久久久久久久久久久久 | 久久精品资源| 91精品黄色| 另类春色校园亚洲| 日本不卡一二三区| 日本电影一区二区| 神马午夜伦理影院| 亚洲深夜激情| 欧美成人黄色网址| 国产精品一二三| 丰满少妇一区二区三区| 国产女主播视频一区二区| wwwav国产| 欧美日韩国产在线播放| 在线观看国产小视频| 日韩免费观看高清完整版| 午夜视频福利在线| 中文字幕久久久av一区| 香蕉久久aⅴ一区二区三区| 欧美中文字幕在线| 美女国产精品久久久| 蜜桃视频在线观看91| 欧美伊人影院| 免费大片在线观看| 国产精品一区二区男女羞羞无遮挡| 成年人的黄色片| 亚洲欧洲www| 日本特级黄色片| 91精品婷婷国产综合久久性色 | 黑人一区二区三区| 高清av免费一区中文字幕| 精品久久一区| 美女日批免费视频| 韩国理伦片一区二区三区在线播放| 亚洲一区二区在线免费| 中文字幕在线不卡| 你懂的国产在线| 日韩一区二区三区在线观看| 九九热视频在线观看| 色综合久久中文字幕综合网小说| 三上悠亚激情av一区二区三区| 亚洲999一在线观看www| 欧美精品尤物在线观看| 精品无码一区二区三区爱欲| 久久精品国产99国产精品| 人妻精品久久久久中文字幕| 亚洲欧美日韩综合aⅴ视频| 国产日韩久久久| 日韩国产欧美区| 日本欧美电影在线观看| 国产日韩欧美在线视频观看| 国产精品一区高清| 东北少妇不带套对白| 国产一区二区三区香蕉| 永久免费毛片在线观看| 日韩欧美视频一区二区三区| 亚洲成a人片在线| 久久香蕉频线观| 精品久久在线| 色中色综合成人| 亚洲制服少妇| av网页在线观看| 亚洲一区视频在线| 国产夫妻自拍av| 久久九九有精品国产23| 图片一区二区| 亚洲综合第一| 美女视频一区二区三区| 极品蜜桃臀肥臀-x88av| 色系网站成人免费| 欧美白人做受xxxx视频| 97精品视频在线| 男人的天堂久久| 少妇无码av无码专区在线观看| 99热99精品| 毛片在线免费视频| 亚洲欧美国产精品专区久久| 毛片无码国产| 日韩jizzz| 麻豆国产精品官网| 人成免费在线视频| 欧美性三三影院| 中国日本在线视频中文字幕| 国产精品无码专区在线观看| 第一sis亚洲原创| 九九九九九伊人| 亚洲精品五月天| 亚洲欧美激情另类| 2020久久国产精品| 伊人久久大香线蕉综合网蜜芽| 成人午夜视频免费在线观看| 国产女同互慰高潮91漫画| 中文字幕视频二区| 久久综合网hezyo| 日韩精品一区二区三区中文字幕 | 三上悠亚影音先锋| 欧美色视频在线观看| 日本在线免费网| 51国偷自产一区二区三区| 亚洲午夜一级| 国产又爽又黄无码无遮挡在线观看| 黑人狂躁日本妞一区二区三区 | 国产又粗又猛又黄视频| 一区二区在线免费视频| 四虎在线精品| 日韩激情视频一区二区| 99热精品一区二区| 国产乱码77777777| 麻豆一区二区在线观看| 久久a爱视频| 九九九在线观看视频| 一级日本不卡的影视| 日韩一二三四| 91精品国产自产在线| 国语自产精品视频在线看8查询8| 内射中出日韩无国产剧情| 欧美私模裸体表演在线观看| 欧美理论电影| 欧美日韩喷水| 国产精选一区二区三区| 成年人免费高清视频| 日韩亚洲一区二区| 久久aimee| 99久久99精品| 91国偷自产一区二区开放时间 | 一区二区三区久久久| 日韩精品123|