<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java知識匯總(一)

    1.面向對象的特征有哪些方面???
    1.抽象:
    抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是數據抽象。
    2.繼承:
    繼承是一種聯結類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。
    3.封裝:
    封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的界面。面向對象計算始于這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。
    4.?多態性:
    多態性是指允許不同類的對象對同一消息作出響應。多態性包括參數化多態性和包含多態性。多態性語言具有靈活、抽象、行為共享、代碼共享的優勢,很好的解決了應用程序函數同名問題。


    2、String是最基本的數據類型嗎?
    基本數據類型包括byte、int、char、long、float、double、boolean和short。
    java.lang.String類是final類型的,因此不可以繼承這個類、不能修改這個類。為了提高效率節省空間,我們應該用StringBuffer類


    3、int?和?Integer?有什么區別
    Java?提供兩種不同的類型:引用類型和原始類型(或內置類型)。Int是java的原始數據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。
    原始類型封裝類
    booleanBoolean
    charCharacter
    byteByte
    shortShort
    intInteger
    longLong
    floatFloat
    doubleDouble
    引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例數據時所指定的缺省值。對象引用實例變量的缺省值為?null,而原始類型實例變量的缺省值與它們的類型有關。


    4、String?和StringBuffer的區別
    JAVA平臺提供了兩個類:String和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數據。這個String類提供了數值不可改變的字符串。而這個StringBuffer類提供的字符串進行修改。當你知道字符數據要改變的時候你就可以使用StringBuffer。典型地,你可以使用StringBuffers來動態構造字符數據。


    5、運行時異常與一般異常有何異同?
    異常表示程序運行過程中可能出現的非正常狀態,運行時異常表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發生的非運行時異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。


    6、說出Servlet的生命周期,并說出Servlet和CGI的區別。
    Servlet被服務器實例化后,容器運行其init方法,請求到達時運行其service方法,service方法自動派遣運行與請求對應的doXXX方法(doGet,doPost)等,當服務器決定將實例銷毀的時候調用其destroy方法。
    與cgi的區別在于servlet處于服務器進程中,它通過多線程方式運行其service方法,一個實例可以服務于多個請求,并且其實例一般不會銷毀,而CGI對每個請求都產生新的進程,服務完成后就銷毀,所以效率上低于servlet。


    7、說出ArrayList,Vector,?LinkedList的存儲性能和特性
    ArrayList和Vector都是使用數組方式存儲數據,此數組元素數大于實際存儲的數據以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數組元素移動等內存操作,所以索引數據快而插入數據慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實現存儲,按序號索引數據需要進行前向或后向遍歷,但是插入數據時只需要記錄本項的前后項即可,所以插入速度較快。


    8、EJB是基于哪些技術實現的?并說出SessionBean和EntityBean的區別,StatefulBean和StatelessBean的區別。
    ????EJB包括Session?Bean、Entity?Bean、Message?Driven?Bean,基于JNDI、RMI、JAT等技術實現。
    SessionBean在J2EE應用程序中被用來完成一些服務器端的業務操作,例如訪問數據庫、調用其他EJB組件。EntityBean被用來代表應用系統中用到的數據。
    對于客戶機,SessionBean是一種非持久性對象,它實現某些在服務器上運行的業務邏輯。
    對于客戶機,EntityBean是一種持久性對象,它代表一個存儲在持久性存儲器中的實體的對象視圖,或是一個由現有企業應用程序實現的實體。
    Session?Bean?還可以再細分為?Stateful?Session?Bean?與?Stateless?Session?Bean?,這兩種的?Session?Bean都可以將系統邏輯放在?method之中執行,不同的是?Stateful?Session?Bean?可以記錄呼叫者的狀態,因此通常來說,一個使用者會有一個相對應的?Stateful?Session?Bean?的實體。Stateless?Session?Bean?雖然也是邏輯組件,但是他卻不負責記錄使用者狀態,也就是說當使用者呼叫?Stateless?Session?Bean?的時候,EJB?Container?并不會找尋特定的?Stateless?Session?Bean?的實體來執行這個?method。換言之,很可能數個使用者在執行某個?Stateless?Session?Bean?的?methods?時,會是同一個?Bean?的?Instance?在執行。從內存方面來看,?Stateful?Session?Bean?與?Stateless?Session?Bean?比較,?Stateful?Session?Bean?會消耗?J2EE?Server?較多的內存,然而?Stateful?Session?Bean?的優勢卻在于他可以維持使用者的狀態。


    9、Collection?和?Collections的區別。?
      Collection是集合類的上級接口,繼承與他的接口主要有Set?和List.
    Collections是針對集合類的一個幫助類,他提供一系列靜態方法實現對各種集合的搜索、排序、線程安全化等操作。


    10、&和&&的區別。?
    ????&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)。


    11、HashMap和Hashtable的區別。?
    ????HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完成了Map接口,主要區別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。
    HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。
    HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。?
    Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map?interface的一個實現。
    最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap?就必須為之提供外同步。?
    Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。


    12、final,?finally,?finalize的區別。?
      final?用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。
    finally是異常處理語句結構的一部分,表示總是執行。
    finalize是Object類的一個方法,在垃圾收集器執行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉文件等。


    13、sleep()?和?wait()?有什么區別??
    ????sleep是線程類(Thread)的方法,導致此線程暫停執行指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時后會自動恢復。調用sleep不會釋放對象鎖。
    wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發出notify方法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態。


    14、Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
    方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫?(Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。


    15、error和exception有什么區別?
    error?表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。
    ????exception?表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。


    16、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。
    如果數據將在線程間共享。例如正在寫的數據以后可能被另一個線程讀到,或者正在讀的數據可能已經被另一個線程寫過了,那么這些數據就是共享數據,必須進行同步存取。
    當應用程序在對象上調用了一個需要花費很長時間來執行的方法,并且不希望讓程序等待方法的返回時,就應該使用異步編程,在很多情況下采用異步途徑往往更有效率。


    17、abstract?class和interface有什么區別?
    聲明方法的存在而不去實現它的類被叫做抽象類(abstract?class),它用于要創建一個體現某些基本行為的類,并為該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract?類的實例。然而可以創建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract?類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。
    接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static?final成員變量。接口的實現與子類相似,除了該實現類不能從接口定義中繼承行為。當類實現特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現了該接口的類的任何對象上調用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態聯編將生效。引用可以轉換到接口類型或從接口類型轉換,instanceof?運算符可以用來決定某對象的類是否實現了接口。


    18、heap和stack有什么區別。
    棧是一種線形集合,其添加和刪除元素的操作應在同一段完成。棧按照后進先出的方式進行處理。
    堆是棧的一個組成元素


    19、forward?和redirect的區別
    forward是服務器請求資源,服務器直接訪問目標地址的URL,把那個URL的響應內容讀取過來,然后把這些內容再發給瀏覽器,瀏覽器根本不知道服務器發送的內容是從哪兒來的,所以它的地址欄中還是原來的地址。
    ????redirect就是服務端根據邏輯,發送一個狀態碼,告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛才請求的所有參數重新請求,所以session,request參數都可以獲取。?


    20、EJB與JAVA?BEAN的區別?
    Java?Bean?是可復用的組件,對Java?Bean并沒有嚴格的規范,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由于Java?Bean是被容器所創建(如Tomcat)的,所以Java?Bean應具有一個無參的構造器,另外,通常Java?Bean還要實現Serializable接口用于實現Bean的持久性。Java?Bean實際上相當于微軟COM模型中的本地進程內COM組件,它是不能被跨進程訪問的。Enterprise?Java?Bean?相當于DCOM,即分布式組件。它是基于Java的遠程方法調用(RMI)技術的,所以EJB可以被遠程訪問(跨進程、跨計算機)。但EJB必須被布署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容器所創建和管理。客戶通過容器來訪問真正的EJB組件。

    21、Static?Nested?Class?和?Inner?Class的不同。
    ????Static?Nested?Class是被聲明為靜態(static)的內部類,它可以不依賴于外部類實例被實例化。而通常的內部類需要在外部類實例化后才能實例化。

    22、JSP中動態INCLUDE與靜態INCLUDE的區別?
    動態INCLUDE用jsp:include動作實現?<jsp:include?page="included.jsp"?flush="true"?/>它總是會檢查所含文件中的變化,適合用于包含動態頁面,并且可以帶參數。
    靜態INCLUDE用include偽碼實現,定不會檢查所含文件的變化,適用于包含靜態頁面<%@?include?file="included.htm"?%>?


    23、什么時候用assert。?
    ????assertion(斷言)在軟件開發中是一種常用的調試方式,很多開發語言中都支持這種機制。在實現中,assertion就是在程序中的一條語句,它對一個boolean表達式進行檢查,一個正確程序必須保證這個boolean表達式的值為true;如果該值為false,說明程序已經處于不正確的狀態下,系統將給出警告或退出。一般來說,assertion用于保證程序最基本、關鍵的正確性。assertion檢查通常在開發和測試時開啟。為了提高性能,在軟件發布后,assertion檢查通常是關閉的。


    24、GC是什么??為什么要有GC??
      GC是垃圾收集的意思(Gabage?Collection),內存處理是編程人員容易出現問題的地方,忘記或者錯誤的內存回收會導致程序或系統的不穩定甚至崩潰,Java提供的GC功能可以自動監測對象是否超過作用域從而達到自動回收內存的目的,Java語言沒有提供釋放已分配內存的顯示操作方法。

    ?
    25、short?s1?=?1;?s1?=?s1?+?1;有什么錯??short?s1?=?1;?s1?+=?1;有什么錯??
    ????short?s1?=?1;?s1?=?s1?+?1;?(s1+1運算結果是int型,需要強制轉換類型)
    short?s1?=?1;?s1?+=?1;(可以正確編譯)


    26、Math.round(11.5)等於多少??Math.round(-11.5)等於多少??
    ????Math.round(11.5)==12
    Math.round(-11.5)==-11
    round方法返回與參數最接近的長整數,參數加1/2后求其floor.


    27、String?s?=?new?String("xyz");創建了幾個String?Object??
    ????兩個


    28、設計4個線程,其中兩個線程每次對j增加1,另外兩個線程對j每次減少1。寫出程序。
    以下程序使用內部類實現線程,對j增減的時候沒有考慮順序問題。
    public?class?ThreadTest1{
    ??private?int?j;
    ??public?static?void?main(String?args[]){
    ThreadTest1?tt=new?ThreadTest1();
    Inc?inc=tt.new?Inc();
    Dec?dec=tt.new?Dec();
    for(int?i=0;i<2;i++){
    Thread?t=new?Thread(inc);
    t.start();
    t=new?Thread(dec);
    t.start();
    }
    }
    ??private?synchronized?void?inc(){
    j++;
    System.out.println(Thread.currentThread().getName()+"-inc:"+j);
    ??}
    ??private?synchronized?void?dec(){
    j--;
    System.out.println(Thread.currentThread().getName()+"-dec:"+j);
    ??}
    ??class?Inc?implements?Runnable{
    public?void?run(){
    for(int?i=0;i<100;i++){
    inc();
    }
    }
    ??}
    ??class?Dec?implements?Runnable{
    public?void?run(){
    for(int?i=0;i<100;i++){
    dec();
    }
    ?}
    ??}
    }


    29、Java有沒有goto?
    java中的保留字,現在沒有在java中使用。


    30、啟動一個線程是用run()還是start()?
    啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處于可運行狀態,這意味著它可以由JVM調度并執行。這并不意味著線程就會立即運行。run()方法可以產生必須退出的標志來停止一個線程。


    31、EJB包括(SessionBean,EntityBean)說出他們的生命周期,及如何管理事務的?
    SessionBean:Stateless?Session?Bean?的生命周期是由容器決定的,當客戶機發出請求要建立一個Bean的實例時,EJB容器不一定要創建一個新的Bean的實例供客戶機調用,而是隨便找一個現有的實例提供給客戶機。當客戶機第一次調用一個Stateful?Session?Bean?時,容器必須立即在服務器中創建一個新的Bean實例,并關聯到客戶機上,以后此客戶機調用Stateful?Session?Bean?的方法時容器會把調用分派到與此客戶機相關聯的Bean實例。
    EntityBean:Entity?Beans能存活相對較長的時間,并且狀態是持續的。只要數據庫中的數據存在,Entity?beans就一直存活。而不是按照應用程序或者服務進程來說的。即使EJB容器崩潰了,Entity?beans也是存活的。Entity?Beans生命周期能夠被容器或者?Beans自己管理。
    EJB通過以下技術管理實務:對象管理組織(OMG)的對象實務服務(OTS),Sun?Microsystems的Transaction?Service(JTS)、Java?Transaction?API(JTA),開發組(X/Open)的XA接口。


    32、應用服務器有那些?
    BEA?WebLogic?Server,IBM?WebSphere?Application?Server,Oracle9i?Application?Server,jBoss,Tomcat


    33、給我一個你最常見到的runtime?exception。
    ArithmeticException,?ArrayStoreException,?BufferOverflowException,?BufferUnderflowException,?CannotRedoException,?CannotUndoException,?ClassCastException,?CMMException,?ConcurrentModificationException,?DOMException,?EmptyStackException,?IllegalArgumentException,?IllegalMonitorStateException,?IllegalPathStateException,?IllegalStateException,?ImagingOpException,?IndexOutOfBoundsException,?MissingResourceException,?NegativeArraySizeException,?NoSuchElementException,?NullPointerException,?ProfileDataException,?ProviderException,?RasterFormatException,?SecurityException,?SystemException,?UndeclaredThrowableException,?UnmodifiableSetException,?UnsupportedOperationException


    34、接口是否可繼承接口??抽象類是否可實現(implements)接口??抽象類是否可繼承實體類(concrete?class)?
    接口可以繼承接口。抽象類可以實現(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。


    35、List,?Set,?Map是否繼承自Collection接口?
    ????List,Set是,Map不是


    36、說出數據連接池的工作機制是什么?
    J2EE服務器啟動時會建立一定數量的池連接,并一直維持不少于此數目的池連接。客戶端程序需要連接時,池驅動程序會返回一個未使用的池連接并將其表記為忙。如果當前沒有空閑連接,池驅動程序就新建一定數量的連接,新建連接的數量有配置參數決定。當使用的池連接調用完成后,池驅動程序將此連接表記為空閑,其他調用就可以使用這個連接。


    37、abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
    ????都不能


    38、數組有沒有length()這個方法??String有沒有length()這個方法?
    數組沒有length()這個方法,有length的屬性。String有有length()這個方法。


    39、Set里的元素是不能重復的,那么用什么方法來區分重復與否呢??是用==還是equals()??它們有何區別?
    Set里的元素是不能重復的,那么用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相等。

    ????equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。


    40、構造器Constructor是否可被override?
    構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。
    ?
    ?
    41、是否可以繼承String類?
    String類是final類故不可以繼承。


    42、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
    switch(expr1)中,expr1是一個整數表達式。因此傳遞給?switch?和?case?語句的參數應該是?int、?short、?char?或者?byte。long,string?都不能作用于swtich。


    43、try?{}里有一個return語句,那么緊跟在這個try后的finally?{}里的code會不會被執行,什么時候被執行,在return前還是后?
    會執行,在return前執行。


    44、編程題:?用最有效率的方法算出2乘以8等於幾??
    2?<<?3


    45、兩個對象值相同(x.equals(y)?==?true),但卻可有不同的hash?code,這句話對不對?
    不對,有相同的hash?code。


    46、當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞??
    是值傳遞。Java?編程語言只有值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。


    47、當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?
    不能,一個對象的一個synchronized方法只能由一個線程訪問。


    48、編程題:?寫一個Singleton出來。
    Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。
    一般Singleton模式通常有幾種種形式:
    第一種形式:?定義一個類,它的構造函數為private的,它有一個static的private的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調用其中的方法。
    public?class?Singleton?{
    private?Singleton(){}
      ????file://在自己內部定義自己一個實例,是不是很奇怪?
      ????file://注意這是private?只供內部調用
      ????private?static?Singleton?instance?=?new?Singleton();
      ????file://這里提供了一個供外部訪問本class的靜態方法,可以直接訪問  
      ????public?static?Singleton?getInstance()?{
        ????return?instance;?  
      ????}?
    ????}?
    ????第二種形式:?
    public?class?Singleton?{?
      private?static?Singleton?instance?=?null;
      public?static?synchronized?Singleton?getInstance()?{
      file://這個方法比上面有所改進,不用每次都進行生成對象,只是第一次   ? 
      file://使用時生成實例,提高了效率!
      if?(instance==null)
        instance=new?Singleton();
    return?instance;?  }?
    }?
    其他形式:
    定義一個類,它的構造函數為private的,所有方法為static的。
    一般認為第一種形式要更加安全些?


    49、Java的接口和C++的虛類的相同和不同處。
    由于Java不支持多繼承,而有可能某個類或對象要使用分別在幾個類或對象里面的方法或屬性,現有的單繼承機制就不能滿足要求。與繼承相比,接口有更高的靈活性,因為接口中沒有任何實現代碼。當一個類實現了接口以后,該類要實現接口里面所有的方法和屬性,并且接口里面的屬性在默認狀態下面都是public?static,所有方法默認情況下是public.一個類可以實現多個接口。


    50、Java中的異常處理機制的簡單原理和應用。
    當JAVA程序違反了JAVA的語義規則時,JAVA虛擬機就會將發生的錯誤表示為一個異常。違反語義規則包括2種情況。一種是JAVA類庫內置的語義檢查。例如數組下標越界,會引發IndexOutOfBoundsException;訪問null的對象時會引發NullPointerException。另一種情況就是JAVA允許程序員擴展這種語義檢查,程序員可以創建自己的異常,并自由選擇在何時用throw關鍵字引發異常。所有的異常都是java.lang.Thowable的子類。



    posted on 2006-06-09 15:21 nbt 閱讀(226) 評論(0)  編輯  收藏 所屬分類: Java2SE相關

    <2006年6月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導航

    統計

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    Java技術網站

    友情鏈接

    國內一些開源網站

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费福利在线观看| 亚洲日韩一区二区一无码| 国产精品免费久久久久影院| 国产免费人人看大香伊| 国产AV无码专区亚洲AV琪琪| 亚洲A丁香五香天堂网 | 亚洲国产综合91精品麻豆| 成人黄网站片免费视频| 亚洲国产一区在线| 国产曰批免费视频播放免费s| 亚洲国产综合精品| 夜夜嘿视频免费看| 黄页网址大全免费观看12网站| 亚洲高清无码在线观看| 中国一级特黄的片子免费| 亚洲αv久久久噜噜噜噜噜| 在线看片免费人成视久网| 99999久久久久久亚洲| 国产精品深夜福利免费观看 | 99久久婷婷免费国产综合精品| 国产AV无码专区亚洲A∨毛片| 无码av免费网站| 亚洲乱理伦片在线观看中字| 亚洲成a人片在线观看国产| 国产免费无码一区二区 | 高潮毛片无遮挡高清免费视频| 亚洲精品无码专区久久同性男| 3344在线看片免费| 亚洲一区免费在线观看| 国产jizzjizz视频免费看| 任你躁在线精品免费| 亚洲乱人伦精品图片| 亚洲精品第一国产综合境外资源| 男人j进入女人j内部免费网站 | 粉色视频成年免费人15次| 亚洲精品乱码久久久久久久久久久久| 亚洲黄色免费在线观看| 美女视频黄a视频全免费网站色| 亚洲Av综合色区无码专区桃色| 免费看少妇作爱视频| 日本一区二区免费看|