黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

詳解Python垃圾回收機制和常量池的驗證

瀏覽:16日期:2022-06-26 08:03:27
Python的引入

人類認識世界是從認識世界中的一個又一個實物開始,然后再對其用語言加以描述。例如當中國人看到蘋果時,便會用中文“蘋果”加以描述,而用英語的一些國家則會用“apple”加以描述。

以上說到的中文和英文都是人類認識并描述世界的一個工具,而在計算機的世界中,為了讓計算機去認知世界,從而幫助人類完成更多的任務。在計算機領域中也發展了語言這個工具,從早期的機器語言到匯編語言再到現在使用范圍較廣的高級語言。而我們接下來要介紹的Python則屬于高級語言這一分支。

變量的引入為什么要有變量

上面說到Python是計算機世界中用來描述外部世界的,并且也提及了世界就是一個又一個實物的堆疊,描述世界其實就是去描述那一個又一個實物,人類如此,計算機也是如此。因此計算機語言開發者們為了使用計算機語言的人更好的在計算機中去描述這些實物,便在計算機語言中引入了變量這個概念,Python也不例外。簡單點說,變量就是用來描述世間萬物的。

定義變量

為了在計算機書寫方便,定義一變量也有一定的規則,在這里我們僅說說Python中變量的定義規則,首先我們先定義兩個變量:

name = ’chenyoude’year = 2021

上述代碼中我們便定義了兩個變量,從上面定義的兩個變量中,我們可以看到,變量的組成分為三個部分:

變量名:反應變量值所描述的意義,并且可以用來引用變量值。 賦值符號:賦值。 變量值:存放數據,用來記錄現實世界中的某種狀態。 常量引入

上面簡單講解了Python中的變量,通過字面意思,可以看到變量其實是一個變化的量,例如,下面這個實例:

year = 2021year = year + 1print(year) # 輸出結果:2022

剛開始我們賦予了year一個變量值為2021,當我們對year進行加1操作時,可以發現year值變成了2022。對于上述現象我們不難理解,因為之前說過Python中變量是用來描述世間萬物的,世間萬物在現實中是可以變化的,變量當然也可以隨之變化。

但是在某個局部范圍內,變量可能是不會變化的,例如在2021年這一年,都只會是2021年,沒有人會說2021年是2022年。如果你有豐富的開發經驗,會明白變量定義出來不是存放在那里給你看的,更多的是要拿來用的。也就是說如果在2021年中的某個程序需要使用year這個變量,但這個變量是不需要進行修改的。為了防止誤操作對year這個變量進行了修改,計算機語言便設計了常量這個概念,也就是說常量相對于變量是一個不會變化的量。

在Python中,有沒有常量呢?不嚴格的講,其實是有的,只是在定義常量的時候常量名必須的全大寫,例如,下面這個實例:

YEAR = 2021YEAR = YEAR + 1print(YEAR) # 輸出結果:2022

上面這個常量的實例令人大吃一驚,因為使用常量YEAR后和使用變量year的結果一致,也就是說常量YEAR遭到了更改。但是,稍微解釋你就明白了。

在Python中,雖然也和其他很多計算機語言一樣擁有常量這個概念,但更多的是約定俗成的,Python并沒有嚴格的對常量進行控制,只是規定常量名必須全部大寫。原因很簡單:都是常量了,你為什么還要修改?

常量池引入

上面講到常量就是一個不會變化的變量,嚴格的講,在Python中是沒有常量這個概念的。但是,在Python中又有另外一種例外,那就是常量池,為了搞清楚常量池,首先我們得弄明白Python的幾個小知識,接下來一一敘說。

Python解釋器

上面提及到Python是計算機用來描述世間萬物的一種語言,由于計算機沒有人腦那么強大,計算機更多的只是認識高低壓電頻,再通過對高低壓電頻的轉化進而編碼成我們看到的一個又一個字符,也就是說計算機是無法直接認識利用Python寫下的字符的。(此處設計計算機組成原理,不多做介紹)

也就是說,當我們利用Python寫下一個又一個字符并且交給電腦時,需要通過編碼這個過程,而這個編碼的過程有時候也被稱為解釋。解釋的原理就相當于從中文轉成英文,只不過此時不是需要讓英文使用者看懂中文,而是讓計算機能夠看懂Python。

中文轉成英文的時候,可能需要一個翻譯員或一個翻譯軟件,利用Python寫下的字符轉化為計算機能看懂的語言同樣如此,這個轉化過程也需要一個外物的幫助——Python解釋器。

Python變量存儲機制

假設我們使用Python解釋器定義了以下一個變量:

year = 2021

