<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中級(jí)開(kāi)發(fā)工程師知識(shí)點(diǎn)

          時(shí)間:2024-06-20 02:03:16 JAVA認(rèn)證

          Java中級(jí)開(kāi)發(fā)工程師知識(shí)點(diǎn)

            根據(jù)IDC的統(tǒng)計(jì)數(shù)字,在所有軟件開(kāi)發(fā)類人才的需求中,對(duì)Java程序員的需求達(dá)到全部需求量的60%~70%。同時(shí),Java程序員的薪水相對(duì)較高。yjbys小編收集了一些關(guān)于Java中級(jí)開(kāi)發(fā)工程師知識(shí)點(diǎn),希望大家認(rèn)真閱讀!

          Java中級(jí)開(kāi)發(fā)工程師知識(shí)點(diǎn)

            一、版本更新說(shuō)明:

            2015.03.09--------文章發(fā)布

            2015.03.11--------添加了Java IO機(jī)制中的種類和應(yīng)用場(chǎng)景的解釋,添加了Java內(nèi)存模型的相關(guān)知識(shí)點(diǎn)

            2015.03.13--------文章按技術(shù)劃分,增加J2EE規(guī)范的解釋

            2015.04.25--------增加對(duì)LRU緩存設(shè)計(jì)的描述

            2015.04.26--------增加對(duì)比較流行的開(kāi)源技術(shù)和開(kāi)源框架的介紹,對(duì)于這些技術(shù)的理解或使用可以增加自己的競(jìng)爭(zhēng)優(yōu)勢(shì),同時(shí)擴(kuò)展自己的眼界

            2015.04.27--------增加對(duì)數(shù)據(jù)庫(kù)事務(wù)的描述

            二、正文

            (一)Java

            1.接口和抽象類的區(qū)別

            ①抽象類里可以有構(gòu)造方法,而接口內(nèi)不能有構(gòu)造方法。

            ②抽象類中可以有普通成員變量,而接口中不能有普通成員變量。

            ③抽象類中可以包含非抽象的普通方法,而接口中所有的方法必須是抽象的,不能有非抽象的普通方法。

            ④抽象類中的抽象方法的訪問(wèn)類型可以是public ,protected和默認(rèn)類型,但接口中的抽象方法只有public和默認(rèn)類型。

            ⑤ 抽象類中可以包含靜態(tài)方法,接口內(nèi)不能包含靜態(tài)方法。

            ⑥抽象類和接口中都可以包含靜態(tài)成員變量,抽象類中的靜態(tài)成員變量的訪問(wèn)類型可以任意,但接口中定義的變量只能是public static類型,并且默認(rèn)為public static類型。

            ⑦一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,但只能繼承一個(gè)抽象類。

            ⑧接口更多的是在系統(tǒng)框架設(shè)計(jì)方法發(fā)揮作用,主要定義模塊之間的通信,而抽象類在代碼實(shí)現(xiàn)方面發(fā)揮作用,可以實(shí)現(xiàn)代碼的重用。

            2.Java虛擬機(jī)的運(yùn)行時(shí)數(shù)據(jù)區(qū)有幾塊?線程私有和線程共享區(qū)域有哪些?

            ①程序計(jì)數(shù)器:線程私有,當(dāng)前縣城執(zhí)行的字節(jié)碼的行號(hào)指示器。

            ②虛擬機(jī)棧:線程私有,存放基本數(shù)據(jù)類型、對(duì)象引用和returnAddress類型。

            ③本地方法棧:為虛擬機(jī)使用到的Native方法服務(wù)。

            ④Java堆:線程共享,存放對(duì)象的實(shí)例,也是GC回收器管理的主要區(qū)域。

            ⑤方法區(qū):線程共享,存放已被虛擬機(jī)加載的類信息、常量、靜態(tài)變量、即時(shí)編譯后的代碼等數(shù)據(jù)。

            ⑥運(yùn)行時(shí)常量池:方法區(qū)的一部分,存放編譯期生成的各種字面量和符號(hào)引用。

            ⑦直接內(nèi)存:不是虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)的一部分,也不是Java虛擬機(jī)規(guī)范中定義的內(nèi)存區(qū)域,容易引起OOM異常,NIO會(huì)調(diào)用,不受Java堆大小的限制。

            3.HashMap和HashTable區(qū)別?

            ①Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)。

            ②Hashtable的方法是同步的,而HashMap的方法不是,因此HashTable是線程安全的,但是代碼的執(zhí)行效率上要慢于HashMap。

            ③HashMap允許空值和空鍵,但是HashTable不可以。

            ④HashMap非同步實(shí)現(xiàn)Map接口,是一個(gè)“鏈表數(shù)組”的數(shù)據(jù)結(jié)構(gòu),最大承載量是16,可以自動(dòng)變長(zhǎng),由Entry[]控制(key,value,next),hashCode()判斷key是否重復(fù)。

            ⑤建議需要做同步,使用ConcurrentHashMap,降低了鎖的粒度。在hashMap的基礎(chǔ)上,ConcurrentHashMap將數(shù)據(jù)分為多個(gè)segment,默認(rèn)16個(gè)(concurrency level),然后每次操作對(duì)一個(gè)segment加鎖,避免多線程鎖得幾率,提高并發(fā)效率。這里在并發(fā)讀取時(shí),除了key對(duì)應(yīng)的value為null之外,并沒(méi)有使用鎖。

            4.ArrayList和LinkedList區(qū)別?

            ArrayList基于數(shù)組實(shí)現(xiàn),LinkedList基于鏈表實(shí)現(xiàn),ArrayList增加和刪除比LinkedList慢,但是LinkedList在查找的時(shí)需要遞歸查找,效率比ArrayList慢。關(guān)于多線程方面,如果要求線程安全的,有一個(gè)Vector,不過(guò)比較多的使用的是CopyOnWriteArrayList替代ArrayList,CopyOnWriteArrayList適合使用在讀操作遠(yuǎn)遠(yuǎn)大于寫(xiě)操作的場(chǎng)景里,比如緩存。發(fā)生修改時(shí)候做copy,新老版本分離,保證讀的高性能,適用于以讀為主的情況。

            5.Set接口

            ①HashSet是Set接口的典型實(shí)現(xiàn),HashSet按hash算法來(lái)存儲(chǔ)元素,因此具有很好的存取和查找性能。特點(diǎn):不能保證元素的排列順序,順序有可能發(fā)生變化;HashSet是異步的;集合元素值可以是null;當(dāng)向HashSet集合中存入一個(gè)元素時(shí),HashSet會(huì)調(diào)用該對(duì)象的hashCode()方法來(lái)得到該對(duì)象的hashCode值,然后根據(jù)該HashCode值來(lái)確定該對(duì)象在HashSet中存儲(chǔ)的位置。HashSet還有一個(gè)子類LinkedHashSet,其集合也是根據(jù)元素hashCode值來(lái)決定元素的存儲(chǔ)位置,但它同時(shí)用鏈表來(lái)維護(hù)元素的次序,這樣使得元素看起來(lái)是以插入的順序保存的,也就是說(shuō),當(dāng)遍歷LinkedHashSet集合元素時(shí),它將會(huì)按元素的添加順序來(lái)訪問(wèn)集合里的元素。所以LinkedHashSet的性能略低于HashSet,但在迭代訪問(wèn)全部元素時(shí)將有很好的性能,因?yàn)樗枣湵韥?lái)維護(hù)內(nèi)部順序。

            ②TreeSet是SortSet接口的唯一實(shí)現(xiàn),TreeSet可以確保集合元素處于排序狀態(tài)。TreeSet不是根據(jù)元素插入順序進(jìn)行排序的,而是根據(jù)元素的值來(lái)排序的。TreeSet支持兩種排序方法:自然排序和定制排序。

            ③EnumSet中所有值都必須是指定枚舉類型的值,它的元素也是有序的,以枚舉值在枚舉類的定義順序來(lái)決定集合元素的順序。EnumSet集合不允許加入null元素,否則會(huì)拋出NullPointerException異常。EnumSet類沒(méi)有暴露任何構(gòu)造器來(lái)創(chuàng)建該類的實(shí)例,程序應(yīng)該通過(guò)它提供的static方法來(lái)創(chuàng)建EnumSet對(duì)象。

            ④總結(jié):A、HashSet的性能比Treeset好,因?yàn)門(mén)reeSet需要額外的紅黑樹(shù)算法來(lái)維護(hù)集合元素的次序,只有當(dāng)需要一個(gè)保持排序的Set時(shí),才會(huì)用TreeSet。B、EnumSet是性能最好的,但它只能保存枚舉值。

            C、它們都是線程不安全的。

            注:Set是一種不包含重復(fù)的元素的Collection,即任意的兩個(gè)元素e1和e2都有e1.equals(e2)=false,Set最多有一個(gè)null元素。

            關(guān)于HashSet,條目數(shù)和容量之和來(lái)講,迭代是線性的。因此,如果迭代性能很重要,那就應(yīng)該慎重選擇一個(gè)適當(dāng)?shù)某跏既萘俊H萘窟x得太大,既浪費(fèi)空間,也浪費(fèi)時(shí)間。默認(rèn)的初試容量是101,一般來(lái)講,它比你所需要的要多。可以使用int構(gòu)造函數(shù)來(lái)指定初始容量。要分配HashSet的初始容量為17:

            Set s=new HashSet(17);

            HashSet另有一個(gè)稱作裝載因數(shù)(load factor)的"調(diào)整參數(shù)(tuning parameter)"。

            區(qū)別:

            1. HashSet是通過(guò)HashMap實(shí)現(xiàn)的,TreeSet是通過(guò)TreeMap實(shí)現(xiàn)的,只不過(guò)Set用的只是Map的key。

            2. Map的key和Set都有一個(gè)共同的特性就是集合的唯一性.TreeMap更是多了一個(gè)排序的功能.

            3. hashCode和equal()是HashMap用的, 因?yàn)闊o(wú)需排序所以只需要關(guān)注定位和唯一性即可.

            a. hashCode是用來(lái)計(jì)算hash值的,hash值是用來(lái)確定hash表索引的.

            b. hash表中的一個(gè)索引處存放的是一張鏈表, 所以還要通過(guò)equal方法循環(huán)比較鏈上的每一個(gè)對(duì)象 才可以真正定位到鍵值對(duì)應(yīng)的Entry.

            c. put時(shí),如果hash表中沒(méi)定位到,就在鏈表前加一個(gè)Entry,如果定位到了,則更換Entry中的value,并返回舊value

            4. 由于TreeMap需要排序,所以需要一個(gè)Comparator為鍵值進(jìn)行大小比較.當(dāng)然也是用Comparator定位的.

            a. Comparator可以在創(chuàng)建TreeMap時(shí)指定

            b. 如果創(chuàng)建時(shí)沒(méi)有確定,那么就會(huì)使用key.compareTo()方法,這就要求key必須實(shí)現(xiàn)Comparable接口.

            TreeMap是使用Tree數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的,所以使用compare接口就可以完成定位了.

            6.Java中Collection和Collections的區(qū)別

            ①java.util.Collection 是一個(gè)集合接口,它提供了對(duì)集合對(duì)象進(jìn)行基本操作的通用接口方法。java.util.Collections 是一個(gè)包裝類。

            ②它包含有各種有關(guān)集合操作的靜態(tài)多態(tài)方法。此類不能實(shí)例化,就像一個(gè)工具類,服務(wù)于Java的Collection框架。

            7.Java容器

            JAVA的容器---List,Map,Set

            Collection

            ├List

            │├LinkedList

            │├ArrayList

            │└Vector

            │ └Stack

            └Set

            Map

            ├Hashtable

            ├HashMap

            └WeakHashMap

            !其中的Vector和Stack類現(xiàn)在已經(jīng)極少使用。

            8.Cookie Session區(qū)別

            具體來(lái)說(shuō)cookie機(jī)制采用的是在客戶端保持狀態(tài)的方案,而session機(jī)制采用的是在服務(wù)器端保持狀態(tài)的方案.同時(shí)我們也看到,由于采用服務(wù)器端保持狀態(tài)的方案在客戶端也需要保存一個(gè)標(biāo)識(shí),所以session機(jī)制可能需要借助于cookie機(jī)制來(lái)達(dá)到保存標(biāo)識(shí)的目的,但實(shí)際上它還有其他選擇.

            cookie機(jī)制.正統(tǒng)的cookie分發(fā)是通過(guò)擴(kuò)展HTTP協(xié)議來(lái)實(shí)現(xiàn)的,服務(wù)器通過(guò)在HTTP的響應(yīng)頭中加上一行特殊的指示以提示瀏覽器按照指示生成相應(yīng)的cookie.然而純粹的客戶端腳本如JavaScript或者VBScript也可以生成cookie.而cookie的使用是由瀏覽器按照一定的原則在后臺(tái)自動(dòng)發(fā)送給服務(wù)器的.瀏覽器檢查所有存儲(chǔ)的cookie,如果某個(gè)cookie所聲明的作用范圍大于等于將要請(qǐng)求的資源所在的位置,則把該cookie附在請(qǐng)求資源的HTTP請(qǐng)求頭上發(fā)送給服務(wù)器.

            cookie的內(nèi)容主要包括:名字,值,過(guò)期時(shí)間,路徑和域.路徑與域一起構(gòu)成cookie的作用范圍.若不設(shè)置過(guò)期時(shí)間,則表示這個(gè)cookie的生命期為瀏覽器會(huì)話期間,關(guān)閉瀏覽器窗口,cookie就消失.這種生命期為瀏覽器會(huì)話期的cookie被稱為會(huì)話cookie.會(huì)話cookie一般不存儲(chǔ)在硬盤(pán)上而是保存在內(nèi)存里,當(dāng)然這種行為并不是規(guī)范規(guī)定的.若設(shè)置了過(guò)期時(shí)間,瀏覽器就會(huì)把cookie保存到硬盤(pán)上,關(guān)閉后再次打開(kāi)瀏覽器,這些cookie仍然有效直到超過(guò)設(shè)定的過(guò)期時(shí)間.存儲(chǔ)在硬盤(pán)上的cookie可以在不同的瀏覽器進(jìn)程間共享,比如兩個(gè)IE窗口.而對(duì)于保存在內(nèi)存里的cookie,不同的瀏覽器有不同的處理方式

            session機(jī)制.session機(jī)制是一種服務(wù)器端的機(jī)制,服務(wù)器使用一種類似于散列表的結(jié)構(gòu)(也可能就是使用散列表)來(lái)保存信息.

            當(dāng)程序需要為某個(gè)客戶端的請(qǐng)求創(chuàng)建一個(gè)session時(shí),服務(wù)器首先檢查這個(gè)客戶端的請(qǐng)求里是否已包含了一個(gè)session標(biāo)識(shí)(稱為session id),如果已包含則說(shuō)明以前已經(jīng)為此客戶端創(chuàng)建過(guò)session,服務(wù)器就按照session id把這個(gè)session檢索出來(lái)使用(檢索不到,會(huì)新建一個(gè)),如果客戶端請(qǐng)求不包含sessionid,則為此客戶端創(chuàng)建一個(gè)session并且生成一個(gè)與此session相關(guān)聯(lián)的session id,session id的值應(yīng)該是一個(gè)既不會(huì)重復(fù),又不容易被找到規(guī)律以仿造的字符串,這個(gè)session id將被在本次響應(yīng)中返回給客戶端保存.

            保存這個(gè)sessionid的方式可以采用cookie,這樣在交互過(guò)程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識(shí)發(fā)揮給服務(wù)器.一般這個(gè)cookie的名字都是類似于SEEESIONID.但cookie可以被人為的禁止,則必須有其他機(jī)制以便在cookie被禁止時(shí)仍然能夠把session id傳遞回服務(wù)器.

            經(jīng)常被使用的一種技術(shù)叫做URL重寫(xiě),就是把session id直接附加在URL路徑的后面.還有一種技術(shù)叫做表單隱藏字段.就是服務(wù)器會(huì)自動(dòng)修改表單,添加一個(gè)隱藏字段,以便在表單提交時(shí)能夠把session id傳遞回服務(wù)器.比如:實(shí)際上這種技術(shù)可以簡(jiǎn)單的用對(duì)action應(yīng)用URL重寫(xiě)來(lái)代替.

            9、面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別:

            面向過(guò)程就是分析出解決問(wèn)題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了。

            面向?qū)ο笫前褬?gòu)成問(wèn)題事務(wù)分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟,而是為了描敘某個(gè)事物在整個(gè)解決問(wèn)題的步驟中的行為。

            10、Java內(nèi)存模型

            ①Java內(nèi)存模型分為主內(nèi)存和工作內(nèi)存兩個(gè)部分,其中主內(nèi)存存放變量,工作內(nèi)存由每個(gè)線程創(chuàng)建和管理,保存被該線程使用到的變量的主內(nèi)存的副本拷貝。變量從主內(nèi)存復(fù)制到工作內(nèi)存,順序執(zhí)行read和load操作,變量從工作內(nèi)存同步到主內(nèi)存的時(shí)候,順序執(zhí)行store和write操作。

            對(duì)于volatile變量在各個(gè)線程的一致性:在各個(gè)線程的工作內(nèi)存中,volatile存在不一致的情況,但在每次使用前都會(huì)刷新,執(zhí)行引擎看不到不一致的情況,因此可以認(rèn)為不存在一致性問(wèn)題。

            ②原子性、可見(jiàn)性和有序性

            ③先行發(fā)生原則

            11、Java垃圾回收機(jī)制

            Java的垃圾回收機(jī)制是Java虛擬機(jī)提供的能力,用于在空閑時(shí)間以不定時(shí)的方式動(dòng)態(tài)回收無(wú)任何引用的對(duì)象占據(jù)的內(nèi)存空間。

            System.gc();

            Runtime.getRuntime().gc();

            上面的方法調(diào)用時(shí)用于顯式通知JVM可以進(jìn)行一次垃圾回收,但真正垃圾回收機(jī)制具體在什么時(shí)間點(diǎn)開(kāi)始發(fā)生動(dòng)作這同樣是不可預(yù)料的,這和搶占式的線程在發(fā)生作用時(shí)的原理一樣。

            12、類加載器,類加載時(shí)機(jī)

            類初始化的時(shí)機(jī),有且僅有四個(gè):

            A、遇到new、getstatic、putstatic、invokestatic這四條字節(jié)碼指令的時(shí)候。

            B、使用java.lang.reflect進(jìn)行反射調(diào)用的時(shí)候。

            C、當(dāng)初始化一個(gè)類的時(shí)候,發(fā)現(xiàn)其父類還沒(méi)有初始化,那么先去初始化它的父類。

            D、當(dāng)虛擬機(jī)啟動(dòng)的時(shí)候,需要初始化main函數(shù)所在的類。

            13、 Java IO和NIO區(qū)別

            ①NIO操作直接緩存區(qū),直接與OS交互,Selector IO復(fù)用機(jī)制。

            IO NIO

            面向流 面向緩沖

            阻塞IO 非阻塞IO

            無(wú) 選擇器

            Selector:Java NIO的選擇器允許一個(gè)單獨(dú)的線程來(lái)監(jiān)視多個(gè)輸入通道,你可以注冊(cè)多個(gè)通道使用一個(gè)選擇器,然后使用一個(gè)單獨(dú)的線程來(lái)“選擇”通道:這些通道里已經(jīng)有可以處理的輸入,或者選擇已準(zhǔn)備寫(xiě)入的通道。這種選擇機(jī)制,使得一個(gè)單獨(dú)的線程很容易來(lái)管理多個(gè)通道。

            ②NIO與Netty:A、NIO的類庫(kù)和API復(fù)雜,使用麻煩,需要熟練使用Selector、ServerSocketChannel、SOcketChannel、ByteBuffer等。B、NIO涉及到Reactor模式,需要了解Java多線程和網(wǎng)絡(luò)編程。C、JDKNIO Bug-epoll bug容易導(dǎo)致Selector空輪詢,最終導(dǎo)致CPU100%占用,雖然JDK1.6 update18修復(fù)了這個(gè)問(wèn)題,但是直到JDK1.7問(wèn)題依然存在,只是降低了發(fā)生的概率。

            ③Netty的優(yōu)點(diǎn):A、API簡(jiǎn)單,開(kāi)發(fā)門(mén)檻低;B、功能強(qiáng)大,預(yù)置了多種解碼功能,支持多種主流協(xié)議;C、可以通過(guò)ChannelHandler對(duì)通信框架進(jìn)行靈活的擴(kuò)展;D、性能高,Netty的綜合性能是最好的;E、Netty修復(fù)了一經(jīng)發(fā)現(xiàn)了所有的JDKNIO BUG,成熟,穩(wěn)定。

            同步和異步的概念描述的是用戶線程與內(nèi)核的交互方式:同步是指用戶線程發(fā)起IO請(qǐng)求后需要等待或者輪詢內(nèi)核IO操作完成后才能繼續(xù)執(zhí)行;而異步是指用戶線程發(fā)起IO請(qǐng)求后仍繼續(xù)執(zhí)行,當(dāng)內(nèi)核IO操作完成后會(huì)通知用戶線程,或者調(diào)用用戶線程注冊(cè)的回調(diào)函數(shù)。

            引申:

            Java中IO的種類和應(yīng)用場(chǎng)景:

            A、同步阻塞式:BIO。用于連接數(shù)目較小且固定的架構(gòu),對(duì)服務(wù)器資源占用高。

            B、偽異步IO變成:線程池和任務(wù)隊(duì)列。

            C、NIO編程:a、緩沖徐ByteBuffer;b、通道channel全雙工,同時(shí)用于讀寫(xiě);c、多路復(fù)用器selector。用于連接數(shù)目多且較短的架構(gòu),如聊天服務(wù)器等,但是編程復(fù)雜,存在epoll bug,導(dǎo)致Selector空輪詢,直至CPU占用達(dá)到100%,雖然在JDK1.6 update18中有對(duì)這個(gè)bug的修復(fù),但是在JDK1.7中依然可能會(huì)出現(xiàn)這個(gè)問(wèn)題,只是降低了bug出現(xiàn)的概率。

            D、AIO編程:用于連接數(shù)目多且較長(zhǎng)的架構(gòu),如相冊(cè)服務(wù)器等,充分調(diào)用OS參與并發(fā)操作,基于JDK1.7。

            阻塞和非阻塞的概念描述的是用戶線程調(diào)用內(nèi)核IO操作的方式:阻塞是指IO操作需要徹底完成后才返回到用戶空間;而非阻塞是指IO操作被調(diào)用后立即返回給用戶一個(gè)狀態(tài)值,無(wú)需等到IO操作徹底完成。

            14、Java鎖機(jī)制

            ①synchronized:把代碼塊聲明為 synchronized,有兩個(gè)重要后果,通常是指該代碼具有 原子性和可見(jiàn)性。作用:A、當(dāng)兩個(gè)并發(fā)線程訪問(wèn)同一個(gè)對(duì)象object中的這個(gè)synchronized(this)同步代碼塊時(shí),一個(gè)時(shí)間內(nèi)只能有一個(gè)線程得到執(zhí)行。另一個(gè)線程必須等待當(dāng)前線程執(zhí)行完這個(gè)代碼塊以后才能執(zhí)行該代碼塊。B、當(dāng)一個(gè)線程訪問(wèn)object的一個(gè)synchronized(this)同步代碼塊時(shí),另一個(gè)線程仍然可以訪問(wèn)該object中的非synchronized(this)同步代碼塊。C、尤其關(guān)鍵的是,當(dāng)一個(gè)線程訪問(wèn)object的一個(gè)synchronized(this)同步代碼塊時(shí),其他線程對(duì)object中所有其它synchronized(this)同步代碼塊的訪問(wèn)將被阻塞。

            A、原子性:原子性意味著個(gè)時(shí)刻,只有一個(gè)線程能夠執(zhí)行一段代碼,這段代碼通過(guò)一個(gè)monitor object保護(hù)。從而防止多個(gè)線程在更新共享狀態(tài)時(shí)相互沖突。

            B、可見(jiàn)性:可見(jiàn)性則更為微妙,它要對(duì)付內(nèi)存緩存和編譯器優(yōu)化的各種反常行為。它必須確保釋放鎖之前對(duì)共享數(shù)據(jù)做出的更改對(duì)于隨后獲得該鎖的另一個(gè)線程是可見(jiàn)的。

            C、volatile只保證可見(jiàn)性和禁止重排序,不保證原子性。

            ②synchronized限制:

            A.它無(wú)法中斷一個(gè)正在等候獲得鎖的線程;

            B.也無(wú)法通過(guò)投票得到鎖,如果不想等下去,也就沒(méi)法得到鎖;

            C.同步還要求鎖的釋放只能在與獲得鎖所在的堆棧幀相同的堆棧幀中進(jìn)行,多數(shù)情況下,這沒(méi)問(wèn)題(而且與異常處理交互得很好),但是,確實(shí)存在一些非塊結(jié)構(gòu)的鎖定更合適的情況。

            ③java.util.concurrent.lock:

            ReentrantLock 類實(shí)現(xiàn)了Lock,它擁有與synchronized 相同的并發(fā)性和內(nèi)存語(yǔ)義,但是添加了類似鎖投票、定時(shí)鎖等候和可中斷鎖等候的一些特性。此外,它還提供了在激烈爭(zhēng)用情況下更佳的性能。

            用sychronized修飾的方法或者語(yǔ)句塊在代碼執(zhí)行完之后鎖自動(dòng)釋放,而是用Lock需要我們手動(dòng)釋放鎖,所以為了保證鎖最終被釋放(發(fā)生異常情況),要把互斥區(qū)放在try內(nèi),釋放鎖放在finally內(nèi)。

            ④ReentrantWriteReadLock中的ReadLock和WWriteLock,在全為讀時(shí)實(shí)現(xiàn)并發(fā)讀,并發(fā)讀寫(xiě)或并發(fā)寫(xiě)時(shí)候加鎖。

            總結(jié):synchronized是Java原語(yǔ),阻塞的,競(jìng)爭(zhēng)鎖機(jī)制;新鎖更加面向?qū)ο螅⑶抑С种袛嗪椭С止芥i。

            15、Java基本數(shù)據(jù)類型

            boolean(1)、byte(8)、16)、short(16)、int(32)、float(32)、long(64)、double(64)

            16、Java內(nèi)存模型

            ①特點(diǎn):原子性、可見(jiàn)性、有序性。

            A、原子性:read、load、use、store、write,synchronized關(guān)鍵字保證原子性

            B、可見(jiàn)性:synchronized、volatile、final保證可見(jiàn)性

            C、有序性:synchronized保證有序性

            17、設(shè)計(jì)模式

            ①分類:

            創(chuàng)建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

            結(jié)構(gòu)型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。

            行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責(zé)任鏈模式、命令模式、備忘錄模式、狀態(tài)模式、訪問(wèn)者模式、中介者模式、解釋器模式。

            其實(shí)還有兩類:并發(fā)型模式和線程池模式。

            ②設(shè)計(jì)模式6大原則:

            A、開(kāi)閉原則(Open Close Principle)

            開(kāi)閉原則就是說(shuō)對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉。在程序需要進(jìn)行拓展的時(shí)候,不能去修改原有的代碼,實(shí)現(xiàn)一個(gè)熱插拔的效果。所以一句話概括就是:為了使程序的擴(kuò)展性好,易于維護(hù)和升級(jí)。想要達(dá)到這樣的效果,我們需要使用接口和抽象類,后面的具體設(shè)計(jì)中我們會(huì)提到這點(diǎn)。

            B、里氏代換原則(Liskov Substitution Principle)

            里氏代換原則(Liskov Substitution Principle LSP)面向?qū)ο笤O(shè)計(jì)的基本原則之一。 里氏代換原則中說(shuō),任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)。 LSP是繼承復(fù)用的基石,只有當(dāng)衍生類可以替換掉基類,軟件單位的功能不受到影響時(shí),基類才能真正被復(fù)用,而衍生類也能夠在基類的基礎(chǔ)上增加新的行為。里氏代換原則是對(duì)“開(kāi)-閉”原則的補(bǔ)充。實(shí)現(xiàn)“開(kāi)-閉”原則的關(guān)鍵步驟就是抽象化。而基類與子類的繼承關(guān)系就是抽象化的具體實(shí)現(xiàn),所以里氏代換原則是對(duì)實(shí)現(xiàn)抽象化的具體步驟的規(guī)范。—— From Baidu 百科

            C、依賴倒轉(zhuǎn)原則(Dependence Inversion Principle)

            這個(gè)是開(kāi)閉原則的基礎(chǔ),具體內(nèi)容:真對(duì)接口編程,依賴于抽象而不依賴于具體。

            D、接口隔離原則(Interface Segregation Principle)

            這個(gè)原則的意思是:使用多個(gè)隔離的接口,比使用單個(gè)接口要好。還是一個(gè)降低類之間的耦合度的意思,從這兒我們看出,其實(shí)設(shè)計(jì)模式就是一個(gè)軟件的設(shè)計(jì)思想,從大型軟件架構(gòu)出發(fā),為了升級(jí)和維護(hù)方便。所以上文中多次出現(xiàn):降低依賴,降低耦合。

            F、迪米特法則(最少知道原則)(Demeter Principle)

            為什么叫最少知道原則,就是說(shuō):一個(gè)實(shí)體應(yīng)當(dāng)盡量少的與其他實(shí)體之間發(fā)生相互作用,使得系統(tǒng)功能模塊相對(duì)獨(dú)立。

            F、合成復(fù)用原則(Composite Reuse Principle)

            原則是盡量使用合成/聚合的方式,而不是使用繼承。

            18、Java反射

            反射機(jī)制指的是程序在運(yùn)行時(shí)能夠獲取自身的信息。

            為什么要用反射機(jī)制?直接創(chuàng)建對(duì)象不就可以了嗎,這就涉及到了動(dòng)態(tài)與靜態(tài)的概念,

            靜態(tài)編譯:在編譯時(shí)確定類型,綁定對(duì)象,即通過(guò)。

            動(dòng)態(tài)編譯:運(yùn)行時(shí)確定類型,綁定對(duì)象。動(dòng)態(tài)編譯最大限度發(fā)揮了java的靈活性,體現(xiàn)了多態(tài)的應(yīng)用,有以降低類之間的藕合性。

            一句話,反射機(jī)制的優(yōu)點(diǎn)就是可以實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建對(duì)象和編譯,體現(xiàn)出很大的靈活性,特別是在J2EE的開(kāi)發(fā)中

            它的靈活性就表現(xiàn)的十分明顯。

            作用:①首先得根據(jù)傳入的類的全名來(lái)創(chuàng)建Class對(duì)象。 ②獲得類方法的方法。③ 獲得類中屬性的方法。

            缺點(diǎn):①性能第一:反射包括了一些動(dòng)態(tài)類型,所以JVM無(wú)法對(duì)這些代碼進(jìn)行優(yōu)化。因此,反射操作的效率要比那些非反射操作低得多。我們應(yīng)該避免在經(jīng)常被 執(zhí)行的代碼或?qū)π阅芤蠛芨叩某绦蛑惺褂梅瓷洹"诎踩拗疲菏褂梅瓷浼夹g(shù)要求程序必須在一個(gè)沒(méi)有安全限制的環(huán)境中運(yùn)行。如果一個(gè)程序必須在有安全限制的環(huán)境中運(yùn)行,如Applet。③內(nèi)部暴露:由于反射允許代碼執(zhí)行一些在正常情況下不被允許的操作(比如訪問(wèn)私有的屬性和方法),所以使用反射可能會(huì)導(dǎo)致意料之外的副作用--代碼有功能上的錯(cuò)誤,降低可移植性。反射代碼破壞了抽象性,因此當(dāng)平臺(tái)發(fā)生改變的時(shí)候,代碼的行為就有可能也隨著變化。

            19、Java引用

            ①假設(shè)我們?cè)诤瘮?shù)中寫(xiě)了如下這個(gè)簡(jiǎn)單的語(yǔ)句:

            StringBuffer str= new StringBuffer("Hello world");

            別看這個(gè)語(yǔ)句簡(jiǎn)單,其實(shí)包含了如下三個(gè)步驟:

            首先,new StringBuffer("Hello world")在堆里申請(qǐng)了一坨內(nèi)存,把創(chuàng)建好的StringBuffer對(duì)象放進(jìn)去。其次,StringBuffer str聲明了一個(gè)指針。這個(gè)指針本身是存儲(chǔ)在棧上的(因?yàn)檎Z(yǔ)句寫(xiě)在函數(shù)中),可以用來(lái)指向某個(gè)StringBuffer類型的對(duì)象。或者換一種說(shuō)法,這個(gè)指針可以用來(lái)保存某個(gè)StringBuffer對(duì)象的地址。最后,當(dāng)中這個(gè)等于號(hào)(賦值符號(hào))把兩者關(guān)聯(lián)起來(lái),也就是把剛申請(qǐng)的那一坨內(nèi)存的地址保存成str的值,完成引用。

            ②final常量的問(wèn)題

            針對(duì)引用類型變量的final修飾符也是很多人搞混淆的地方。實(shí)際上final只是修飾指針的值(也就是限定指針保存的地址不能變)。至于該指針指向的對(duì)象,內(nèi)容是否能變,那就管不著了。所以,對(duì)于如下語(yǔ)句:

            final StringBuffer strConst = new StringBuffer();

            你可以修改它指向的對(duì)象的內(nèi)容,比如:

            strConst.append(" ");

            但是不能修改它的值,比如:

            strConst = null;

            ③傳參的問(wèn)題:

            例如:System.out.println(str);這個(gè)語(yǔ)句又是什么意思捏?這時(shí)候就兩說(shuō)了。

            第一種理解:可以認(rèn)為傳進(jìn)函數(shù)的是str這個(gè)指針,指針說(shuō)白了就是一個(gè)地址的值,說(shuō)得再白一點(diǎn),就是個(gè)整數(shù)。按照這種理解,就是傳值的方式。也就是說(shuō),參數(shù)傳遞的是指針本身,所以是傳值的。

            第二種理解:可以認(rèn)為傳進(jìn)去的是StringBuffer對(duì)象,按照這種理解,就是傳引用方式了。因?yàn)槲覀兇_實(shí)是把對(duì)象的地址(也就是引用)給傳了進(jìn)去。

            20、 線程、線程池:

            ①創(chuàng)建線程有兩種方式:繼承Thread或?qū)崿F(xiàn)Runnable。Thread實(shí)現(xiàn)了Runnable接口,提供了一個(gè)空的run()方法,所以不論是繼承Thread還是實(shí)現(xiàn)Runnable,都要有自己的run()方法。一個(gè)線程創(chuàng)建后就存在,調(diào)用start()方法就開(kāi)始運(yùn)行(執(zhí)行run()方法),調(diào)用wait進(jìn)入等待或調(diào)用sleep進(jìn)入休眠期,順利運(yùn)行完畢或休眠被中斷或運(yùn)行過(guò)程中出現(xiàn)異常而退出。

            ②wait和sleep比較:sleep方法有:sleep(long millis),sleep(long millis, long nanos),調(diào)用sleep方法后,當(dāng)前線程進(jìn)入休眠期,暫停執(zhí)行,但該線程繼續(xù)擁有監(jiān)視資源的所有權(quán)。到達(dá)休眠時(shí)間后線程將繼續(xù)執(zhí)行,直到完成。若在休眠期另一線程中斷該線程,則該線程退出。等待有其它的線程調(diào)用notify()或notifyAll()進(jìn)入調(diào)度狀態(tài),與其它線程共同爭(zhēng)奪監(jiān)視。

            ③線程池:多線程技術(shù)主要解決處理器單元內(nèi)多個(gè)線程執(zhí)行的問(wèn)題,它可以顯著減少處理器單元的閑置時(shí)間,增加處理器單元的吞吐能力。一個(gè)線程池包括以下四個(gè)基本組成部分:

            A、線程池管理器(ThreadPool):用于創(chuàng)建并管理線程池,包括創(chuàng)建線程池,銷毀線程池,添加新任務(wù);

            B、工作線程(PoolWorker):線程池中線程,在沒(méi)有任務(wù)時(shí)處于等待狀態(tài),可以循環(huán)的執(zhí)行任務(wù);

            C、任務(wù)接口(Task):每個(gè)任務(wù)必須實(shí)現(xiàn)的接口,以供工作線程調(diào)度任務(wù)的執(zhí)行,它主要規(guī)定了任務(wù)的入口,任務(wù)執(zhí)行完后的收尾工作,任務(wù)的執(zhí)行狀態(tài)等;

            D、任務(wù)隊(duì)列(taskQueue):用于存放沒(méi)有處理的任務(wù)。提供一種緩沖機(jī)制。

            ④線程池分類:

            A、newFixedThreadPool 創(chuàng)建一個(gè)指定工作線程數(shù)量的線程池。

            每當(dāng)提交一個(gè)任務(wù)就創(chuàng)建一個(gè)工作線程,如果工作線程數(shù)量達(dá)到線程池初始的最大數(shù),則將提交的任務(wù)存入到池隊(duì)列中。

            B、newCachedThreadPool創(chuàng)建一個(gè)可緩存的線程池。

            這種類型的線程池特點(diǎn)是:

            1).工作線程的創(chuàng)建數(shù)量幾乎沒(méi)有限制(其實(shí)也有限制的,數(shù)目為Interger.MAX_VALUE), 這樣可靈活的往線程池中添加線程。

            2).如果長(zhǎng)時(shí)間沒(méi)有往線程池中提交任務(wù),即如果工作線程空閑了指定的時(shí)間(默認(rèn)為1分鐘),則該工作線程將自動(dòng)終止。終止后,如果你又提交了新的任務(wù),則線程池重新創(chuàng)建一個(gè)工作線程。

            C、newSingleThreadExecutor創(chuàng)建一個(gè)單線程化的Executor,即只創(chuàng)建唯一的工作者線程來(lái)執(zhí)行任務(wù),如果這個(gè)線程異常結(jié)束,會(huì)有另一個(gè)取代它,保證順序執(zhí)行(我覺(jué)得這點(diǎn)是它的特色)。

            單工作線程最大的特點(diǎn)是可保證順序地執(zhí)行各個(gè)任務(wù),并且在任意給定的時(shí)間不會(huì)有多個(gè)線程是活動(dòng)的。

            D、newScheduleThreadPool 創(chuàng)建一個(gè)定長(zhǎng)的線程池,而且支持定時(shí)的以及周期性的任務(wù)執(zhí)行,類似于Timer。

            ⑤Executors類,提供了一系列靜態(tài)工廠方法用于創(chuàng)先線程池,返回的線程池都實(shí)現(xiàn)了ExecutorService接口。

            ⑥線程池參數(shù):

            A、corePoolSize(線程池的基本大小)

            B、runnableTaskQueue(任務(wù)隊(duì)列):用于保存等待執(zhí)行的任務(wù)的阻塞隊(duì)列。

            1)LinkedBlockingQueue:一個(gè)基于鏈表結(jié)構(gòu)的阻塞隊(duì)列,此隊(duì)列按FIFO (先進(jìn)先出) 排序元素,吞吐量通常要高于ArrayBlockingQueue。靜態(tài)工廠方法Executors.newFixedThreadPool()使用了這個(gè)隊(duì)列。

            2)SynchronousQueue:一個(gè)不存儲(chǔ)元素的阻塞隊(duì)列。每個(gè)插入操作必須等到另一個(gè)線程調(diào)用移除操作,否則插入操作一直處于阻塞狀態(tài),吞吐量通常要高于LinkedBlockingQueue,靜態(tài)工廠方法Executors.newCachedThreadPool使用了這個(gè)隊(duì)列。

            3)PriorityBlockingQueue:一個(gè)具有優(yōu)先級(jí)的無(wú)限阻塞隊(duì)列。

            C、maximumPoolSize(線程池最大大小):線程池允許創(chuàng)建的最大線程數(shù)。

            D、ThreadFactory:用于設(shè)置創(chuàng)建線程的工廠,可以通過(guò)線程工廠給每個(gè)創(chuàng)建出來(lái)的線程設(shè)置更有意義的名字。

            E、RejectedExecutionHandler(飽和策略):當(dāng)隊(duì)列和線程池都滿了,說(shuō)明線程池處于飽和狀態(tài),那么必須采取一種策略處理提交的新任務(wù)。這個(gè)策略默認(rèn)情況下是AbortPolicy,表示無(wú)法處理新任務(wù)時(shí)拋出異常。以下是JDK1.5提供的四種策略:

            1)AbortPolicy:直接拋出異常。

            2)CallerRunsPolicy:只用調(diào)用者所在線程來(lái)運(yùn)行任務(wù)。

            3)DiscardOldestPolicy:丟棄隊(duì)列里最近的一個(gè)任務(wù),并執(zhí)行當(dāng)前任務(wù)。

            4)DiscardPolicy:不處理,丟棄掉。

            5)當(dāng)然也可以根據(jù)應(yīng)用場(chǎng)景需要來(lái)實(shí)現(xiàn)RejectedExecutionHandler接口自定義策略。如記錄日志或持久化不能處理的任務(wù)。

            F、keepAliveTime(線程活動(dòng)保持時(shí)間):線程池的工作線程空閑后,保持存活的時(shí)間。所以如果任務(wù)很多,并且每個(gè)任務(wù)執(zhí)行的時(shí)間比較短,可以調(diào)大這個(gè)時(shí)間,提高線程的利用率。

            G、TimeUnit(線程活動(dòng)保持時(shí)間的單位):可選的單位有天(DAYS),小時(shí)(HOURS),分鐘(MINUTES),毫秒(MILLISECONDS),微秒(MICROSECONDS, 千分之一毫秒)和毫微秒(NANOSECONDS, 千分之一微秒)。

            21、J2EE的13種規(guī)范

            (1)、JDBC(java Database Connectivity):

            JDBC API為訪問(wèn)不同的數(shù)據(jù)庫(kù)提供了一種統(tǒng)一的途徑,就像ODBC一樣,JDBC對(duì)開(kāi)發(fā)者屏蔽了一些細(xì)節(jié)問(wèn)題,同時(shí),JDBC對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)也具有平臺(tái)無(wú)關(guān)性。

            (2)、JNDI(Java Name and Directory Interface):

            JNDI API 被用于執(zhí)行名字和目錄服務(wù)。它提供了一致的模型用來(lái)存取和操作企業(yè)級(jí)的資源如DNS和LDAP,本地文件系統(tǒng),或應(yīng)用服務(wù)器中的對(duì)象。

            (3)、EJB(Enterprise JavaBean):

            J2ee技術(shù)之所以贏得全體廣泛重視的原因之一就是EJB,他們提供了一個(gè)框架開(kāi)發(fā)和實(shí)施分布式商務(wù)邏輯,由此很顯著簡(jiǎn)化了具有可伸縮性和高度復(fù)雜的企業(yè)級(jí)應(yīng)用開(kāi)發(fā)。EJB規(guī)范定義了EJB組件何時(shí)如何與他們的容器繼續(xù)擰交互作用。容器負(fù)責(zé)提供公用的服務(wù),例如目錄服務(wù)、事務(wù)管理、安全性、資源緩沖池以及容錯(cuò)性。但是注意的是,EJB并不是J2EE的唯一途徑。正是由于EJB的開(kāi)放性,使得有的廠商能夠以一種和EJB平行的方式來(lái)達(dá)到同樣的目的。

            (4)、RMI(RemoteMethod Invoke):remote(遙遠(yuǎn)的) invoke(調(diào)用):

            正如其名字所表示的那樣,RMI協(xié)議調(diào)用遠(yuǎn)程對(duì)象上方法。它使用了序列化方式在客戶端和服務(wù)器端傳遞數(shù)據(jù)。RMI是一種被EJB使用的更底層的協(xié)議。

            (5)、Java IDL(接口定義語(yǔ)言)/CORBA:公共對(duì)象請(qǐng)求代理結(jié)構(gòu)(Common Object Request Breaker Architecture):

            在java IDL的支持下,開(kāi)發(fā)人員可以將Java和CORBA集成在一起。他們可以創(chuàng)建Java對(duì)象并使之可以在CORBA ORB中展開(kāi),或者他們還可以創(chuàng)建Java類并做為和其他ORB一起展開(kāi)的CORBA對(duì)象客戶。后一種方法提供了另外一種途徑,通過(guò)它可以被用于你的新的應(yīng)用和舊系統(tǒng)相集成。

            (6)、JSP(Java Server Pages):

            Jsp頁(yè)面由html代碼和嵌入其中的Java新代碼所組成。服務(wù)器在頁(yè)面被客戶端所請(qǐng)求以后對(duì)這些java代碼進(jìn)行處理,然后將生成的html頁(yè)面返回給客戶端的瀏覽器。

            (7)、Java Servlet:

            servlet是一種小型的java程序,它擴(kuò)展了web服務(wù)器的功能。作為一種服務(wù)器端的應(yīng)用,當(dāng)被請(qǐng)求時(shí)開(kāi)始執(zhí)行,這和CGI Perl腳本很相似。Servlet提供的功能大多和jsp類似,不過(guò)實(shí)現(xiàn)方式不同。JSP通過(guò)大多數(shù)的html代碼中嵌入少量的java代碼,而servlet全部由java寫(xiě)成并生成相應(yīng)的html。

            (8)、XML(Extensible Markup Language):

            XML是一種可以用來(lái)定義其他標(biāo)記語(yǔ)言的語(yǔ)言。它被用來(lái)在不同的商務(wù)過(guò)程中共享數(shù)據(jù)。XML的發(fā)展和Java是互相獨(dú)立的,但是,它和java具有相同目標(biāo)正是平臺(tái)立。通過(guò)java和xml的組合,我們可以得到一個(gè)完美的具有平臺(tái)立性的解決方案。

            (9)、JMS(Java Message Service):

            Ms是用于和面向消息的中間件相互通信的應(yīng)用程序接口(API)。它既支持點(diǎn)對(duì)點(diǎn)的域,有支持發(fā)布/訂閱類型的域,并且提供對(duì)下列類型的支持:經(jīng)認(rèn)可的消息傳遞,事務(wù)性消息傳遞,一致性消息和具有持久性的訂閱者的支持。JMS還提供了另一種方式對(duì)您的應(yīng)用與舊的后臺(tái)系統(tǒng)相集成。

            (10)、JTA(Java Transaction Architecture):

            JTA定義了一種標(biāo)準(zhǔn)API,應(yīng)用系統(tǒng)由此可以訪問(wèn)各種事務(wù)監(jiān)控。

            (11)、JTS(Java Transaction Service):

            JTS是CORBA OTS事務(wù)監(jiān)控的基本實(shí)現(xiàn)。JTS規(guī)定了事務(wù)管理器的實(shí)現(xiàn)方式。該事務(wù)管理器是在高層支持Java Transaction API(JTA)規(guī)范,并且在較底層實(shí)現(xiàn)OMG OTS specification 的java映像。JTS事務(wù)管理器為應(yīng)用服務(wù)器、資源管理器、獨(dú)立的應(yīng)用以及通信資源管理器提供了事務(wù)服務(wù)。

            (12)、JavaMail:

            JavaMail是用于存取郵件服務(wù)的API,它提供了一套郵件服務(wù)器的抽象類。不僅支持SMTP服務(wù)器,也支持IMAP服務(wù)器。

            (13)、JAF(JavaBeans Activation Framework):

            JavaMail利用JAF來(lái)處理MIME編碼的郵件附件。MIME的字節(jié)流可以被轉(zhuǎn)換成java對(duì)象,或者轉(zhuǎn)換自Java對(duì)象。大多數(shù)應(yīng)用都可以不需要直接使用JAF。

            22、try/catch/finally/return 作用順序

            不管有木有出現(xiàn)異常,finally塊中代碼都會(huì)執(zhí)行;

            當(dāng)try和catch中有return時(shí),finally仍然會(huì)執(zhí)行;

            finally是在return后面的表達(dá)式運(yùn)算后執(zhí)行的(此時(shí)并沒(méi)有返回運(yùn)算后的值,而是先把要返回的值保存起來(lái),管finally中的代碼怎么樣,返回的值都不會(huì)改變,任然是之前保存的值),所以函數(shù)返回值是在finally執(zhí)行前確定的;

            finally中最好不要包含return,否則程序會(huì)提前退出,返回值不是try或catch中保存的返回值。

            (二)服務(wù)器

            1、web服務(wù)器nginx和apache的對(duì)比分析

            ①nginx相對(duì)于apache的優(yōu)點(diǎn):

            輕量級(jí),同樣起web 服務(wù),比apache 占用更少的內(nèi)存及資源 ,抗并發(fā),nginx 處理請(qǐng)求是異步非阻塞的,而apache 則是阻塞型的,在高并發(fā)下nginx 能保持低資源低消耗高性能,高度模塊化的設(shè)計(jì),編寫(xiě)模塊相對(duì)簡(jiǎn)單。

            apache相對(duì)于nginx 的優(yōu)點(diǎn):A.rewrite ,比nginx 的rewrite 強(qiáng)大;B.動(dòng)態(tài)頁(yè)面,模塊超多,基本想到的都可以找到;C.少bug ,nginx 的bug 相對(duì)較多;D.超穩(wěn)定.

            一般來(lái)說(shuō),需要性能的web 服務(wù),用nginx 。如果不需要性能只求穩(wěn)定,那就apache.

            ②作為 Web 服務(wù)器:相比 Apache,Nginx 使用更少的資源,支持更多的并發(fā)連接,體現(xiàn)更高的效率。Nginx采用C進(jìn)行編寫(xiě), 不論是系統(tǒng)資源開(kāi)銷還是CPU使用效率都比 Perlbal 要好很多.

            ③Nginx 配置簡(jiǎn)潔,Apache 復(fù)雜。Nginx 靜態(tài)處理性能比 Apache 高 3倍以上,Apache 對(duì) PHP 支持比較簡(jiǎn)單,Nginx 需要配合其他后端用。Apache 的組件比 Nginx 多,現(xiàn)在 Nginx 才是Web 服務(wù)器的首選。

            ④最核心的區(qū)別在于apache是同步多進(jìn)程模型,一個(gè)連接對(duì)應(yīng)一個(gè)進(jìn)程;nginx是異步的,多個(gè)連接(萬(wàn)級(jí)別)可以對(duì)應(yīng)一個(gè)進(jìn)程。

            ⑤nginx處理靜態(tài)文件好,耗費(fèi)內(nèi)存少.但無(wú)疑apache仍然是目前的主流,有很多豐富的特性.所以還需要搭配著來(lái).當(dāng)然如果能確定nginx就適合需求,那么使用nginx會(huì)是更經(jīng)濟(jì)的方式。

            ⑥nginx處理動(dòng)態(tài)請(qǐng)求是雞肋,一般動(dòng)態(tài)請(qǐng)求要apache去做,nginx只適合靜態(tài)和反向。

            ⑦Nginx優(yōu)于apache的主要兩點(diǎn):A.Nginx本身就是一個(gè)反向代理服務(wù)器 B.Nginx支持7層負(fù)載均衡;其他的當(dāng)然,Nginx可能會(huì)比 apache支持更高的并發(fā)。

          【Java中級(jí)開(kāi)發(fā)工程師知識(shí)點(diǎn)】相關(guān)文章:

          Java中級(jí)開(kāi)發(fā)工程師知識(shí)點(diǎn)歸納09-30

          Java中級(jí)開(kāi)發(fā)工程師筆試題及答案201610-04

          java中級(jí)工程師面試題09-26

          JAVA認(rèn)證開(kāi)發(fā)工程師崗位介紹及課程大綱09-02

          Java開(kāi)發(fā)web的幾種開(kāi)發(fā)模式12-13

          Java知識(shí)點(diǎn)歸納08-16

          Java程序開(kāi)發(fā)與運(yùn)行環(huán)境06-21

          java開(kāi)發(fā)必會(huì)的Linux命令10-07

          Java開(kāi)發(fā)Tomcat部署項(xiàng)目方法10-13

          JAVA認(rèn)證經(jīng)驗(yàn)分享:學(xué)好java開(kāi)發(fā)的關(guān)鍵七步10-18

          主站蜘蛛池模板: 岳志军的案件最终结果| 在线观看电影免费高清完整版| 老男孩电影在线观看免费完整版| 西安地铁保安女子完整版| 暴躁老妈46集全白话免费看| 吴克群 胡闹| 风云2在线观看| 《倔强退魔师》1-4集免费观看| 魔女宅急便电影| 最后一日| 肉蔻之香| 浪漫玛丽国语版全集| 王岳伦陪王诗龄拍汉服写真| 维修工人的培训电影| 放羊的星星| 落魄贵族琉璃川在线观看完整版| 泰剧在线观看| 西出玉门关电视剧免费观看完整版| 水电工的艳遇| 铁血使命第2部全集| 火影忍者疾风传383| 法国电影《私人航空》在线看| 詹俊英超精华| 妻子6韩国免费| 电影《汤唯》在线观看| 时间的朋友2024| 金银梅1-5手机版普通话| 龙与虎下载| 嘎哇在线观看高清电影免费| 广场舞正月十五闹花灯| 扫黑电视剧在线观看| 莫妮卡《爱我几何》未简版电影免费 | 银盘施工局广场舞| 鄂伦春自治旗| 伸出你的手| 西班牙掌中之物电影在线观看 | 特殊游泳课艺术片| 李玟最火的一首歌| 吊丝女士第二季全集| 疯狂的兔子第二季| 玛丽萨科满天星原版| 鬼马保镖贼美人| 悬赏粤语| 换子成龙大结局| 《壮志凌云:满天星》| 《吠城》电影高清免费观看全集| 丈夫出差沉迷于妻子的表现| 直到你降临短剧免费观看| 台湾硬汉兄弟| kendykross壮志凌云| 实况足球8中文解说版 | 幻灵先生| 精灵幻想记| 黄色仓库视频| 幸福最晴天mp4下载| 空中营救| 早川濑里奈47部作品在线播放| 《误杀3》免费完整版在线播放 | 孤儿 电影| 致美丽的你10| 永不磨灭的番号高清| 女超人麦乐迪在线完整版影院| 愉悦与痛苦在线观看| 风火天下| 古典辣妹 victory| 波仔dj| 美容室:待遇服务7在哪里看 | 龙日一你死定了免费观看全集| 傻哥蹦迪| 男女愁愁愁视频在线观看| 进击的巨人真人版后篇| 成仁电影| 辩护人 韩国电影| 快乐大本营2017免费观看完整版| 我的性肉欲继拇做爰HD| 火舞风云未删版浴缸片段| 女律师的壁落| 武僧一龙ko日本拳王| 足球宝贝法版高清观看| 一进一出下面喷白浆九瑶视频| 电信宽带管家| 我年轻瘦子的8| 伏罗希洛夫射手 电影| 埃丽诺娃满天星| 国家宝藏1国语高清| 灌篮高手第二部1| 七夕潘甜甜牛郎织女 在线| 折腰电视剧观看在线播放| 黑白配1080P免费观看美国| 终极三国土豆网| 《家庭矛盾4》麦乐迪完整版| 绝地出击 电视剧全集| 神医小娇妻全集免费| 地狱护士| 赤狐书生 电影| 需要爸爸的种| 东凛meyd中文女教师| 和部长出差日本| 樱桃电视剧全集| 黑白禁区免费观看全集电视剧结局| 公之孚手中字22| 金石良缘| 被义子侵犯BD中文字幕| 英雄虎胆免费完整版| 麦乐迪《家庭矛盾》在线观看| 朋友的女人| 古惑仔电影全集国语| 图片| 新菜主演的全部电影| 双女任务在线观看完整版高清电影免 | 小学生在线观看完整免费| 妈妈的职业5韩剧结局原声 | working girl| 黄晓明和宋慧乔演过情侣| 出差遇见渣男前任完整版| 能免费看18视频网站| 美容院的待遇在线观看| 盖亚奥特曼全集| 斗罗大陆观看全集免费| 军营里的女军医| 勇闯四季城免费观看全集| 电影双胞胎| 丫丫吃甘蔗小心翼翼| 庆余年28| 家庭矛盾完整版麦乐迪| 真爱趁现在全集百度影音 | 高楞青年| 孤男寡女免费观看电视剧战狼43集 | 现在的是哪一个多闻! ?| 秭归县| 南游记之闹三界| 夫妻的世界完整版| 不再说分手| 母亲韩剧免费观看完整版| 人猿泰山h版未删减| 陆小凤与花满楼结局| 白峰电影在线观看免费版最新上映白| 野玫瑰之恋| 黑人大巨茎大战欧罗斯两白妞| 妖精的尾巴45| 女子监狱德国满天星| 雪中悍刀行40集免费| 波多野衣结| 玉蒲团高清| 胜者为王4争霸国语| A片原始人| 湖口县| 七夜怪谈电影| 棋士电视剧在线观看全集免费| 公之浮手完整版免费看| 哪里可以看晚娘| 《毒医肥尸》完整版免费观看高清电 | xL司令第二季真人| 庆余年第二季免费完整版| 搞笑漫画日和中文| 安宁市| 国乒女单无缘亚锦赛四强| 维修工的艳遇韩国三级| 月升沧海在线观看免费完整版| 韩国电影四个已婚妇女去按摩| 以法之名 电视剧| 老虎出更国语| 东北风云黑道二十年| 年轻的母亲5完整版免费| 六枝特区| 剑道第一仙动漫在线观看| 女版战狼6免费播放| 私密按摩师中文在线观看| 新版金银悔1-5普通话7| 走向共和哪里可以看| 私人女性监狱电视剧完整版观看| 电视连续剧天衣无缝免费观看 | 杀手保镖| 《渔夫荒淫史》在线观看| 误杀3 电影| 日本19岁护士伦理在线| 男按摩师电影| 时光代理人免费观看| 《花子vs倔强驱魔师》在线观看| 中国在日博主街头抗议核污水| 你礼貌吗是什么梗| 勾魂恶梦| 新版月光宝盒看大片免费吗| 巨蜥斗巨蟒| 李艾走光| 美国女兵人4免费观看完整版| 《激战丛林》罗莎卡拉乔洛在线播放| 红海行动2蛟龙行动电影在线观看| 朴妮唛28部电视剧在线观看| 《特别的酒店》免费观看中文版 | 尸妖在线观看| 保姆用废弃尿垫给老人擦嘴被判刑| 魔镜号巴士街头中文字幕在线 | 《义姐不是贤妻良母》动漫全集樱花 | 《卖保险的女销售》2| 爱在黎明前降落短剧免费观看| 解放军军机南海拦截美军侦察机| 年轻的小婊3韩剧中文版| 完美音调2在线| 苏菲的抉择| 《山河令》全集在线观看| 三年大片全免费国语版观看 | 沐浴之王免费观看完整版| 扫黑风暴在线观看免费观看| 毒医嫡女:下毒医术超精通全集免费 | 刑名师爷演员表| 长征组歌 四渡赤水出奇兵| 头文字d电影粤语| 狂飙高清在线观看| 西行纪第三季在线观看| 抖音美好奇妙夜直播中| 有色视频| 性解密西瓜| 牙医姐妹日语版免费播| 怪奇物语第三季免费观看完整版 | 今时之欲无删减在线观看| 福尔摩斯先生体内的恶魔| 高清《寂寞的寡妇》电影| 《有翡》在线观看免费完整版| 欢迎来到王之国 电视免费| 女杀油地狱在线观看| 少年包青天2土豆| 宇宙威龙| 清纯小护士| 战狼6欧美版免费观看完整版国语下载 | 韩国午夜剧场《分娩按摩2》HD免费在线观看高清完整版-如意影院 | 触手产卵魔法少女| 误杀2在线观看免费完整国语高清| 甘联珠大破红莲寺| 我才是真豪门:身份互换全集免费| 今天的她们电视剧免费观看完整版| 猪猪侠保卫战| 菲梦少女第三季| 巴萨战胜曼联| 独步天下 电视剧| 《爱我几何》原版免费观看| 一次特殊的游泳课| 兔子先生视频第一季免费观看全集高清| 泰剧爱的宣言| 需要爸爸播种子在线免费看| 年轻气盛| 农场保卫战满天星完整版| 《奇门遁甲》电影| 伦理电影爸爸我要你的种子在线观看 | 小敏家42集在线观看| 先结婚后恋爱 电视剧| 江苏卫视好好学习| 蟒蛇之灾1| 强我电影大结局| 高清转生之后的我变成了龙蛋未删减 | 日本一卡二卡在线播放| 引郎入室| 四哥少妇按摩记视频| 加勒比海盗5 死无对证| 妈妈的职业2hb| 李桢航资料| 妻子和讨厌的部长出差| 周生如故全集免费观看| 妈妈电话6| 詹妮弗康纳利裸戏| 色琪| 大水井风云| 战狼6免费高清完整版下载| 韩剧哦亲爱的| 男女一起愁愁愁电视剧免费观看全集高清完整 | 十七岁完整版在线观看| 需要爸爸播种子| 哺乳期能烫头发吗| 成龙12生肖电影免费版| 蒙面超人rx粤语| 女孩地铁晕倒大便失禁女子帮清理| 电影 让子弹飞| 成都警方通报天府二街伤害案| 我记得 电影| 余罪电视剧第二季| 短剧爱于燃尽新生免费观看| 国内成品油价迎牛年首涨| 小女花不弃 电视剧| 电影聊斋兰若寺免费观看| 传家电视剧免费观看| 监狱不设防粤语高清| 张惠妹演唱会2013| 安娜情欲史在线看无删减| 爱丫爱丫歌词| 新扎师妹3| 醉酒迷奸电影在线播放| 西游降魔篇粤语| 金银梅电影| 长月无烬免费观看完整版| 我女朋友妈妈双字id| 小鼹鼠动画片| 电视《金悔瓶》免费观看2008样| 穿越火线电视剧全集免费观看| 我和房东| 新还珠格格高清在线观看| 1995年意大利版《人猿泰山》罗莎未删| 《卑劣的交易》| xl司令第一季全集在线观看完整版免费| 吴质不眠倚桂树的下一句是什么| 红发女郎百度影音| 釜山行2在线观看| 欧米茄奥特曼免费观看| 电视剧 国家命运| 向阳花电影在线观看免费版| 火星没事电影| 洛城疑云| 需要妈妈的种子| 爱的秘方百度影音| 鬼吹灯之天星术完整版免费观看| 父母爱情免费观看| 女超人(麦乐迪)版迅雷 | 电锯人动画全集免费观看| 爱我就别想太多在线看| 《猎艳狂魔》完整版在线观看| 釜山行2在哪里可以看| 人间中毒完整版高清在线看| 名侦探柯南国语| 美国电影美丽小樱桃免费观看| 守护天使国语版| 三年大片观看免费大全国电影| 急冻奇侠完整版无删减| 《风流女管家》法国版演员阵容| 苹果电影完整版在线观看免费版| 坎贝奇的《品味人生》| 七夜雪电视剧免费观看完整版| 六个字歌名| 蜜蜂落在日历上| 重庆谍战电视剧全集免费观看 | 邵氏《金莲外传》免费观看| 朗读者 电影完整版| 特邀外卖| 庆余年2免费日韩剧观看50集| 新手律师满天星完整版 | 清华长庚医院付猛医生| 偿还债务的麦子完整版| 创业电影| 高清死亡账号| 假面骑士decade主题曲| 《双人调情按摩术》在线观看| 黄金瞳在线观看| 黑白配中文版高清在线观看| 百媚千娇全集| 360大佬爱上我第二季免费| 妖精的尾巴100| 青山是故乡| 广场舞黄玫瑰| 游客在瓦屋山被落石砸中身亡| 隐形的翅膀电影免费观看完整版 | 眼泪女王| 房奴试爱开头智恩是哪一集| 忘年恋曲电影| 男人女人一起愁愁愁电视剧免费| 阿波连同学| 公主骑士是蛮族的新娘电视剧| 短剧在线观看免费全集| 女人不在沉默电视剧全集在线观看| 熟女泻火| 人体蜈蚣| 总统夫人电影在线观看| 见好就收电视剧免费完整版| 韩媒曝李善均遗书内容| 性办公室按摩电影| 《原始人》电影免费观看| 吴健农民伯伯下乡2电视剧在线播放| 巴啦啦小魔仙之音符之谜免费观看| 西厢记免费| 《塔蒂亞娜2》完整版| 壮志凌云满天星未删减版| 孤芳不自赏 电视剧| 替丈夫满足我中字HD | 老板办公室狂躁秘书在线观看| 高山青歌谱| 我们在黑暗中相拥短剧免费观看| 黑执事第二季在线观看 | 《秘密搜查官》免费观看| 花木兰2动画片国语| 柳河县| 假日暖洋洋 电视剧| 新还珠格格剧照| 肉蒲团极乐宝鉴| 尼罗河的女儿| 丰满少女免费电影| 铁拳男人下载| 日韩电影我的妻子和讨厌的同事商务出差 | 无憾电影全集免费观看 | 屠夫小姐电影免费观看在线高清版| 高清《斛珠夫人》免费观看| 四大名捕大结局西瓜| 医武双绝:弃少超神短剧全集| 电影商务旅行戴绿帽在线观看| 欢乐颂1| 人猿泰山无删减版1995| 赤坂丽的牙医姐妹在线电影 | 假面骑士所有骑士| 维修工的绝遇(2)| 顶楼的大象剧情| 兄妹初体验| 少年派2电视剧免费观看中文版| 吕布戏貂蝉| 麦乐迪马克思家庭矛盾| 铠甲勇士1部全集| 《圣特罗佩姑娘们》在线观看| 王子变青蛙全集下载| 新女附马| 冰之城墙电视剧| 精灵变未删减版高清国语在线观看| 《同学的母亲中字ID》| 童时爱上你粤语在线观看| 《总统夫人》星克莱尔观看| 王者清风片尾曲| 钟馗抓妖记| 女明星的绯闻| 听说你喜欢我电视剧| 女警被黑人强伦轩电影| 上海皇帝之岁月风云| 寂寞护士公与媳| 岳母的幸福生活电视剧| 高清《查泰莱夫人的情人》电影| 在线看《美容院的特殊待遇》| 想爱就爱在线视频| 村上沙兽皇电影高清下载 | 摔跤玩鸟| 向井蓝在线观看| 多大点事| 邵氏《金莲外传》中文在线观看 | 柔情挚我| 张志新子女| 新版娃娃脸9免费观看高清| 《大侦探 第十一季》未删减| 奈克赛斯奥特曼| 中年男的异世界网购生活动漫| 恋爱先生电视剧免费观看网站| 社长与下属妻子韩国| 你给我的喜欢电视剧免费观看全集| 爱丫爱丫电视剧在线观看免费播放| 二人世界免费视频免费| 风过留痕 电视剧 在线观看| 轻伤不下火线| 动漫解说一口气看完| 杨敏思版| 一品大天师短剧免费观看| 今夜无人入睡免费观看韩国| 电视剧为你钟情| 阜新市| 贵妃网电影| 阿浅来了在线观看| 售楼小姐的秘密在线| 老师我想你日本高清观看视频| 宁化县| 夏晚晴天电视剧| 赵丽颖小城大事免费播放| 最高的爱人诏哪里能看| 我可以笑着扮演你的配角| 《莫莉特别的酒店》| 喜羊羊与灰太狼之守护大电影9| 鹰巢之预备警官| 韩国4瘦子| 女人的村庄电视剧全集| 时光沙漏| 鱼锅饼子| 间谍过家家第三季免费观看| 洛克希佛地丛林1995版| 演员李桓| 勇敢者在线观看高清完整版| 天津市一栋大厦发生火情| 紫钗奇缘 电视剧| 私人助理2法国版电影在线观看| 北下关小学| 月上朝颜电视剧免费观看完整版| 甜蜜惩击全集| 国产未发育的学生洗澡电影| 《爱我几何》电影免费| 军情观察室直播| 家庭秘密教学在线看| 法国空乘2009版寒班| 高清《职场妻子的出轨》中语字| 酒店第1-100集免费观看| 大侦探福尔摩斯1在线观看| 证据原唱| 三姐妹瑜伽健身4免费| 新妈妈三| 宦海奇官粤语| 满天星《沙漠》在线观看| 速度激情8| 荷尔蒙6美国版| 麦乐蒂马克思满天星| 《匿杀》| 瓜达卢佩的玫瑰HD| 人民的名义未删减版有多少集| 被甩后我继承万亿家产短剧全集| 摩登时代电影| 玩弄丰满女学生| 唐朝诡事录2之西行免费观看全集 马克斯·维斯塔潘:新征途电视剧 | 法国空乘4(多塞尔航空)在线观看| 电视剧知青主题曲| 痞子英雄2电影| 人生大事朱一龙电影高清在线观看| 午夜凶铃 贞相大白| 警方通报重庆一女子持刀袭警| 因为有爱| WWW.COM捏胸挤出奶| xL司令第一季马赛免费观看高清| 黑暗荣耀1| 启航当风起时| 一愁愁愁电视剧在线起观| 中国在线观看免费播放| 哺乳期能烫头发吗| 超级喜欢你| 替夫还债电影| 七尺男儿| 舔B拨弄深入抽插深夜视频| 改运转运第一人:风水之王短剧全集| 爱情与灵药完整版| 美味快递员特殊待遇免费版| 错错错 越南| 学园默示录下载| 妙手房术2真人版演员表介绍| 微博之夜2022| 兵变1929| 斯巴达4最劲爆的一集| gongshoudao| 19岁大学生免费看电视剧| 对口相声| 你别惹我短剧全集免费观看| 新金银悔1—5普通话免费2023| 高清《花琉璃轶闻》电视剧| 爱情公寓5免费观看完整版| 言情片《邻家女人:丈夫不在的日子》HD无字免费高清在线观看完整版_tvb云播 | 陆真传奇全集| 酒店1—80集一口气看完| 劲舞团修改密码| 黑帮大佬和我的365日在线观看| 爱唯侦察2025合集| 扫黑风暴电视剧全集在线观看| 猪坚强已瘦骨嶙峋| 《星河战队1》电影| 牧羊曲伴奏| 《修女的忏悔室》动漫免费看| 美乃雀电影手机看| 浓情蜜意| 少年派百度影音| 小小水蜜桃19电视剧免费播放| 有菜电影| 无颜之月电视剧动漫在线观看| 纸牌屋第2季| 无忧渡40集全免费播放电视剧| 女版黑鹰坠落2满天星免费观看| 西游记之再世妖王免费观看| 天海翼秘密搜查官在线观看| 成何体统第二季| 《overflower》真人版演员表| 电影《特邀外卖员无码| 沉香如屑电视剧免费观看影视大全| 皇朝博美犬舍| 我的梦为你停留| yellow视频免费观看| 第九区 电影| 勇敢的心电视剧全集在线观看76| 罪恶的编年史| 战狼6免费观看完整版高清| 男女愁愁愁在线观看免费| 斗破苍穹100集免费观看| 且听凤鸣短剧免费观看全集| 无颜之月免费观看完整版影视| 插曲的痛30集全集免费中文字| 刀手普通话版国语版| 《可不可以不》日本在线看免费| 在悠长的时光里等你| 牙医姐妹在线看完整版高清| 青梅竹马第二季未删版| 汽车旅馆完整版在线观看中文字幕| 跳水世锦赛女子十米台决赛直播| 丁度电影在线| 《21世纪Xa指南》完整版 | 西游记之女儿国电影| 水手服饲养未减版主演是谁| 高压监狱2在线观看完整| 长安二十四计在线观看| 我的继母电影| 粤语版青花瓷| 日本伦理片女律师的多落 | 那山那人那狗电影| 日本一本到道免费| 城口县| 特殊的职业2李采潭主演是谁| 尼姑小寡妇免费播放电视剧| 太平公主秘史 电视剧| 瓜达卢佩的玫瑰在线观看免费版| 电影网在线观看| 撞邪电影| 太平年全集免费看| 《兄弟换麦子4国语中语》| 合照时全红婵“哭着”交出娃娃| 金瓶梅在线高清观看无删减| 电视剧我们都要好好的| 强伦睡着的妺妺| 凯登克里斯版《壮志凌云》| 高清为你遗憾| 盲点第一季全集免费观看| 爱情宝鉴叶子楣版| 安拉拉斋电影在免费播| 《炸天小姐》在线| 超大乳抖乳露双乳呻吟电影| 年轻的母亲4先韩剧| 电影《长津湖》免费版| 巜被部长玩弄的秘书电影| 年轻的嫂子5电影| 神医小娇妻:总裁别碰我全集免费 | 妻子8免费高清完整电视剧情| 电影《她被丈夫的老板欺负》| 电影法国空乘2019满天星法版| 半神之境动漫免费观看全集| 石首市| 男按摩师韩剧| 幽冥电影在线观看完整版| 比悲伤更悲伤的故事| 発情スイッチ[想吃]| 插曲的痛免费高清完整版| 美乃雀电影免费在线观看| 麻辣女宾| 老九门西瓜| 流星花园泰剧在线高清免费观看| 女超人麦乐迪无| 再见爱人2024第四季| 冰冷的热带鱼| 外太空杀人小丑| 美丽的小樱桃意大利| 佳能ixus115| 《渔女实战》完结无弹窗免费观看 -家庭剧短剧全集 -爱看电影网 | 公主驾到:群臣跪拜完整版观看| 保罗一家1-4免费看| 流行曲谱| 半是蜜糖半是伤免费| 法国空乘5在线观看| 双子公主第一部| 恩娇 电影| 一起愁愁免费高清在线观看 | 特殊航空服务电影在线观看| 深情眼1-40集完整版免费观看| 感恩自然作文| 欧式少女19集全观看视频| 嗨放派第二季综艺免费观看全集| 贴身情人之贴身恋| 新战狼6,欧美版| 《卿本佳人》电影| 波多野衣| 美国禁忌式家庭结局4k| 你们一个一个来我好痛| 于无声处电视剧下载| 女超人满天星版免费观看| 战神电视剧全集免费观看完整版| 好汉两个半第10季| 日剧《卖房子的女人》| 马龙4比0战胜王楚钦| 赛尔维亚| 我要爸爸种子美国电影完整版| 《法国空姐三部曲》| 最新电视剧排行| 别墅轮换3攻略免费观看电视 | 建党伟业海报| 水手服饲养1小时42分原版视频| 《催眠项圈》完整动漫在线观看| 凶猛的办公室| 《需要爸爸播种子》电影免费在线观看,高清完整版美国倫理片_努努影院 | 高压监狱原声满天星2019 | 站着再来一次免费视频哆来咪影院| 李丽珍爱的 精灵| 周其凤简历| 娃嘎电影网免费观看| 电视剧长相思在线观看免费 | 末日逃生2电影在线观看| 大闹天宫甄子丹完整版哪里可以看| 《蹂躏》| 坎贝奇最经典的4部电影| 飞天小女警z中文版全集| 発情スイッチ[想吃]| 369看妳懂的电影在线观看| 电视连续剧暗战| 爱的套索| 李彩谭特殊的治疗| 日威电推剪| 她很漂亮日剧| 韩国的爱我几何| 郝蕾《颐和》片段高清| 《比基尼勇士》动漫| 丝袜qvod| 房奴试爱开头电视剧原声| 《交换温柔》2在线观看| 《怪谈》免费观看| 二战黑豹电影免费观看高清完整版| 空姐日记第6集| over flow动漫在线观看全 | 《隐形的帽子》在线看| 狂飙免费观看完整电视剧| 英山县| 满天星护士学校在线看| 禁欲电影观看完整版高清| 斯巴达2未测减除版免费| 我生命中最后的绯闻| 掌上明珠剧情| 《千金与佣人》| 名欲场泰剧| 电视剧丐侠传奇| 天美影院在线观看电视剧免费| 电影《误杀3》免费观看| 极限挑战第二季全集免费| 我的好妈妈5 在线播放| 天与地 快播| 天国的阶梯中国配音版| 家门的荣光央视版| 男按摩师电影完整版免费观看| 瑞奇宝宝中文版1一52集| 勾魂恶梦| 韩国伦理电影维修工的绝对艳遇 | 名侦探柯南业火的向日葵| 萌探探探案免费观看西瓜影视| 女仆小姐的贪吃日常未删减| 哈尔滨漫展麻衣学姐| 午夜寂寞安卓影院| 免费观看美女和帅哥的电视剧| 电影姜汉娜《一对一》| 无尽动漫在线观看完整版| 3对1电影| 你是我的荣耀西瓜影音| 七天骗了一个村| 美味快递| 心悸mv| 逆风野兽电影免费观看| 优秀女巫贾斗心| 赛仑《渔夫的妻子》| 叶璇电影《献身》在线观看| 微微一笑很倾城30集全集| 《交换别人的麦子3》的剧情简介是什 | 情定少林寺| 千金奴日本电影播放完整版中文| 武动乾坤之瑶魔乱舞| 大明风华在线观看免费| 风铃动漫在线观看完整版与| 色戒删除的13分钟| 蒋玲玲版《渔夫的荒野史记》电影| 庆余年22集| 高清《灭火宝贝(高压监狱)》| 美式忌讳5—7| 宁都采茶戏| 恋爱男孩泰剧| 步步惊心新版| 《落魄贵族》1-4集免费观看 | 年代秀20120706| 战略大作战| 绿岛电影海报堂| 电影《替弟还债十日》日剧| 《碟中谍5:神秘国度》| 恋之罪在线观看| 美国式家庭的忌忌5| 超级教师电视剧| 寄往电视台的神秘影像未删减| 我的战争| 白雪公主H版无删在线播放| 把冰块一个一个挤出去| 雷诺阿电影| 俄罗斯美女学院1-8季的剧情简介 《美丽妻子替弟还债 | 掌中之物西班牙版本无删减在线观看 | 斗罗大陆观看免费完整版| 阴阳眼见子| 我的好妈妈8高清中字在线观看| 《法国空乘3》在线观看免费赛尔航空| 我和僵尸有个约会电影| 我家有喜的全部歌曲| 《法国空少》| 胜算电视剧免费完整版在线观看| 蓝宇 电影| 不伦纯爱| 爱情雨国语版全集| 台版1987渔夫荒野史记下载| 乘风2024免费观看完整| 张本智和领奖台上唱国歌| 素鸡豆腐| 发国少女6| 台湾骂人的话| 《宿主》| 兄弟的女友2免费观看电视剧| 我的巨乳姐姐| 黑帮大佬和我的365天 第二| 人鬼神国语| omoflow在线观看| 《法国无内走秀》| 武训传免费| 夜天子电视剧免费观看全集 | 她的神话 电视剧| 初五启市录| 老公的部下是我的初恋| 《手机》电影免费观看| 你的名字在线观看完整版免费高清| 韩国售楼小姐电影在线观看完整版| 五等分的新娘第一季免费观看动漫| 湄公河行动在线观看| 哲仁皇后| 小凤新婚下| 女体铳电影完整版免费观看高清| 太子发疯地撞着公主的小说| 变形金刚2国语版全集| 韩国伦理电影维修工的绝对艳遇| 张婧仪电影《独一无二》免费观看| 国王的勇士3| 三都| 中文字幕凯帕克在线观看| 平凡英雄电影| 画心师免费观看全集20| 女律师的堕落在线观看| 白石茉莉奈 番号| 老电影武当| 传奇故事全集| 玄女心经2免费观看完整版高清| 暖暖国语高清在线观看免费韩剧| 老板的女儿全集免费看| 下一站婚姻| 墨西哥呱达卢佩的玫瑰在线观看完整版 | 日本大学生私密按摩在线播放| 火口的两人全集免费观看| 美乃雀替父还债| 小猪佩奇100集免费完整版| 棋士电视剧免费观看| 木下凛凛子邻居电影完整版在线观看| 激战百度影音| 男子胁迫前女友跳海殉情| 神马电影男神马电影| 战争暴行女囚HD版| 命悬一生 电视剧| 姑娘看电影免费观看| 建国门枪击事件| 丰满的继牳3小早川怜子-高清完整无删| 妖精的尾巴100| 情人结 下载| 金银梅5一10普通话2| 电视剧逍遥免费观看全集| 七侠五义人间道在线观看| 高清《几度夕阳红》 | 分手达人| 成全高清完整版免费动漫| 学校怪谈| 租借女友第3季免费观看动漫| 向涟苍士献上纯净樱花| 《酒店》1-90集免费观看| 吴尊演的电视剧| 白鹿原电视剧完整版| 风中奇缘片花| 火山口2人| 曝光大叔女子哭诉学校准备开除她| 难哄白敬亭电视剧在线免费观看| 三体电视剧剧情介绍| 安宅拉拉电影在线观看|