日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java对象分配原理

發布時間:2023/12/10 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java对象分配原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java對象模型: OOP-Klass模型

在正式探討JVM對象的創建前,先簡單地介紹一下hotspot中實現的Java的對象模型。在JVM中,并沒有直接將Java對象映射成C++對象,而是采用了oop-klass模型,主要是不希望每個對象中都包含有一份虛函數表,其中:

  • OOP(Ordinary Object Point),表示對象的實例信息
  • Klass,是Java類的在C++中的表示,用來描述Java類的信息
  • 簡單地說,一個Java類在JVM中被拆分為了兩個部分:數據和描述信息,分別對應OOP和Klass。

    在具體的JVM源碼中,當加載一個Class時,會創建一個InstanceKlass對象,實例化的對象則對應InstanceOopDesc,其中InstanceKlass存放在元空間,InstanceOopDesc存放在堆中。

    對象創建過程

    首先先來看InstanceOopDesc的數據結構,InstanceOopDesc繼承了OopDesc,數據結構如下

    // 此處為了方便閱讀,改寫了一下代碼 class instanceOopDesc : public oopDesc {private:volatile markOop _mark;union _metadata {Klass* _klass;narrowKlass _compressed_klass;} _metadata; };

    其中_metadata指向該對象的InstanceKlass,而_mark中則存儲了對象運行時的狀態數據,數據結構如下(圖中為32位的情況下的數據,64位也大同小異)

    32 bits: -------- hash:25 ------------>| age:4 biased_lock:1 lock:2 (normal object) JavaThread*:23 epoch:2 age:4 biased_lock:1 lock:2 (biased object) size:32 ------------------------------------------>| (CMS free block) PromotedObject*:29 ---------->| promo_bits:3 ----->| (CMS promoted object)

    每一行都代表了一種情況,描述了哈希碼、GC分代年齡、鎖等狀態信息,如下:

    hash: 哈希碼 age: 分代年齡 biased_lock: 偏向鎖標識位 lock: 鎖狀態標識位 JavaThread*: 持有偏向鎖的線程ID epoch: 偏向時間戳

    instanceOopDesc其實保存的是對象的頭部信息,除了頭部信息,對象還有數據,對象數據緊跟著頭部后面,圖示如下:

    ?

    1. 入口

    ?

    上圖截取了一段程序字節碼,紅線所框對應了Java中new操作的字節碼,Java中的new操作對應了字節碼的三個操作,本文主要講述第一個操作(new)。字節碼中new操作對應JVM中的InterpreterRuntime::_new,代碼如下,

    // hotspot/share/interpreter/interpreterRuntime.cpp IRT_ENTRY(void, InterpreterRuntime::_new(JavaThread* thread, ConstantPool* pool, int index))Klass* k = pool->klass_at(index, CHECK);InstanceKlass* klass = InstanceKlass::cast(k);klass->check_valid_for_instantiation(true, CHECK); // 校驗:接口/抽象類/Class不能實例化klass->initialize(CHECK); // 初始化klassoop obj = klass->allocate_instance(CHECK); // 分配實例thread->set_vm_result(obj); IRT_END 里面主要包含了兩個部分:初始化klass和分配實例

    2. 初始化klass

    // hotspot/share/oops/instanceKlass.cpp void InstanceKlass::initialize(TRAPS) {if (this->should_be_initialized()) {initialize_impl(CHECK);} else {assert(is_initialized(), "sanity check");} }

    在這里我們繼續看initialize_impl()方法

    // hotspot/share/oops/instanceKlass.cpp void InstanceKlass::initialize_impl(TRAPS) {HandleMark hm(THREAD);link_class(CHECK); // 鏈接classbool wait = false;// Step 1{Handle h_init_lock(THREAD, init_lock());ObjectLocker ol(h_init_lock, THREAD, h_init_lock() != NULL);Thread *self = THREAD;// Step 2while(is_being_initialized() && !is_reentrant_initialization(self)) {wait = true;ol.waitUninterruptibly(CHECK);}// Step 3if (is_being_initialized() && is_reentrant_initialization(self)) {DTRACE_CLASSINIT_PROBE_WAIT(recursive, -1, wait);return;}// Step 4if (is_initialized()) {DTRACE_CLASSINIT_PROBE_WAIT(concurrent, -1, wait);return;}// Step 5if (is_in_error_state()) {DTRACE_CLASSINIT_PROBE_WAIT(erroneous, -1, wait);ResourceMark rm(THREAD);const char* desc = "Could not initialize class ";const char* className = external_name();size_t msglen = strlen(desc) + strlen(className) + 1;char* message = NEW_RESOURCE_ARRAY(char, msglen);if (NULL == message) {// Out of memory: can't create detailed error messageTHROW_MSG(vmSymbols::java_lang_NoClassDefFoundError(), className);} else {jio_snprintf(message, msglen, "%s%s", desc, className);THROW_MSG(vmSymbols::java_lang_NoClassDefFoundError(), message);}}// Step 6set_init_state(being_initialized);set_init_thread(self);}// Step 7if (!is_interface()) {Klass* super_klass = super();if (super_klass != NULL && super_klass->should_be_initialized()) {super_klass->initialize(THREAD);}if (!HAS_PENDING_EXCEPTION && has_nonstatic_concrete_methods()) {initialize_super_interfaces(THREAD);}if (HAS_PENDING_EXCEPTION) {Handle e(THREAD, PENDING_EXCEPTION);CLEAR_PENDING_EXCEPTION;{EXCEPTION_MARK;// Locks object, set state, and notify all waiting threadsset_initialization_state_and_notify(initialization_error, THREAD);CLEAR_PENDING_EXCEPTION;}DTRACE_CLASSINIT_PROBE_WAIT(super__failed, -1, wait);THROW_OOP(e());}}AOTLoader::load_for_klass(this, THREAD);// Step 8{assert(THREAD->is_Java_thread(), "non-JavaThread in initialize_impl");JavaThread* jt = (JavaThread*)THREAD;DTRACE_CLASSINIT_PROBE_WAIT(clinit, -1, wait);PerfClassTraceTime timer(ClassLoader::perf_class_init_time(),ClassLoader::perf_class_init_selftime(),ClassLoader::perf_classes_inited(),jt->get_thread_stat()->perf_recursion_counts_addr(),jt->get_thread_stat()->perf_timers_addr(),PerfClassTraceTime::CLASS_CLINIT);call_class_initializer(THREAD);}// Step 9if (!HAS_PENDING_EXCEPTION) {set_initialization_state_and_notify(fully_initialized, CHECK);{debug_only(vtable().verify(tty, true);)}}else {// Step 10 and 11Handle e(THREAD, PENDING_EXCEPTION);CLEAR_PENDING_EXCEPTION;JvmtiExport::clear_detected_exception((JavaThread*)THREAD);{EXCEPTION_MARK;set_initialization_state_and_notify(initialization_error, THREAD);CLEAR_PENDING_EXCEPTION;JvmtiExport::clear_detected_exception((JavaThread*)THREAD);}DTRACE_CLASSINIT_PROBE_WAIT(error, -1, wait);if (e->is_a(SystemDictionary::Error_klass())) {THROW_OOP(e());} else {JavaCallArguments args(e);THROW_ARG(vmSymbols::java_lang_ExceptionInInitializerError(),vmSymbols::throwable_void_signature(),&args);}}DTRACE_CLASSINIT_PROBE_WAIT(end, -1, wait); }

    2.1 鏈接

    // hotspot/share/oops/instanceKlass.cpp bool InstanceKlass::link_class_impl(bool throw_verifyerror, TRAPS) {if (is_linked()) {return true;}assert(THREAD->is_Java_thread(), "non-JavaThread in link_class_impl");JavaThread* jt = (JavaThread*)THREAD;// 先鏈接父類Klass* super_klass = super();if (super_klass != NULL) {if (super_klass->is_interface()) {ResourceMark rm(THREAD);Exceptions::fthrow(THREAD_AND_LOCATION,vmSymbols::java_lang_IncompatibleClassChangeError(),"class %s has interface %s as super class",external_name(),super_klass->external_name());return false;}InstanceKlass* ik_super = InstanceKlass::cast(super_klass);ik_super->link_class_impl(throw_verifyerror, CHECK_false);}// 鏈接該類的所有借口Array<Klass*>* interfaces = local_interfaces();int num_interfaces = interfaces->length();for (int index = 0; index < num_interfaces; index++) {InstanceKlass* interk = InstanceKlass::cast(interfaces->at(index));interk->link_class_impl(throw_verifyerror, CHECK_false);}if (is_linked()) {return true;}// 驗證 & 重寫{HandleMark hm(THREAD);Handle h_init_lock(THREAD, init_lock());ObjectLocker ol(h_init_lock, THREAD, h_init_lock() != NULL);if (!is_linked()) {if (!is_rewritten()) {{bool verify_ok = verify_code(throw_verifyerror, THREAD);if (!verify_ok) {return false;}}if (is_linked()) {return true;}// 重寫類rewrite_class(CHECK_false);} else if (is_shared()) {SystemDictionaryShared::check_verification_constraints(this, CHECK_false);}// 重寫完成后鏈接方法link_methods(CHECK_false);// 初始化vtable和itableClassLoaderData * loader_data = class_loader_data();if (!(is_shared() &&loader_data->is_the_null_class_loader_data())) {ResourceMark rm(THREAD);vtable().initialize_vtable(true, CHECK_false);itable().initialize_itable(true, CHECK_false);}// 將類的狀態標記為已鏈接set_init_state(linked);if (JvmtiExport::should_post_class_prepare()) {Thread *thread = THREAD;assert(thread->is_Java_thread(), "thread->is_Java_thread()");JvmtiExport::post_class_prepare((JavaThread *) thread, this);}}}return true; }

    class鏈接的過程就是這樣,主要步驟總結如下:

  • 鏈接父類和實現的接口
  • 重寫類
  • 初始化vtable和itable
  • 將類的狀態標記為已鏈接
  • 關于重寫類和初始化vtable、itable的內容有空新開一章,本文就不描述具體細節了。

    2.2 初始化過程

    這段初始化klass步驟在JVM規范中有詳細描述,假設當前類(接口)為C,它持有一個獨有的初始化鎖LC

  • 同步鎖LC,防止并發導致多次初始化
  • 如果有其他線程正在初始化C,就釋放LC并阻塞當前線程直到那個線程完成初始化
  • 如果是執行初始化的是當前線程,則表明是遞歸請求,釋放LC并正常完成初始化
  • 如果C已經被初始化了,則釋放LC并正常完成初始化
  • 如果C的對象處于一個錯誤狀態,則釋放LC并拋出NoClassDefFoundError異常
  • 記錄C正在被當前線程初始化并釋放LC,初始化類中所有final static字段
  • 如果C是一個類,初始化其父類和接口
  • 判斷C是否打開斷言
  • 執行類(接口)的初始化方法
  • 標記C已經完全初始化,并喚醒所有的等待線程
  • 如果初始化失敗,則拋出異常,并將C標記為錯誤,同時喚醒所有的等待線程
  • 上文為JVM11規范中的步驟,實際中可以看到hotspot在實現時和規范所寫略有偏差,但基本差不多。

    3. 分配實例

    // hotspot/share/oops/instanceKlass.cpp instanceOop InstanceKlass::allocate_instance(TRAPS) {bool has_finalizer_flag = has_finalizer(); // 是否存在非空finalize()方法int size = size_helper(); // 類的大小instanceOop i;i = (instanceOop)Universe::heap()->obj_allocate(this, size, CHECK_NULL); // 分配對象if (has_finalizer_flag && !RegisterFinalizersAtInit) {i = register_finalizer(i, CHECK_NULL);}return i; } 在這里我們比較關注的是堆空間分配對象環節,

    3.1 堆空間分配對象

    代碼如下:

    // hotspot/share/gc/shared/memAllocator.cpp oop MemAllocator::allocate() const {oop obj = NULL;{Allocation allocation(*this, &obj);HeapWord* mem = mem_allocate(allocation);if (mem != NULL) {obj = initialize(mem);}}return obj; } 很容易可以看到,此處的主流程分為兩個部分,內存分配和初始化。

    3.1.1 內存分配

    直接打開代碼,如下:

    // hotspot/share/gc/shared/memAllocator.cpp HeapWord* MemAllocator::mem_allocate(Allocation& allocation) const {if (UseTLAB) {HeapWord* result = allocate_inside_tlab(allocation);if (result != NULL) {return result;}}return allocate_outside_tlab(allocation); } 在這段代碼中,我們可以看到一個很耳熟的東西——TLAB(ThreadLocalAllocBuffer),默認情況下TLAB是打開狀態,而且其對Java性能提升非常顯著。首先,先簡單介紹一下TLAB的概念,

    因為JVM堆空間是所有線程共享的,因此分配一個對象時會鎖住整個堆,這樣效率就會比較低下。因此JVM在eden區分配了一塊空間作為線程的私有緩沖區,這個緩沖區稱為TLAB。不同線程不共享TLAB,因此在TLAB中分配對象時是無需上鎖的,從而可以快速分配。

    在這段代碼中,內存分配劃分為了兩個部分——TLAB內分配和TLAB外分配。

    a. TLAB內分配

    我們先來看看TLAB內分配的過程,

    // hotspot/share/gc/shared/memAllocator.cpp HeapWord* MemAllocator::allocate_inside_tlab(Allocation& allocation) const {HeapWord* mem = _thread->tlab().allocate(_word_size);if (mem != NULL) {return mem;}return allocate_inside_tlab_slow(allocation); }

    同樣的在TLAB的分配的過程中,也被拆成了兩種情況,一種是直接使用線程現有的TLAB來進行分配,代碼如下,在下面的這段代碼中,我們可以看到TLAB的分配就只是簡單地將top指針向上增加了size大小,并且將原先top的位置分配給了obj,因此分配效率可以說是極速了。(事實上,TLAB就是通過start、top、end等指針標記了TLAB的存儲信息以及分配空間)

    // hotspot/share/gc/shared/threadLocalAllocBuffer.inline.hpp inline HeapWord* ThreadLocalAllocBuffer::allocate(size_t size) {invariants(); // 校驗TLAB是否合法HeapWord* obj = top();if (pointer_delta(end(), obj) >= size) {set_top(obj + size);invariants();return obj;}return NULL; }

    接下來我們來看看TLAB內的慢分配,

    // hotspot/share/gc/shared/memAllocator.cpp HeapWord* MemAllocator::allocate_inside_tlab_slow(Allocation& allocation) const {HeapWord* mem = NULL;ThreadLocalAllocBuffer& tlab = _thread->tlab();if (ThreadHeapSampler::enabled()) {tlab.set_back_allocation_end();mem = tlab.allocate(_word_size);if (mem != NULL) {allocation._tlab_end_reset_for_sample = true;return mem;}}// 如果TLAB的剩余空間大于閾值,則保留TLAB,這樣就會進入TLAB外分配。在這里,每次TLAB分配失敗,該TLAB都會調大該閾值,以防線程重復分配同樣大小的對象if (tlab.free() > tlab.refill_waste_limit()) {tlab.record_slow_allocation(_word_size);return NULL;}// 計算一個新的TLAB的大小,公式=min{可用空間,期待空間+對象占據空間,最大TLAB空間}size_t new_tlab_size = tlab.compute_size(_word_size);// 清理原先的TLAB。會將剩余的未使用空間填充進一個假數組,創造EDEN連續的假象,并且將start、end、top等指針全部置為空tlab.clear_before_allocation();if (new_tlab_size == 0) {return NULL;}// 創建一個新的TLAB,空間可能在min_tlab_size到new_tlab_size之間size_t min_tlab_size = ThreadLocalAllocBuffer::compute_min_size(_word_size);mem = _heap->allocate_new_tlab(min_tlab_size, new_tlab_size, &allocation._allocated_tlab_size);if (mem == NULL) {return NULL;}// 將分配的空間數據全部清0if (ZeroTLAB) {Copy::zero_to_words(mem, allocation._allocated_tlab_size);}// 將mem位置分配word_size大小給objtlab.fill(mem, mem + _word_size, allocation._allocated_tlab_size);return mem; }

    b. TLAB外分配

    // hotspot/share/gc/shared/memAllocator.cpp HeapWord* MemAllocator::allocate_outside_tlab(Allocation& allocation) const {allocation._allocated_outside_tlab = true;HeapWord* mem = _heap->mem_allocate(_word_size, &allocation._overhead_limit_exceeded);if (mem == NULL) {return mem;}NOT_PRODUCT(_heap->check_for_non_bad_heap_word_value(mem, _word_size));size_t size_in_bytes = _word_size * HeapWordSize;_thread->incr_allocated_bytes(size_in_bytes);return mem; } 這里的核心關注點只有一個——堆內存分配,此處以openjdk11的默認GC——G1為例,看一看分配的過程。 // hotspot/share/gc/g1/g1CollectedHeap.cpp HeapWord* G1CollectedHeap::mem_allocate(size_t word_size,bool* gc_overhead_limit_was_exceeded) {assert_heap_not_locked_and_not_at_safepoint();if (is_humongous(word_size)) {return attempt_allocation_humongous(word_size);}size_t dummy = 0;return attempt_allocation(word_size, word_size, &dummy); }

    在G1中,對象的分配分為了兩種形式:大對象分配、普通分配。由于代碼比較長,簡單描述大對象的分配過程如下:

  • 檢查是否需要GC,如需要則觸發GC,因為大對象消耗堆的速度非常快
  • 計算大對象需要占據多少區塊,嘗試分配連續的空閑區塊
  • 如果沒有足夠的連續空間,找到一塊包含空閑和使用中的連續區塊,嘗試擴展
  • 嘗試GC,如果失敗達到閾值則分配失敗,進行下一步的普通分配
  • 接下來的普通分配過程較為復雜,本文就不再深入探究了。

    3.1.2 初始化對象

    代碼如下

    // hotspot/share/gc/shared/memAllocator.cpp oop ObjAllocator::initialize(HeapWord* mem) const {mem_clear(mem);return finish(mem); }其中mem_clear()方法比較簡單,就是將對象除頭部以外的數據全部置為0,代碼如下, // hotspot/share/gc/shared/memAllocator.cpp void MemAllocator::mem_clear(HeapWord* mem) const {const size_t hs = oopDesc::header_size();oopDesc::set_klass_gap(mem, 0);Copy::fill_to_aligned_words(mem + hs, _word_size - hs); }

    接下來看看finish()函數,

    // hotspot/share/gc/shared/memAllocator.cpp oop MemAllocator::finish(HeapWord* mem) const {assert(mem != NULL, "NULL object pointer");if (UseBiasedLocking) {oopDesc::set_mark_raw(mem, _klass->prototype_header());} else {oopDesc::set_mark_raw(mem, markOopDesc::prototype());}oopDesc::release_set_klass(mem, _klass);return oop(mem); }

    還記得對象頭中有兩個屬性mark和metadata嗎?finish()方法就是設置對象的頭部數據。

    3.2 注冊finalize()方法

    由于平時幾乎很少用到finalize(),且內部邏輯比較復雜,因此本文暫時不探究finalize的注冊機制。

    4. 整體流程

    整個JVM對象分配的整體流程大致如下,

    總結

    以上是生活随笔為你收集整理的Java对象分配原理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    午夜电影av | 亚洲成人黄 | 久久精品香蕉视频 | 中文字幕一区二区三区四区 | 开心激情综合网 | 91网址在线观看 | 国产1级视频 | 91视频中文字幕 | 日韩欧美高清一区二区三区 | 亚洲精品99| 亚洲国产丝袜在线观看 | 特级毛片aaa | 日日躁你夜夜躁你av蜜 | 天天插狠狠干 | 精品理论片 | 国产无遮挡猛进猛出免费软件 | 麻豆视频在线免费看 | 天堂入口网站 | 国产精品黄色 | 三级在线国产 | 91九色视频在线播放 | 国产精品地址 | 日韩av免费一区二区 | 日日摸日日添夜夜爽97 | 综合色天天 | 狠狠躁夜夜av| 久久久五月天 | 五月丁香 | 国产黄色视 | 最新日韩视频 | 91看片成人 | 黄网站大全 | 天天爽夜夜爽人人爽一区二区 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 人人网av | 国内揄拍国内精品 | 婷婷丁香视频 | 精品国模一区二区三区 | 久久成人国产 | 特级黄色一级 | 久久伊人综合 | 亚洲精品97 | 人人爱天天操 | 久久99精品久久久久久久久久久久 | 久久久精品日本 | 色播99 | 国产色视频网站2 | 成人一级片免费看 | 久久国产精品区 | 欧美一二三视频 | 欧美日韩国产一区二区三区在线观看 | 2019av在线视频 | 一区二区三区免费看 | 亚洲免费精品一区二区 | 免费av高清 | 久久久久 | www夜夜操| 首页中文字幕 | 成人在线视频免费看 | 波多野结衣综合网 | 园产精品久久久久久久7电影 | 成人午夜电影在线观看 | 99热这里只有精品8 久久综合毛片 | jizz999| 在线免费性生活片 | 国产丝袜一区二区三区 | 91传媒在线看 | 麻豆成人精品视频 | 天天综合在线观看 | 国产精品久久一 | 黄色网在线免费观看 | 日韩特级片 | 亚洲成人黄色在线 | 欧美一级日韩免费不卡 | 国产精品亚洲片在线播放 | 国产一二三四在线视频 | 精品不卡av | caobi视频 | 日韩欧美一区二区在线观看 | 国产福利网站 | 人人艹视频 | 91夫妻视频 | 免费看国产一级片 | 欧美一级在线看 | 天天摸天天弄 | 久久综合九色 | 亚洲一二三区精品 | 中文av网| 精品国产一区二 | 久久久久久久久久久成人 | 国产又粗又猛又爽 | 日日夜精品 | 久久久一本精品99久久精品66 | 99热精品在线 | 人人超碰在线 | 午夜色性片 | 黄色三级免费网址 | 美女免费视频网站 | 亚洲激情网站免费观看 | 夜夜高潮夜夜爽国产伦精品 | 久9在线 | 日韩午夜视频在线观看 | 国产精品久久久亚洲 | 狠狠88综合久久久久综合网 | 最近字幕在线观看第一季 | 久久免费视频在线观看6 | 美女一区网站 | 人人模人人爽 | 久久天堂精品视频 | 国产精品久久久久久婷婷天堂 | 在线免费黄色av | av丝袜美腿| 视频在线一区二区三区 | 超碰在线最新地址 | 日本成址在线观看 | 99一级片 | 99爱这里只有精品 | 精品久久久久久久久久岛国gif | 丁香婷婷激情五月 | 久草网站在线观看 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 欧美日韩久久不卡 | 国产一线天在线观看 | 黄色亚洲精品 | 久久久久这里只有精品 | 亚洲韩国一区二区三区 | 日日干视频| 天天综合中文 | 91视频在线自拍 | 欧美成人精品欧美一级乱 | 国产精品久久在线观看 | 天天曰天天| 国产精品高清av | 色综合综合 | 在线 视频 亚洲 | 四虎免费在线观看视频 | 精品亚洲成a人在线观看 | 久久综合久久综合久久 | 精品久久久一区二区 | 欧美日韩免费视频 | 欧美成人精品欧美一级乱 | 色吊丝在线永久观看最新版本 | 四虎国产精品免费观看视频优播 | 国产精品永久久久久久久www | 色婷婷六月 | 天天操网站 | 99久久影视 | 日本中文字幕在线视频 | 国产在线播放一区 | 亚州国产视频 | 成年人免费看片网站 | 青青草国产精品视频 | 久久这里只有精品视频99 | 91在线免费视频 | 亚洲在线成人精品 | 色狠狠狠| 精品国产1区 | 狠狠躁日日躁狂躁夜夜躁 | 91丨九色丨91啦蝌蚪老版 | 婷婷丁香在线 | 激情婷婷av | av中文字幕日韩 | 欧美乱淫视频 | 国产亚洲精品中文字幕 | 国产特级毛片aaaaaaa高清 | 精品一区精品二区高清 | 69国产精品成人在线播放 | 国产免费不卡av | 麻豆91精品 | 欧美成人aa | a视频在线观看 | 超碰个人在线 | 国产亚洲久一区二区 | 精品国产一区二区三区久久久久久 | www.夜夜操.com| 久久久久免费观看 | 日韩在线观看视频网站 | 欧美日韩国产在线观看 | 日韩特黄一级欧美毛片特黄 | 精品国产乱码 | 免费观看一区 | 久久成人精品 | 日韩免费视频一区二区 | 色视频网站在线 | 国产精品视频免费看 | 91成品视频 | 在线观看精品 | 欧美91精品久久久久国产性生爱 | 久草免费在线视频观看 | 久久久久色 | 免费在线色电影 | 久久精品人人做人人综合老师 | 欧美精品久久久久久久久久丰满 | 亚洲一区二区精品在线 | www.伊人网| 日韩欧美高清免费 | www.狠狠插.com | 99在线观看免费视频精品观看 | 四虎伊人| 久久久久久久国产精品影院 | 免费视频网 | www.精选视频.com | 欧美在线18 | 992tv人人草 黄色国产区 | 91丨九色丨国产女 | 日韩在线视频网 | 日韩一区二区三区免费视频 | wwwav视频| 婷婷五天天在线视频 | 91在线视频免费91 | 国产精品国产亚洲精品看不卡 | 日韩动漫免费观看高清完整版在线观看 | 国产第一页福利影院 | 久久精品美女视频 | 亚洲粉嫩av | 午夜精品一区二区三区免费视频 | 天堂v中文| 免费观看性生活大片 | 免费精品人在线二线三线 | 最近日本中文字幕 | 色永久免费视频 | 人人爽人人爽人人片 | 美女视频永久黄网站免费观看国产 | 日韩精品一区二区免费视频 | wwwav视频 | 欧美一区中文字幕 | 成人免费影院 | 久久综合狠狠狠色97 | 91精品国产一区 | 97超碰在线免费 | 中文字幕在线观看不卡 | 久草在线免费在线观看 | 五月天激情在线 | 五月天综合色 | 国产精品美女视频网站 | 日韩素人在线观看 | 国产精品久久久网站 | 激情五月婷婷综合网 | 欧美日韩在线观看一区二区三区 | 国产精品少妇 | 四虎成人av| 久久久久综合精品福利啪啪 | www免费| 中文高清av| 日韩中文字幕免费视频 | 麻豆视频在线看 | 亚洲午夜电影网 | 懂色av一区二区三区蜜臀 | 在线国产精品一区 | 国产欧美日韩精品一区二区免费 | 在线观看国产一区二区 | 日韩电影中文字幕在线观看 | 日韩精品一区二区不卡 | 一本—道久久a久久精品蜜桃 | 黄色三几片| 久久调教视频 | 射九九 | 91人人爱 | 九九热国产视频 | 日韩影视精品 | 尤物一区二区三区 | 岛国大片免费视频 | 日韩色一区二区三区 | 久久精品这里都是精品 | 国产在线黄色 | 久久综合久久综合久久综合 | 最近日本mv字幕免费观看 | 免费观看的av网站 | 亚洲一区日韩在线 | 免费观看久久 | av一级一片| 香蕉视频最新网址 | 欧美日韩国产高清视频 | 99精品欧美一区二区蜜桃免费 | 久久96 | 久久看视频 | 精品欧美一区二区三区久久久 | 日韩资源在线观看 | 中文在线免费观看 | 中文字幕日本电影 | 黄色成人影视 | 天天射一射| 成人在线视频免费看 | 婷婷久久综合九色综合 | 国产一级黄色免费看 | 81精品国产乱码久久久久久 | 国产精品精品国产婷婷这里av | 国产在线观看不卡 | 久久精品网| 亚洲免费a | 欧美性极品xxxx娇小 | 特级西西www44高清大胆图片 | 一级黄色片在线观看 | 成人蜜桃视频 | 超碰在线成人 | 欧美色图一区 | 国产精品一区二区在线免费观看 | av在线永久免费观看 | 最近中文字幕视频完整版 | 精品国产成人 | 香蕉影视在线观看 | 国产精品原创 | 天堂av在线网站 | 日韩一级片大全 | 中文不卡视频在线 | 午夜视频日本 | aⅴ精品av导航 | 香蕉视频在线观看免费 | 中文字幕在线观看播放 | 久久久久久久电影 | 99热最新网址 | 久草在线视频资源 | 久久婷婷一区二区三区 | 久久一区91 | 国产成人久久精品一区二区三区 | 国产精品久久久久久一二三四五 | 日韩,精品电影 | 91在线看视频 | 在线观看久久久久久 | 国产亚洲精品久久久久久电影 | 天天拍天天色 | 色婷婷午夜| 西西4444www大胆视频 | 国产高清在线a视频大全 | 亚洲乱码在线观看 | 国产成人精品日本亚洲999 | 日韩免费视频线观看 | 伊人五月天婷婷 | 91插插插免费视频 | 97超碰人人看 | 91在线看黄 | 亚洲午夜久久久综合37日本 | 久久国产精品小视频 | 91久久在线观看 | 国产黄在线 | av色图天堂网 | 国产亚洲精品成人av久久影院 | 国产一级小视频 | 国产一区二区观看 | 在线看黄色av | 亚洲精品视频偷拍 | 国产精品精品国产婷婷这里av | 精品产品国产在线不卡 | 日韩在线影视 | 国产一级电影在线 | 人人爽人人香蕉 | 色婷婷激情网 | 高清国产一区 | 九七视频在线观看 | 在线影院 国内精品 | 丁香资源影视免费观看 | 美女黄视频免费看 | 亚洲中字幕 | 久草精品视频在线播放 | 久久国产精彩视频 | 啪啪小视频网站 | 久久草在线视频国产 | 欧洲亚洲女同hd | 免费看黄的 | 麻豆av电影 | 天天爽天天爽夜夜爽 | 国产精品欧美久久久久天天影视 | 超碰在线97观看 | 国产精品久久一区二区三区不卡 | 日韩美女久久 | 丁香激情综合久久伊人久久 | 午夜精品一区二区三区视频免费看 | 天天干天天玩天天操 | 国产黄色精品在线观看 | 日韩在线一区二区免费 | 色婷婷骚婷婷 | 色全色在线资源网 | 久久夜色精品国产欧美一区麻豆 | 91精品国产高清自在线观看 | 国产精品久久久久久99 | 视频一区二区精品 | a视频在线观看 | 色婷婷福利 | 精品一区中文字幕 | 久久www免费视频 | 国产小视频在线免费观看 | 免费美女av| 国产精品免费在线 | 久久99久久99久久 | 99久久久国产精品 | 97碰碰精品嫩模在线播放 | av电影在线观看 | 久久久片 | 精品主播网红福利资源观看 | av网址在线播放 | 96国产精品| 成人午夜久久 | 国产免费黄色 | 麻豆影视在线播放 | 免费av小说 | a久久久久 | 亚洲一区日韩 | 69av网| 欧美日韩高清一区 | 欧美国产日韩一区二区三区 | 天堂网av在线 | 91av播放| 国产高清久久 | 久久综合九色综合97婷婷女人 | 久青草影院 | 成人全视频免费观看在线看 | 婷婷伊人综合亚洲综合网 | www.av在线.com | 日韩欧美精品一区二区 | 国产精品久久久久久久久搜平片 | 亚洲综合涩 | 综合久久婷婷 | 激情五月看片 | 伊人成人久久 | 中文字幕在线观看你懂的 | 日韩黄视频 | 国产色拍拍拍拍在线精品 | 黄色在线看网站 | 欧美a视频在线观看 | 美女搞黄国产视频网站 | 美女网站黄免费 | 又黄又爽的视频在线观看网站 | 狠狠色伊人亚洲综合成人 | 久久久久国产免费免费 | 91av社区| 色综合天天射 | 91麻豆精品国产91久久久更新时间 | 久久麻豆视频 | 欧美国产91 | 超碰人人国产 | 久久久久久久久久久精 | 丁香资源影视免费观看 | 99精品视频免费全部在线 | 久久久久在线观看 | 欧美一级特黄高清视频 | 亚a在线 | 波多野结衣精品 | 婷婷色吧| 国产精品18久久久久久久久 | 麻豆国产精品一区二区三区 | 色视频在线免费 | 人人插人人看 | 92精品国产成人观看免费 | 久久久蜜桃 | 成人91视频| 久久福利影视 | 欧美色图亚洲图片 | 天天色天天操天天爽 | 激情欧美xxxx | 日韩久久久 | 精品国内自产拍在线观看视频 | 日日操日日插 | 国产精品欧美一区二区三区不卡 | 欧美精品久久人人躁人人爽 | 成人午夜电影在线播放 | 国产资源免费 | 日本护士三级少妇三级999 | 五月婷在线观看 | 91九色在线观看视频 | 国模精品在线 | www.夜夜操.com | 久久国产剧场电影 | 91精品日韩| 久久中文欧美 | 免费在线观看不卡av | 九九热视频在线播放 | 日本在线观看中文字幕无线观看 | 国产剧情一区二区 | 国产精品一区二区免费看 | av福利网址导航 | 午夜影院在线观看18 | 国产视频综合在线 | 国产一级免费播放 | 成人久久18免费网站麻豆 | 99riav1国产精品视频 | 欧美日韩在线精品一区二区 | 欧美一区二视频在线免费观看 | 粉嫩aⅴ一区二区三区 | 国产一区免费 | 手机在线免费av | 日韩专区在线观看 | 在线 国产 亚洲 欧美 | 久草视频在线免费 | 91大神一区二区三区 | av+在线播放在线播放 | 欧美人zozo| 日日操日日 | 欧美一区免费观看 | 国产精品av免费观看 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 九月婷婷综合网 | 久久99久久99精品免视看婷婷 | 激情视频区 | 欧美经典久久 | 久久最新 | 玖玖玖在线观看 | 精品国产福利在线 | 国产精品高清在线观看 | 深夜免费小视频 | 日韩电影在线看 | 狠狠色综合欧美激情 | 日日爽天天操 | 中文字幕在线播放一区二区 | 超碰人人在线观看 | 国产精品久久电影网 | 十八岁以下禁止观看的1000个网站 | 精品国产乱码久久久久久三级人 | 国产成本人视频在线观看 | av成人黄色 | 91九色视频在线播放 | 玖玖玖影院 | 天天干天天操天天干 | 欧美一区二区三区四区夜夜大片 | 久久精品成人欧美大片古装 | 五月开心婷婷网 | 久久久电影 | 国产精品高潮呻吟久久av无 | 日韩有码网站 | 国产精品久久久久久五月尺 | av免费在线观看网站 | 日韩美在线观看 | 免费高清男女打扑克视频 | 国产精品美女999 | 国内精品一区二区 | 日日夜夜天天综合 | 免费在线a | 香蕉网在线播放 | 99精品欧美一区二区三区黑人哦 | 日韩av视屏 | 久久看片 | 久久免费视频2 | 三级av中文字幕 | 国产粉嫩在线 | 久久人操 | 中文字幕一区二区三区乱码在线 | 91精品一区二区三区久久久久久 | 精品一区二区免费在线观看 | 深爱激情站 | 国产午夜亚洲精品 | 国产91丝袜在线播放动漫 | 国产夫妻性生活自拍 | 成人蜜桃网| 久热av在线 | www.日日日.com| 狠狠色伊人亚洲综合网站野外 | 午夜精品久久久久99热app | 久久精品一区二区 | 国产尤物视频在线 | 色综合久久综合中文综合网 | 欧美ⅹxxxxxx | 九九99| 国产一级三级 | 日韩精品综合在线 | 日韩高清在线观看 | 欧美性极品xxxx做受 | 色av婷婷 | 国产精品99久久久久久有的能看 | 亚洲一区精品人人爽人人躁 | 亚洲丝袜一区二区 | 国产精品乱码久久久久 | 久久精品一区二区三区视频 | 国产在线欧美在线 | 国产美女视频免费观看的网站 | 伊人网综合在线观看 | 精品免费国产一区二区三区四区 | 808电影免费观看三年 | 一区二区三区精品在线视频 | av中文字幕亚洲 | 91精品无人成人www | 亚洲婷婷在线视频 | 99视频精品 | 黄网在线免费观看 | 国产在线一线 | 日本三级国产 | 日韩一区二区三免费高清在线观看 | 一区二区三区在线不卡 | 精品国产中文字幕 | 日韩成人在线一区二区 | 中文字幕免费高清在线观看 | 天天色中文 | 国产在线视频在线观看 | 99精品国产高清在线观看 | www.福利| 日色在线视频 | 国产一区播放 | 在线观看日韩国产 | 久久国内精品视频 | 九九色视频 | 国产精品久久久久久久久久久免费 | 婷婷久久综合九色综合 | 外国av网 | 日韩精选在线 | 超碰在线人人爱 | 精品亚洲一区二区三区 | 五月婷婷,六月丁香 | 91麻豆国产福利在线观看 | 一级片色播影院 | www.天天成人国产电影 | 成人一级免费视频 | 国产伦精品一区二区三区无广告 | 韩国在线一区二区 | 亚洲精品小视频 | 99一区二区三区 | 日本中文字幕观看 | 精品国产91亚洲一区二区三区www | 国精产品满18岁在线 | 久草在线高清视频 | 国产亚洲精品久久久网站好莱 | 国产手机免费视频 | 91系列在线观看 | 午夜av一区二区三区 | 人人看看人人 | 美女黄色网在线播放 | 久久久www成人免费毛片 | 美女视频黄频 | 91精品中文字幕 | 日韩免费av网址 | 国产精品电影在线 | 色a网| 国产高清免费观看 | 午夜12点 | 国产精品久久久久久久久久久久午 | 波多野结衣在线播放视频 | 狠狠精品 | 日免费视频 | 黄色aa久久 | 在线免费黄色 | 最近能播放的中文字幕 | av中文字幕在线看 | 中文字幕在线观看日本 | 欧美色婷婷 | 欧洲色吧| 人人澡超碰碰 | 日韩欧美大片免费观看 | 免费中文字幕视频 | 五月花激情 | 日韩在线视频免费看 | 综合网天天射 | 色综合天天爱 | 九九久久国产精品 | 国产成人777777 | 中文字幕一区二区三 | 亚洲成人av一区 | 午夜av在线免费 | 久久小视频 | 国产一区免费视频 | 国产大陆亚洲精品国产 | 日韩成人av在线 | 毛片a级片| 亚洲精品网页 | 国产成人精品久久亚洲高清不卡 | 狠狠操狠狠| 亚洲第二色 | 园产精品久久久久久久7电影 | av线上看 | 日韩精品一区二区三区电影 | 99久久精品视频免费 | 国产日韩欧美视频在线观看 | 蜜臀久久99精品久久久久久网站 | 久久久久网址 | 夜夜操天天干, | 色婷av | 91九色国产在线 | 91亚·色 | 午夜丁香视频在线观看 | 视频在线国产 | 婷婷丁香激情综合 | 丰满少妇麻豆av | 久久艹欧美 | 91久久爱热色涩涩 | 久久久久99精品国产片 | 亚洲黄色av网址 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 9992tv成人免费看片 | 欧美日韩亚洲第一页 | 一级成人网 | 人交video另类hd | 99精品免费在线观看 | 欧美一级免费高清 | 夜夜躁日日躁狠狠躁 | 国产高清av免费在线观看 | 久久久精品欧美 | 国产精品久久99精品毛片三a | 国产成人免费在线观看 | 欧美在线a视频 | av成人动漫 | 玖玖爱免费视频 | 最新免费中文字幕 | 国产精品99久久久久久久久 | 国产一区二区在线观看免费 | 亚洲精品欧美专区 | 国产一级片网站 | 久精品一区 | 欧美一级免费高清 | 婷婷网五月天 | 99精品欧美一区二区三区 | 99精品久久久久久久久久综合 | 九九视频热 | 一区二区视频播放 | 日韩另类在线 | 久操伊人 | 色爱成人网 | 天天干,天天干 | 天天综合入口 | 91精选在线 | 国产精品电影在线 | 99热.com| 国产美女无遮挡永久免费 | 久久伊人八月婷婷综合激情 | 五月婷婷开心中文字幕 | 亚洲最快最全在线视频 | 亚洲va欧美va| 国产成人精品一区二区三区在线观看 | 91人人射 | 日韩久久在线 | 美女免费黄网站 | 日本久久不卡视频 | 国产精品免费观看在线 | 欧洲亚洲女同hd | 中文字幕在线播放日韩 | 九九免费在线看完整版 | 97人人模人人爽人人喊网 | 亚洲,国产成人av | 欧洲一区二区三区精品 | 五月婷婷国产 | 国产福利一区在线观看 | 亚洲在线激情 | 日韩欧美亚州 | 午夜精品一区二区三区在线视频 | 大胆欧美gogo免费视频一二区 | 97成人在线免费视频 | 国产一区二区三区免费观看视频 | 久草在线欧美 | 国产色影院 | 精品一区二区6 | 日韩精品视频在线观看免费 | 激情欧美一区二区三区免费看 | 99久久99久国产黄毛片 | 亚洲综合欧美精品电影 | 西西4444www大胆艺术 | 五月天中文字幕 | 久久久久久久久福利 | 国产高清在线免费视频 | 美女网站在线 | 91一区啪爱嗯打偷拍欧美 | 国产精品婷婷午夜在线观看 | 99国产在线视频 | 国产高清视频免费在线观看 | 亚洲美女精品视频 | 国产拍在线| 国产高清综合 | 又黄又刺激又爽的视频 | 人人澡人摸人人添学生av | 婷婷五月在线视频 | 91免费网| 91精品高清| 欧美精彩视频在线观看 | 婷婷日韩| 亚洲电影院 | 天天艹日日干 | 精品一区二区三区香蕉蜜桃 | 日韩一区二区三区在线看 | 天天干,天天干 | 免费av成人在线 | 欧美国产精品久久久久久免费 | 欧美日一级片 | 一区二区三区久久精品 | 久久精品日本啪啪涩涩 | 免费毛片aaaaaa | 久久激情综合网 | 国产91精品看黄网站在线观看动漫 | 日韩极品视频在线观看 | 国产一区二区在线影院 | 亚洲精品国偷拍自产在线观看蜜桃 | 激情视频综合网 | 97人人模人人爽人人少妇 | 精品久久久网 | 成人av在线影院 | 婷婷播播网 | 激情久久综合 | 亚洲欧美成人在线 | 免费在线播放 | 激情久久伊人 | 成人欧美一区二区三区在线观看 | 亚洲精品视频在线观看视频 | 亚洲欧美视频在线 | 精品福利在线 | 在线看欧美 | 亚州性色 | 少妇bbb搡bbbb搡bbbb′ | 五月婷婷色综合 | 天天躁日日躁狠狠躁av麻豆 | 国产97在线播放 | 99这里只有久久精品视频 | 看片网站黄色 | 日韩大片在线观看 | 人人爽人人澡人人添人人人人 | 五月花激情 | 国产首页 | 在线观看国产日韩欧美 | 99热在线观看免费 | 国产精品久久久久久久久久久久冷 | 亚洲妇女av | 亚洲国产中文字幕在线 | 欧美成人h版在线观看 | 色九色| 天天操操操操操 | 成人av一区二区三区 | 免费在线91 | 亚洲自拍自偷 | www.伊人网| 日韩高清不卡在线 | 日韩网站在线 | 亚洲九九九 | 波多野结衣电影久久 | 激情影院在线观看 | 色婷婷视频在线 | 在线精品一区二区 | 欧美一区二区精品在线 | 五月婷综合 | 成人在线黄色 | 日韩高清三区 | 高清精品久久 | 成人性生交大片免费看中文网站 | 波多野结衣亚洲一区二区 | 国产美女精品久久久 | 欧美91片 | 久久国产精品99国产精 | 婷婷六月天丁香 | 国产精品对白一区二区三区 | 亚洲在线视频网站 | 91九色在线观看视频 | 日韩久久激情 | 亚洲一区二区精品视频 | www.av小说| 国产精品白虎 | av成人免费网站 | 婷婷激情影院 | 亚洲日本国产 | 最近中文字幕视频网 | 亚欧洲精品视频在线观看 | 国产高清视频免费 | 成人av动漫在线 | 1区2区视频 | 五月天狠狠操 | 一区二区中文字幕在线 | 欧美精品v国产精品 | 亚洲自拍偷拍色图 | 高清久久久 | 中文久久精品 | 久久综合爱 | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲精品乱码久久久久久久久久 | 国产又粗又猛又爽又黄的视频免费 | av成人免费观看 | 欧美a级片免费看 | 91av视频导航| 天天操网站| 久久精品视频中文字幕 | 国产精品久久久99 | 在线免费观看视频一区二区三区 | 在线观看亚洲a | 狠狠色丁香婷婷综合欧美 | 国产精品女同一区二区三区久久夜 | 欧美日一级片 | 狠狠操狠狠| 成人免费观看网站 | 91精品国 | 日韩欧美高清免费 | 国产精品视频大全 | 欧美二区视频 | 国产又粗又硬又爽视频 | 91黄色小网站 | 免费在线观看av网站 | 日韩视频一 | 久热超碰| 国产亚洲永久域名 | 国产h在线播放 | 黄色影院在线播放 | 91久久偷偷做嫩草影院 | 国产色婷婷精品综合在线手机播放 | 狠狠狠色丁香婷婷综合久久五月 | 91精品视频在线免费观看 | 国产精品免费视频网站 | 天天鲁天天干天天射 | 日日干av | 日本丰满少妇免费一区 | 最近中文字幕久久 | 日韩中文字幕免费视频 | 91麻豆精品国产自产在线 | 国产精品毛片一区二区在线看 | 国产黄色片在线免费观看 | 亚洲精品女人 | 中文字幕不卡在线88 | 亚洲成人精品久久久 | 亚洲精品国产品国语在线 | 国产精品免费视频观看 | 成年人国产精品 | 久久国产精品免费一区二区三区 | 国产一区二区视频在线 | 日韩精品久久久久久久电影竹菊 | 成人久久18免费网站麻豆 | 丰满少妇在线观看网站 | 国产玖玖精品视频 | 一级大片在线观看 | 午夜久久久影院 | 81国产精品久久久久久久久久 | 国产va在线观看免费 | 日韩中文字幕在线不卡 | 亚洲精品视频在线免费 | 婷婷丁香七月 | 草久久久 | 国产精品久久久久久久午夜 | 国产午夜视频在线观看 | 人人干人人上 | 亚洲性视频| 操少妇视频 | 色多视频在线观看 | 亚洲午夜激情网 | 夜夜躁狠狠躁日日躁视频黑人 | 一区二区中文字幕在线 | 奇米网777| 日韩国产精品久久久久久亚洲 | 日日日操| 丁香 久久 综合 | 久久亚洲精品电影 | 精品国产自在精品国产精野外直播 | 超碰电影在线观看 | 国产日韩视频在线观看 | 久久久久五月 | 日本中文字幕电影在线免费观看 | 在线免费观看视频a | 一区二区三区在线观看免费 | 色综合久久久久综合99 | 国产精品免费在线播放 | 日韩免费视频网站 | 久久久蜜桃 | 婷婷六月综合亚洲 | 亚洲激情一区二区三区 | 国产精品久久久久久久久久久久午夜片 | 五月婷婷天堂 | 国产成人精品电影久久久 | 国产日产精品久久久久快鸭 | 91九色蝌蚪视频网站 | 国产成人一二片 | 久草网站在线观看 | 久爱精品在线 | 精品视频专区 | 国产精品ssss在线亚洲 | www.人人草 | 91中文字幕在线观看 | 国产精品第一页在线观看 | 91精品国产一区二区三区 | 久久96国产精品久久99漫画 | 在线中文字幕网站 | 欧美成人xxx | 激情视频区 | 国色综合| av电影一区二区三区 | 日本精品视频网站 | 亚洲成av| a级免费观看 | 国产精品9999久久久久仙踪林 | 九色在线 | 九月婷婷色 | 日日日爽爽爽 | 日日碰狠狠添天天爽超碰97久久 | 激情偷乱人伦小说视频在线观看 | 激情综合色综合久久 | av在观看| 日韩高清在线一区二区 | 亚洲一区久久久 | 亚洲精品国偷自产在线91正片 | 国产精品成人一区二区三区 | 在线观看黄色小视频 | 久久婷婷精品视频 | 日韩色高清 | 日本中文一级片 | 中文资源在线观看 | 久操视频在线观看 | 国内精品久久影院 | 精品一区二区三区久久久 | 久色免费视频 | 天堂在线免费视频 | 91高清免费在线观看 | 99这里只有精品视频 | 香蕉视频在线观看免费 | 香蕉网在线观看 | 在线观看国产一区二区 | 夜夜夜影院 | 成人教育av | 黄色aa久久| 国产中年夫妇高潮精品视频 | 国产免费人成xvideos视频 | 久久九九九九 | 91久久久久久国产精品 | 亚洲视频 在线观看 | 国产精品久久久av久久久 |