當我們通過字符定義變量時,一定會好奇這些變量被Python解釋器解釋后到底去了哪?如果對計算機的組成熟悉的同學,一定會清楚計算機的核心組件為:CPU、內存、外存、輸入設備、輸出設備。也就是說,這些字符應該存儲在這些核心組件中。在這里就不賣關子了,當我們通過字符定義變量并對其用Python解釋器進行解釋時,他們會以計算機能看懂的形式進入內存當中。

上面講的對于很多非科班出身的朋友可能很難理解,在這里將它生動化?,F在假設江西師范大學相當于電腦內存,每當有一批新學生進入師大時,師大都會開辟出一個新教室給這批新同學使用,并且會給每一個教室一個獨一無二的教室牌號。由于把師大看作是內存,這批新同學就可以看成是變量值,而教室牌號就是變量名。也就是說,對于師大這個大內存,每定義一個變量year=2021,就會在這個大內存中開辟一個小空間,小空間中放變量值2021,然后大內存會給這個小空間定義一個變量名year,此時變量名year指向變量值2021。

上面說到每當Python解釋器解釋一個變量時,會將這個變量存放到內存中的一個小空間中,但如何知道這個小空間的具體位置呢?此處介紹Python的一個內置函數id(),通過這個函數可以獲取某一個變量所在的內存地址,例如下面這個實例:

year = 2021print(id(year)) # 輸出4499932432Python垃圾回收機制

對于上述師大的例子,此處再做延伸。由于那一批學生所在班級新轉來了幾位同學,需要那一批學生更換更大一點教室,也就是給他們一個新的教室。那么學校應該會這樣處理,首先開辟一個新的教室,然后拿下那一批學生原有教室的教室牌號更換到這個新教室,最后會清空原有教室。

在Python中,也是如此,如果到了新的一年,我們會重新定義一個year變量,也就是year=2022。如果這是在同一個程序中如此做,Python會沿用上述更換教室的方法,它首先會解除year和2021的連接,開辟一個新內存存放變量值2022,讓year與2022連接。此時,會發現2021這個變量值只有變量值而沒有變量名,因此這個沒有變量名的變量值會變成Python眼中的一個垃圾變量,從而觸發Python垃圾回收機制,對這個2021所在的內存空間進行回收。

為了更好地理解Python垃圾回收機制,可以看下面這個例子:

year = 2021print(id(year)) # 輸出4499932720print(year) # 輸出2021year = 2022print(id(year)) # 輸出4499932560print(year) # 輸出2022

通過上述例子,可以看到當新定義了一個year變量時,year會與新的變量進行一個連接。當然,此處所說的垃圾回收機制只是為了引入引用計數這個概念,并不是完全正確的解釋,并且上述實例還無法證明變量值2021所在內存是否被回收,下面將通過引用計數的實例會進一步說明并重新解釋垃圾回收機制。

引用計數

上面講到如果某個變量值綁定著變量名,就是一個正常的變量,如果該變量值沒有綁定著門牌號,這個變量就是一個垃圾變量,對于垃圾變量,Python會觸發垃圾回收機制回收這個變量所占有的內存。進而可以想到,Python中一個變量名一定只能對應一個變量值。

在這里我們就不能沿用師大這個例子了,而得引出一個新的名詞——引用計數。

為了解釋引用計數,我們首先得明白在Python中,當定義了一個變量值為2021的變量時,它可以表示年份、也可以表示山的高度…也就是說一個變量名只能對應一個變量值,但是一個變量值可以對應不同的變量名,這種設計也是比較合理的。

現在我們引出引用計數這個概念,當相同的變量值被賦予不同的變量名時,變量值每增加一個變量名的賦予,則該變量值的引用計數加1。由于我們可以通過Python內置sys模塊中的getrefcount()函數獲取某一個變量的引用計數(getrefcount輸出值默認從3開始),可以通過下面這個例子感受下:

import sys# 引用計數初始值為3print(sys.getrefcount(2021)) # 輸出為3year = 2021print(sys.getrefcount(2021)) # 輸出為4height = 2021print(sys.getrefcount(2021)) # 輸出為5del yearprint(sys.getrefcount(2021)) # 輸出為4

從上述代碼可以看出變量值2021的引用計數由于每一次賦予新的變量名,引用計數都會增加,而當我們利用del關鍵字刪除變量值2021的一個變量名year時,引用計數則會減少。

為了更加嚴謹的表達引用計數,此處不得不再次深入,引用計數字面意思可以理解為引用的次數,也就是說上面的例子其實并不嚴謹,更嚴謹的講,只有當一個變量值每一次被直接或間接引用時,引用計數才會增加,在Python中讓引用計數增加共有三種方法:

變量被創建,變量值引用計數加1 變量被引用,變量值引用計數加1 變量作為參數傳入到一個函數,變量值引用計數加2

具體看下述實例:

import sys# 引用計數初始值為3print(sys.getrefcount(2021)) # 輸出為3# 變量被創建,變量值引用計數加1year = 2021print(sys.getrefcount(2021)) # 輸出為4# 變量被引用,變量值引用計數加1height = yearprint(sys.getrefcount(2021)) # 輸出為5# 變量作為參數傳入到一個函數,變量值引用計數加2def func(year): print(sys.getrefcount(year)) func(year) # 輸出為7

Python中既然有增加引用計數的方法, 也當然會減少引用計數的方法,共有以下4種:

變量值對應的變量名被銷毀 變量值對應的變量名被賦予新的值 變量值對應的變量名離開它的作用域 變量值對應的變量名的容器被銷毀 重看Python垃圾回收機制

有了getrefcount()方法并通過引用計數,我們就可以解開垃圾回收機制遺留的一個問題——如何判斷是否觸發了垃圾回收機制。每當一個變量定義,他的getrefcount輸出值為3,而如果該變量值被垃圾回收機制回收,則它的getrefcount輸出值回到3,可以通過下面實例驗證上述猜想:

import sysprint(sys.getrefcount(2021)) # 輸出為3year = 2021print(sys.getrefcount(2021)) # 輸出為4print(id(year)) # 輸出4499932720print(year) # 輸出2021year = 2022print(sys.getrefcount(2021)) # 輸出為3print(id(year)) # 輸出4499932560print(year) # 輸出2022

通過上述實例,可以發現由于變量值2021對應的變量名被新的變量值2022引用,它的getrefcount輸出值為3,引用計數變成了0,因此可以證明Python觸發了垃圾回收機制。

如果對上述驗證Python觸發垃圾回收機制的實例深入挖掘,會發現當把year賦給變量值2022時,變量值的2021的引用計數為0,此時觸發了Python的垃圾回收機制,那么是否可以表明只有當變量值2021的引用計數為0時才能觸發垃圾回收機制呢?而不是上一次說的當變量值的變量名被新的變量值被引用了才會銷毀呢?因為變量值可以對應多個變量名,下面通過下述實例驗證:

import sysprint(sys.getrefcount(2021)) # 輸出為3year = 2021print(sys.getrefcount(2021)) # 輸出為4height = 2021print(sys.getrefcount(2021)) # 輸出為5year = 2022print(sys.getrefcount(2021)) # 輸出為4del heightprint(sys.getrefcount(2021)) # 輸出為3

通過上述實例,可以發現由于定義一個變量后,該變量對應的變量值引用計數可以不斷增加,而只要引用計數不為0,那么Python就一直還在內存中保留著這個變量值并且對其引用,只有當該變量的引用計數為0時,Python才會觸發垃圾回收機制對該變量值進行回收,這才是比較正確的垃圾回收機制。當然,如果深入,Python的回收機制還有分代回收,此處不做延展,了解上述這些就足矣了解接下來講的小整數池。

常量池

在上述各個知識的打通之后,現在可以正式引入常量池這個概念。上面講到在Python中嚴格的講是沒有常量這個概念的,即使你通過約定俗成的方法定義了一個常量,但這個常量也只是一個變量,也就是說只要你對這個常量做出修改,這個常量原有對應的常量值引用計數就會變成0,由于常量等同于變量,它一樣會被Python垃圾回收機制回收。

但是在Python中,存在著一些例外,這些例外就是一個小整數池,顧名思義,小整數池表示的是從-5到256范圍內的整數,這些整數定義出來后就是一個常量,也就是說他們的引用計數即使為0,也不會被Python的垃圾回收機制回收,可以通過下述實例驗證:

import sysfirst_l = [] # 定義列表l存儲[-5,256]中的所有整數的引用計數add_l = [] # 定義列表add_l存儲[-5,256]中的所有整數的引用計數加1后的引用計數del_l = [] # 定義列表del_l存儲[-5,256]中的所有整數的引用計數減1后的引用計數for i in range(-5, 256): first_l.append(sys.getrefcount(i)) add = i add_l.append(sys.getrefcount(i)) del add del_l.append(sys.getrefcount(i))first_l.sort()add_l.sort()del_l.sort()print(f’min(first_l): {min(first_l)}’) # 獲取[-5,256]中所有整數的最小引用計數,輸出為4print(f’min(add_l): {min(add_l)}’) # 獲取[-5,256]中所有整數的最小引用計數,輸出為5print(f’min(del_l): {min(del_l)}’) # 獲取[-5,256]中所有整數的最小引用計數,輸出為4

從上述實例可以看出,[-5,256]中的整數的getrefcount默認初始值為4,也就是說即使沒有對這些整數進行初始化的創建,Python早已對他們進行了引用,即使他們的引用計數為0,他們也不會也不可能被刪除,因為他們從Python解釋器啟動開始就已經被生成。

當然,也可以通過垃圾回收機制判斷小整數池中的整數是否會被垃圾回收機制回收,可用如下實例證明(由于Pycharm等解釋器會一次性編譯整個文件,固使用終端編輯代碼):

>>> a = 5>>> id(a)4529334480>>> del a>>> b = 5>>> id(b)4529334480>>>>>> a = 257>>> id(a)4533920752>>> del a>>> b = 257 # 消除分代回收對結果的影響>>> del b>>> b = 257>>> id(b)4531031792>>>

從上述實例中可以看出,變量值5即使被垃圾回收機制回收后,再次創建變量值為5的變量,該變量的內存地址始終無變化,即該變量未被垃圾回收機制回收,小整數池中的其他整數同理;而變量值257卻已經被垃圾回收機制回收,非小整數池中的其他變量同理。

當然,還可以通過下述方法查看這些小整數池的整數的內存地址的變化,如下:

a = 256b = int('256')print(id(a), id(b)) # 4544968752 4544968752a = 257b = int('257')print(id(a), id(b)) # 4548719792 4546289360a = -5b = int('-5')print(id(a), id(b)) # 4544960400 4544960400a = -6b = int('-6')print(id(a), id(b)) # 4690036912 4546289360

對于上述實例,在Python中,由于每生成一個變量便會開辟一個新的內存空間給該變量,但是上述實例表明當變量值為-5和256時,每次開辟的內存空間地址都是一樣的;而當變量值不屬于[-5,256]時,每次定義變量值時,內存空間的地址都是不一樣的。

總結

在Python中,變量是用來描述世間萬物的,變量顧名思義是變化的一個量,而在某一個局部范圍內,有些量可能是不會變化的,因此語言設計者在計算機中定義了常量這個概念,但是在Python中并沒有規定的常量,只有約定俗稱的常量,也就是變量名全大寫的則是常量。但是Python中有一個另外,也就是小整數池[-5,256],在這個小整數池中的整數對于Python來說就是一個常量,因為從引用計數的打印中可以看出它在Python解釋器啟動的時候就已經生成并占用了一個固定的內存空間,并且不會因為引用計數變為0之后就會被Python的垃圾回收機制回收,而這些小整數池也可以稱作Python的常量池。

以上就是詳解Python垃圾回收機制和常量池的驗證的詳細內容,更多關于Python垃圾回收機制和常量池的驗證的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产无人区卡一卡二卡三网站 | 精品久久久无码中字 | xxxxxx国产| 白嫩初高中害羞小美女 | 欧美午夜精品一区二区三区 | 国产乱人伦中文无无码视频试看 | 国产一级做a爰片久久毛片男 | 欧美zzz物交 | 69大片视频免费观看视频 | 欧美 日韩 精品 | 强h辣文肉各种姿势h在线视频 | 毛片网止 | 欧美专区中文字幕 | 可以免费在线观看的av | 国产精品 日韩精品 | 99re6热在线精品视频播放 | av免费视屏| 无码专区人妻系列日韩 | chinese少妇国语对白 | 成人在线免费视频观看 | 鲁丝一区二区三区免费 | 国精品无码一区二区三区在线蜜臀 | 午夜免费看片 | 午夜久久一区 | 性做爰过程免费视频美女按店 | 久久精品国产精品亚洲毛片 | 色妞av永久一区二区国产av开 | 亚洲三级色 | 亚洲免费精品网站 | tube极品少妇videos | a中文字幕 | 久九九精品免费视频 | 巨胸喷奶水www久久久免费动漫 | 五月天精品视频 | 亚洲三级中文字幕 | 成人免费超碰 | 日韩在线视频免费播放 | 在线精品国产一区二区三区 | 91xxx高清在线 | 欧美视频在线观看视频 | 双性美人强迫叫床喷水h | 激情超碰| 特级做a爰片毛片免费看无码 | 国产自啪精品视频网站丝袜 | 久热草 | 古代性色禁片在线播放 | 日本一二三区在线 | 人人澡超碰碰97碰碰碰 | 男人的天堂avav | 色诱亚洲精品久久久久久 | 成人性生交大片免费看在线播放 | 男ji大巴进入女人的视频小说 | 在线麻豆视频 | 91av国产精品| 爽天天天天天天天 | 91嫩草国产露脸精品国产 | 日韩精品高清在线 | 香蕉视频在线播放 | 一本色道无码不卡在线观看 | 中文成人无码精品久久久 | 国产日产欧产精品浪潮安卓版特色 | 日韩视频在线观看 | 国产性猛交xxxⅹ交酡全过程 | 永久免费看啪啪的网站 | 欧美一级大黄大黄大色毛片小说 | 国产麻豆一区二区三区精品 | 欧洲精品视频在线观看 | 97超在线| 三级五月天 | 国产人碰人摸人爱免费视频 | 制服丝袜亚洲 | 久久久久国色av免费看图片 | 少妇一级淫片免费播放 | 欧美成人xxxx| 午夜精品久久久久久久久 | 日韩欧美激情在线 | 原创少妇半推半就88av | 婷婷丁香国产 | 夜夜操网站 | 日本熟妇色一本在线观看 | 日韩亚洲欧美中文在线 | 午夜激情黄色 | 亚洲理论在线观看 | 2017天天干 | av解说在线 | 丰满少妇被猛烈进入高清播放 | 视频一区中文字幕 | 国产精品国产自线拍免费软件 | 亚洲 国产 日韩 欧美 | 欧美一进一出抽搐大尺度视频 | 精品国产露脸精彩对白 | 国产亚av手机在线观看 | 亚洲最大av番号库 | 想要xx·m3u8色视频 | 国产成人三级一区二区在线观看一 | 国产高清在线精品一区二区三区 | 黄色一级视频片 | 久插视频 | 国产精品久久久久久人妻精品 | 国产午夜三级一区二区三桃花影视 | 成人午夜福利视频后入 | 久久久久久久久精 | 91羞羞视频| 欧美另类视频在线观看 | 99久久综合精品五月天 | 亚洲欧美另类视频 | 黄色一极片 | 97一区二区三区 | 精品国产99高清一区二区三区 | 欧美一区二区三区激情 | 久久综合香蕉国产蜜臀av | 国产精品美女久久久久aⅴ国产馆 | 色站在线| 99久久久国产精品免费蜜臀 | 天天做天天爱夜夜爽毛片 | 欧美综合在线视频 | 人成乱码一区二区三区 | 天堂欧美城网站网址 | 99re这里只有精品在线观看 | 亚洲乱码国产乱码精品精在线网站 | 日韩成人精品一区二区 | 久久一区视频 | 亚洲国产精品久久久久秋霞不卡 | 久久久久久麻豆 | 欧美第一黄网免费网站 | 久久国产一区二区 | 国产女主播视频一区二区三区 | 久草美女 | 91免费视频播放 | 国产无遮挡18禁网站免费 | 手机成人在线视频 | 中文字幕一区三区 | 久久久成人免费视频 | 精品国产色 | 亚洲字幕av一区二区三区四区 | 波多野结衣丝袜 | 91毛片观看| 亚洲国产精品18久久久久久 | 国产熟妇高潮叫床视频播放 | 婷婷激情丁香 | 伊人网在线播放 | 免费日韩毛片 | 最新激情网站 | 综合人妻久久一区二区精品 | 狠狠躁夜夜躁人蜜臀av小说 | 日韩精品一区二区三区在线播放 | 日本丰满熟妇hd | 久久久久国精品产熟女久色 | 黑人狂躁日本妞hd | 国产一区二区精品在线观看 | 性一交一无一伦一精一品 | 极品妇女扒开粉嫩小泬 | 午夜成人爽爽爽视频在线观看 | 国产又粗又猛又大爽又黄老大爷 | 国产精品国产三级国产潘金莲 | www.99日本精品片com | 播播成人网 | 精产国品一区二区三区四区 | 午夜无码一区二区三区在线观看 | 免费又黄又爽又色的视频 | 亚洲乱码精品久久久久 | 亚洲乱亚洲乱少妇无码99p | 精品欧美h无遮挡在线看中文 | 久久99这里只有精品 | 成人做受视频试看60秒 | 国产伦久视频免费观看 视频 | 亚洲欧美天堂 | 侵犯の奶水授乳羞羞游戏 | 欧美国产日韩在线观看 | 综合久久网 | 多毛的亚洲人毛茸茸 | 久久在线视频免费观看 | 亚洲精品一区二区冲田杏梨 | 夜夜撸小说 | 伊人影院在线视频 | 国产清纯白嫩初高生视频在线观看 | 久久久久久久福利 | 日本不卡视频一区二区三区 | 亚洲色成人网站www永久 | 新版本天堂资源在线中文8的特点 | 一级片免费在线 | 色综合天天色综合 | 国产99在线 | 欧美 | 亚洲一区二区视频在线 | 国产一区二区福利 | 成人精品黄段子 | 99精品免费久久久久久久久日本 | 国产无套粉嫩白浆在线观看 | 黄色大片网站在线观看 | 亚洲精品a | 综合网激情| 把jiji进美女的屁屁里视频 | 少妇在线视频 | 亚洲一区二区在线观看视频 | 水果派av解说在线观看 | 欧美激情一区二区在线 | av网站不卡 | 国产性一乱一性一伧一色 | 国产明星裸体无码xxxx视频 | 91久草视频| 中文字幕人妻无码系列第三区 | 久久久91精品国产一区二区三区 | 97人妻精品一区二区三区 | 一本到在线观看 | 国产午夜精品一区二区三区在线观看 | 国产99久久久久久免费看农村 | 国产99爱| 亚洲性生活视频 | 国产成人精品一区二区三区网站观看 | 成人免费无码大片a毛片抽搐 | 成年人性生活免费视频 | 一本色道久久综合亚洲二区三区 | 日本做受高潮又黄又爽 | 伦一理一级一a一片 | 无遮挡在线 | 国产精品第52页 | 国产精品久久久久影院老司 | 国产99在线 | 欧美 | 国产成人a人亚洲精品无码 国产男女猛烈无遮挡免费网站 | 美女天天操 | 国产永久视频 | 高h喷水荡肉爽腐调教 | 狠狠的干性视频 | 亚洲美女视频在线观看 | 一本大道久久精品懂色aⅴ 一本大道久久卡一卡二卡三乱码 | 中文字幕永久有效 | 久久久久久自慰出白浆 | 95香蕉视频 | 久久久久久久久久久99 | 黄色片久久 | 久久国产成人午夜av浪潮 | 亚洲三区av | 男人天堂视频网 | 国产亚洲精品久久久久久久久动漫 | 夜夜添无码一区二区三区 | 久久久久久久亚洲国产精品87 | 午夜免费成人 | 成人亚洲一区二区 | 日韩综合一区二区三区 | 在线免费av网 | 久久久久无码国产精品不卡 | av动漫天堂| 三八激情网 | 色爱精品视频一区二区 | 222aaa免费国产在线观看 | 日韩欧美一级在线 | 最近中文av字幕在线中文 | 国产精品一区二区在线免费观看 | 久久综合久久美利坚合众国 | 狠狠躁天天躁中文字幕无码 | aa视频网站| www.com欧美| www啪| 一级理论片 | 免费在线观看亚洲 | 青青久久国产 | 青青青爽视频在线观看 | 78国产伦精品一区二区三区 | 亚洲日本黄色 | 九九九网站 | 暖暖在线日本免费高清最新版 | 无码手机线免费观看 | 逼特逼在线视频 | 91重口入口处 | 天摸夜夜添久久精品亚洲人成 | 午夜精品一二三区 | 国产成人精品日本亚洲专区61 | 成年入口无限观看免费完整大片 | 白白色免费视频 | 欧美激情偷拍 | 欧美日韩一区二区三区在线 | 亚洲精品中文字幕制 | 在线射| 免费看黄色大片 | 狠狠色综合色综合网络 | 中文字幕在线观看第一页 | 一级二级av| 国产又粗又硬又大爽黄 | 韩日午夜在线资源一区二区 | 人妻少妇偷人精品视频 | 妞干网欧美| 中文字幕日本人妻久久久免费 | 亚洲综合网国产精品一区 | 大学生一级一片全黄 | 肉色丝袜小早川怜子av | 中文欧美日韩 | 国产又黄又猛的视频 | 国产在线一二区 | 日韩有码一区 | 少妇人妻无码专区在线视频 | 亚洲人成亚洲人成在线观看 | 我要看黄色a级片 | 亚洲精品免费视频 | 久久久久99精品成人片直播 | 亚州色图欧美色图 | 国产又色又爽无遮挡免费动态图 | 欧美综合激情网 | 国产成人精品亚洲日本在线观看 | 北京富婆泄欲对白 | 67194成人 | 国产精品99久久久久久动医院 | 97在线免费观看 | av免费在线观看免费 | 青青草97国产精品免费观看 | tushy超清4k欧美极品在线 | 国产精品99久久久久宅男软件功能 | 污网站免费观看 | 久久久国产精华特点 | 东京一本一道一二三区 | 久久久国产一区二区三区四区 | 午夜合集| 未满十八18禁止免费无码网站 | 日韩小视频在线 | 国产精品嫩草影院com | 天干天干啦夜天干天2017 | 国产精品久久久久久久泡妞 | 欧美又粗又深又猛又爽啪啪九色 | 两个人看的www免费视频中文 | 亚洲青草视频 | 欧美日韩亚洲精品瑜伽裤 | 么公的好大好硬好深好爽视频 | 成人性生交大片免费看视频hd | 精品国产一二 | 国产精品一区二区久久乐夜夜嗨 | a级在线免费观看 | 欧美午夜精品一区二区三区 | 色婷婷av一区二区三区软件 | 佐山爱成人av在线播放 | 成人免费黄色 | 精品人妻av区| 影音先锋啪啪 | 成人欧美一区二区三区黑人动态图 | 乱荡少妇xxhd | 国产精品毛片久久久久久久 | 色在线视频| 狠狠亚洲超碰狼人久久 | 九九九九精品视频在线观看 | 麻豆视频在线免费看 | 免费jjzz在在线播放国产 | 沦为黑人姓奴的少妇 | 无套内谢大学处破女www小说 | 国产精品亚洲a | 韩国女同性做爰三级 | 亚洲天天摸日日摸天天欢 | 老熟女高潮一区二区三区 | 国产精品揄拍500视频 | 91免费网站视频 | 欧美 变态 另类 人妖 | 夜夜爽日日柔柔日日人人 | 日本欧美色十大禁片毛片 | 裸体一区二区三区 | 国产午夜精品一区二区 | 亚洲精品99久久久久中文字幕 | 琪琪电影午夜理论片八戒八戒 | 中文字幕欧美视频 | 精品少妇一区二区三区免费观看 | 九九久久精品国产 | 亚洲 欧美 影音先锋 | 国产a三级 | 色婷婷yy| 色播视频在线观看 | 亚洲精品一区二区三区香 | 免费在线观看中文字幕 | 国产男女猛烈无遮挡a片漫画 | 少妇性bbb搡bbb爽爽爽欧美 | 国产精品奇米一区二区三区小说 | 天天干夜夜怕 | 欧美一区二区三区喷汁尤物 | 国产精品亚洲一区二区在线观看 | 欧美日韩国产精品自在自线 | 精品美女视频 | 永久黄色网址 | 香港经典a毛片免费观看播放 | 天天玩天天干天天操 | 蜜桃久久精品成人无码av | 99爱精品视频在线观看免费 | 久久中文字幕无码专区 | xxxxwww一片 | 亚洲午夜久久久久 | 中国三级视频 | 狼人青草久久网伊人 | 欧美疯狂xxxxxbbbbb | 国产精品99久久久久人最新消息 | 99国产超薄肉色丝袜交足的后果 | 亚洲精品久久久久中文字幕m男 | 日韩精品久久久 | 蜜桃久久久久 | 免费黄色a级片 | 天堂在线精品 | 看毛片网 | a天堂一码二码专区 | 免费日批视频 | av国产片 | 成人h免费观看视频 | 欧美久久综合网 | 无码高潮爽到爆的喷水视频 | 国产深夜福利在线 | 亚洲一级影片 | 成人免费国产 | 日本少妇丰满大bbb的小乳沟 | 日日碰狠狠躁久久躁婷婷 | 国产色无码专区在线观看 | 亚洲一级av毛片 | 日韩伦理一区二区 | 性欧美在线视频观看 | 亚洲手机在线 | 国产一区自拍视频 | 国产又粗又猛又大爽 | 日本国产三级xxxxxx | 日本三级高清视频 | 91张津瑜 午夜在线播放 | 人妻体内射精一区二区 | 无遮挡呻吟娇喘视频免费播放 | 色姑娘久| 一级片啪啪 | 中文无码久久精品 | 黑人狂躁日本妞一区二区三区 | 一区二区三区在线观看免费 | 国产精品视频123 | 国产成人av乱码在线观看 | 日产亚洲一区二区三区 | 美女网站免费视频 | 天天想夜夜操 | 精品免费看 | 早起邻居人妻奶罩太松av | 大色综合色综合网站 | 国产在线高潮 | 亚洲人成一区 | 久久爱涩涩www | 岛国精品 | 国产av久久久久精东av | h片在线观看免费 | 欧美中文字幕在线视频 | 成人91在线 | a级片在线观看 | 欧美 亚洲 国产 另类 | bt天堂新版中文在线地址 | 性史性农村dvd毛片 永久黄网站色视频免费直播 | 交专区videossex| 中文字字幕在线中文 | 亚洲无线一二三四区手机 | 日韩在线一区二区三区 | 国产日韩欧美一区二区久久精品 | 色哟哟免费 | 国产又黄又爽刺激片 | 美女的胸给男人玩视频 | 亚洲欧美色图视频 | 狠狠躁天天躁综合网 | 欧美大片抢先看 | 香蕉黄色网| 一本加勒比hezyo无码资源网 | 亚洲网站av| 99久久久久久久久 | 叼嘿视频在线免费观看 | 人人干av| h狠狠躁死你h出轨高h | 一本一本久久a久久综合精品 | 日韩在线激情视频 | 粉嫩欧美一区二区三区 | 91视频在线国产 | 日韩不卡中文字幕 | 国产在线区 | 免费观看色 | 222aaa免费国产在线观看 | 97香蕉超级碰碰久久免费软件 | 成人做爰高潮片免费视频韩国 | 国产成人+亚洲欧洲+综合 | 青青草久久爱 | 国产欧美精品一区二区三区四区 | 欧美一区二区三区久久综合 | 亚洲综合精品第一页 | 国产午夜在线观看 | 欧美一级片免费 | 天天撸夜夜操 | 亚洲乱亚洲乱妇小说网 | 中文字幕日韩国产 | 久久久精品麻豆 | 久久久久久国产精品mv | 日本在线黄色 | 久久爽精品区穿丝袜 | 亚洲男人的天堂在线观看 | 亚洲中文字幕乱码av波多ji | 午夜一区二区国产好的精华液 | 在线看毛片的网站 | 老头吃奶性行交 | 99久久精品免费看国产小宝寻花 | h中文字幕| 日本高清www色视频 国产一区日韩二区欧美三区 | 大尺度做爰呻吟62集 | 欧美日色 | 8x8ⅹ国产精品一区二区 | 依人久久| 国产福利视频 | 91视频看片| 色综合视频在线观看 | aaa日本裸体 | h片在线观看视频 | 波多野42部无码喷潮 | 欧美成年黄网站色视频 | aaa日本高清在线播放免费观看 | 国产一级做a爰片久久毛片男男 | av伦理在线| av影音在线观看 | 亚洲精品3p | 老色69久久九九精品高潮 | 国产宾馆自拍 | 中文字幕一区二区在线视频 | 少妇沉沦哀羞迎合呻吟视频 | 亚洲码与欧洲码一二三四区 | 在线免费激情视频 | 国产网站免费观看 | 无码一区二区 | 国产无遮挡一区二区三区毛片日本 | 4438国产精品一区二区 | 国产疯狂性受xxxxx喷水 | 中文字幕人成乱码熟女app | 成人无码视频在线观看网址 | 亚洲网视频 | 99久久国产热无码精品免费 | 91免费视频入口 | 欧美日韩亚洲精品瑜伽裤 | 日本高清二区 | 欧美黄视频| 免费无码av片在线观看网站 | 久久精品日产第一区二区三区乱码 | 欧美伊人| www我爱av | 污污视频在线观看网站 | 日本免费高清一本视频 | 国产精品夜间视频香蕉 | 中文字幕av资源 | 亚洲精品久久久日韩美女极品 | 成人做爰免费视频免费看 | 亚洲综合性网 | 黄色片在线观看视频 | 日本黄色天堂 | 小拗女一区二区三区 | 涩色视频| 99在线成人精品视频 | 日韩毛片在线播放 | 欧美熟妇另类久久久久久不卡 | 久久精品国产精品亚洲艾草网 | 网红福利视频 | 少妇高潮一区二区三区99小说 | 日韩中文字幕一区二区 | 波多野结衣中文一区 | 亚洲女同一区二区 | 一道本道加勒比天天看 | 色一欲一性一乱—区二区三区 | 少妇15p| 一级黄色视| 在线人成视频播放午夜福利 | 在线资源站 | 国产又爽又黄又无遮挡的激情视频 | 亚洲 丝袜 另类 校园 欧美 | 日韩av激情在线观看 | 亚洲国产精品成人久久 | 免费一级a毛片在线播放 | 亚洲熟女乱色综合亚洲图片 | 国产男女爽爽爽免费视频 | 女人18毛片水最多 | 亚洲精品一区二区三区中文字幕 | 日本乳奶水流出来高清xxxx | 亚洲精品久久久久av无码 | 免费无码又爽又刺激高潮软件 | 日本三级韩国三级美三级91 | 国产精品久久久久久久久久白浆 | 夜夜高潮夜夜爽夜夜爱 | 无码精品国产va在线观看 | 69热在线 | 亚洲色婷婷六月亚洲婷婷6月 | 欧美日韩另类一区二区 | 中文字字幕在线 | 夜夜天堂| 邻居少妇张开腿让我爽了在线观看 | 午夜成人理论福利片 | 九九热精品视频在线 | 超碰免费公开 | 亚洲性久久9久久爽 | 少妇久久久久久久 | 国产成人精品日本亚洲i8 | 三及片在线观看 | 国产日产欧美 | 欧美性猛交xxxx乱大交极品 | 极品精品| 极品少妇hdxx麻豆hdxx | 久久99精品久久久久子伦 | 男人天堂成人 | 7777久久久国产精品 | 精品久久久一区 | 日韩在线视频在线观看 | 日本免费高清 | 久久99热只有频精品8 | 日韩av在线影院 | 秋霞欧洲| 久久摸摸碰碰97网站 | 看片网址国产福利av中文字幕 | 亚洲欧美成人aⅴ大片 | 偷窥福利视频 | 欧美人与禽猛交狂配 | 窝窝午夜色视频国产精品破 | 一本色道综合久久欧美日韩精品 | 最新网址av| 丁香啪啪综合成人亚洲 | 999一个人免费看ww | 精品人妻伦一二三区久久 | 天天综合网7799精品视频 | 我不卡一区二区 | 亚洲国产成人av毛片大全 | 国产精品久久久久久婷婷 | 99视频免费在线观看 | 少妇人妻av毛片在线看 | 韩国三级中文字幕hd久久精品 | 8ⅹ8x擦拨擦拨成人免费视频 | 啦啦啦中文在线视频免费观看 |