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

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

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

    2012年11月16日

           總想提筆寫點(diǎn)什么,卻不知道該怎樣記錄這幾個(gè)月的生活。滿腦的思緒卻無從下筆,只是感覺找工作也不是自己想的那么容易??粗黄鹫夜ぷ鞯娜硕颊业搅耍妥约簺]有找到合適的,就慢慢的開始懷疑自己,對(duì)生活和未來喪失信心。不過還好懂得,人最不能放棄的就是希望,好多事情盡了自己最大的努力就好。
          
    posted @ 2012-11-17 09:04 skylight 閱讀(158) | 評(píng)論 (0)編輯 收藏
     1package com.test2;
     2
     3public class Demo2 {
     4
     5    /**
     6     * @param args
     7     */

     8
     9    public static int search(int[] arrays, int target) {
    10
    11        int start = 0;
    12        int end = arrays.length - 1;
    13        int pos;
    14        while (start <= end) {
    15            pos = (start + end) / 2;
    16            if (arrays[pos] == target) {
    17                return pos;
    18            }
     else if (arrays[pos] > target) {// 如果數(shù)組中間的數(shù)大于目標(biāo),則將end的位置變成數(shù)組中間位置-1的位置
    19                end = pos - 1;
    20            }
     else {
    21                start = pos + 1;// 如果數(shù)組中間的數(shù)小于目標(biāo),則將start的位置變成數(shù)組中間位置+1的位置
    22            }

    23        }

    24        return -1// 若沒有查找到,則返回-1
    25    }

    26
    27    public static void main(String[] args) {
    28        int[] arrays = 232839592883223242323 };
    29        System.out.println(search(arrays, 28));
    30        System.out.println(search(arrays, 322));
    31        System.out.println(search(arrays, 59));
    32        System.out.println(search(arrays, 288));
    33    }

    34
    35}

    36
    posted @ 2012-11-17 08:30 skylight 閱讀(186) | 評(píng)論 (0)編輯 收藏
    多線程的概念

    一、程序與進(jìn)程

    1、程序:一段靜態(tài)的代碼。

    2、進(jìn)程:程序的一次動(dòng)態(tài)執(zhí)行過程,它對(duì)應(yīng)從代碼加載、執(zhí)行到執(zhí)行完畢的一個(gè)完整過程。

    3、進(jìn)程也稱任務(wù),支持多個(gè)進(jìn)程同時(shí)執(zhí)行的OS就被稱為多進(jìn)程OS或多任務(wù)OS。

    二、進(jìn)程與線程

    在一個(gè)程序內(nèi)部也可以實(shí)現(xiàn)多個(gè)任務(wù)并發(fā)執(zhí)行,其中每個(gè)任務(wù)稱為線程。

    線程是比進(jìn)程更小的執(zhí)行單位,它是在一個(gè)進(jìn)程中獨(dú)立的控制流,即程序內(nèi)部的控制流。

    特點(diǎn):線程不能獨(dú)立運(yùn)行,必須依賴于進(jìn)程,在進(jìn)程中運(yùn)行。

    每個(gè)程序至少有一個(gè)線程稱為主線程。

    單線程:只有一條線程的進(jìn)程稱為單線程

    多線程:有不止一個(gè)線程的進(jìn)程稱為多線程

    三、開啟多線程的優(yōu)點(diǎn)和缺點(diǎn)

    提高界面程序響應(yīng)速度。通過使用線程,可以將需要大量時(shí)間完成的流程在后臺(tái)啟動(dòng)單獨(dú)的線程完成,提高前臺(tái)界面的相應(yīng)速度。

    充分利用系統(tǒng)資源,提高效率。通過在一個(gè)程序內(nèi)部同時(shí)執(zhí)行多個(gè)流程,可以充分利用CPU等系統(tǒng)資源,從而最大限度的發(fā)揮硬件的性能。

    當(dāng)程序中的線程數(shù)量比較多時(shí),系統(tǒng)將花費(fèi)大量的時(shí)間進(jìn)行線程的切換,這反而會(huì)降低程序的執(zhí)行效率。但是,相對(duì)于優(yōu)勢來說,劣勢還是很有限的,所以現(xiàn)在的項(xiàng)目開發(fā)中,多線程編程技術(shù)得到了廣泛的應(yīng)用。

    多線程實(shí)現(xiàn)

    一、在實(shí)現(xiàn)線程編程時(shí),首先需要讓一個(gè)類具備多線程的能力,繼承Thread類或?qū)崿F(xiàn)Runnable接口的類具備多線程的能力,然后創(chuàng)建線程對(duì)象,調(diào)用對(duì)應(yīng)的啟動(dòng)線程方法即可實(shí)現(xiàn)線程編程。

    在一個(gè)程序中可以實(shí)現(xiàn)多個(gè)線程,多線程編程指在同一個(gè)程序中啟動(dòng)了兩個(gè)或兩個(gè)以上的線程。

    在實(shí)際實(shí)現(xiàn)線程時(shí),Java語言提供了三種實(shí)現(xiàn)方式:

    (1)繼承Thread類

    (2)實(shí)現(xiàn)Runnable接口

    (3)使用Timer和TimerTask組合

    二、繼承Thread線程類實(shí)現(xiàn)多線程
    java.lang包中提供了一個(gè)專門的線程類(Thread),在該類中封裝了許多對(duì)線程進(jìn)行調(diào)度和處理的方法。如果一個(gè)類繼承了Thread類,則該類就具備了多線程的能力,可以多線程的方式執(zhí)行。


     1class MyThread extends Thread{
     2public void run(){
     3
     4//線程體
     5}

     6}

     7繼承Thread類實(shí)現(xiàn)多線程。
     8MyThread tt1 = new MyThread ();
     9//啟動(dòng)線程
    10tt1.start();
    11try{
    12for(int i = 0;i < 5;i++){
    13//延時(shí)1秒
    14
    15Thread.sleep(1000);
    16System.out.println("Main:" + i);
    17
    18}

    19}
    catch(Exception e){}
    注意:

    線程的特性:隨機(jī)性,系統(tǒng)在執(zhí)行多線程程序時(shí)只保證線程是交替執(zhí)行的,至于哪個(gè)線程先執(zhí)行哪個(gè)線程后執(zhí)行,則無法獲得保證,需要書寫專門的代碼才可以保證執(zhí)行的順序。

    對(duì)于同一個(gè)線程類,也可以啟動(dòng)多個(gè)線程

    同一個(gè)線程不能啟動(dòng)兩次,

    當(dāng)自定義線程中的run方法執(zhí)行完成以后,則自定義線程自然死亡。而對(duì)于系統(tǒng)線程來說,只有當(dāng)main方法執(zhí)行結(jié)束,而且啟動(dòng)的其它線程都結(jié)束以后,才會(huì)結(jié)束。當(dāng)系統(tǒng)線程執(zhí)行結(jié)束以后,程序的執(zhí)行才真正結(jié)束。

    三、 實(shí)現(xiàn)Runable接口

    a) 多線程對(duì)象實(shí)現(xiàn)java.lang.Runnable接口并且在該類中重寫Runnable接口的run方法。

    b) 好處:實(shí)現(xiàn)Runable接口的方法避免了單繼承的局限性。

    例1:使用實(shí)現(xiàn)Runable接口的方式實(shí)現(xiàn)多線程。


    1class MyThread2 implements Runable{
    2public void run(){} //重寫Runable接口中的run()方法
    3}

    4MyThread2 mt1=new MyThread2();
    5Thread t1=new Thread(mt1);
    6t1.start();
    線程的生命周期

    一、線程的生命周期

    線程是一個(gè)動(dòng)態(tài)執(zhí)行的過程,它也有一個(gè)從產(chǎn)生到死亡的過程,這就是所謂的生命周期。一個(gè)線程在它的生命周期內(nèi)有5種狀態(tài):

    1、新建(new Thread)

    當(dāng)創(chuàng)建Thread類的一個(gè)實(shí)例(對(duì)象)時(shí),此線程進(jìn)入新建狀態(tài)(未被啟動(dòng))。
    例如:Thread t1=new Thread();

    2、就緒(runnable)

    線程已經(jīng)被啟動(dòng),正在等待被分配給CPU時(shí)間片,也就是說此時(shí)線程正在就緒隊(duì)列中排隊(duì)等候得到CPU資源。例如:t1.start();

    3、運(yùn)行(running)

    線程獲得CPU資源正在執(zhí)行任務(wù)(run()方法),此時(shí)除非此線程自動(dòng)放棄CPU資源或者有優(yōu)先級(jí)更高的線程進(jìn)入,線程將一直運(yùn)行到結(jié)束。

    4、死亡(dead)

    當(dāng)線程執(zhí)行完畢或被其它線程殺死,線程就進(jìn)入死亡狀態(tài),這時(shí)線程不可能再進(jìn)入就緒狀態(tài)等待執(zhí)行。

    自然終止:正常運(yùn)行run()方法后終止

    異常終止:調(diào)用stop()方法讓一個(gè)線程終止運(yùn)行

    5、堵塞(blocked)

    由于某種原因?qū)е抡谶\(yùn)行的線程讓出CPU并暫停自己的執(zhí)行,即進(jìn)入堵塞狀態(tài)。

    正在睡眠:用sleep(long t) 方法可使線程進(jìn)入睡眠方式。一個(gè)睡眠著的線程在指定的時(shí)間過去可進(jìn)入就緒狀態(tài)。

    正在等待:調(diào)用wait()方法。(調(diào)用motify()方法回到就緒狀態(tài))

    被另一個(gè)線程所阻塞:調(diào)用suspend()方法。(調(diào)用resume()方法恢復(fù))

    posted @ 2012-11-16 12:50 skylight 閱讀(197) | 評(píng)論 (0)編輯 收藏
    JSP中一共預(yù)先定義了9個(gè)這樣的對(duì)象,分別為:request、response、session、application、out、pagecontext、config、page、exception

    1、request對(duì)象

    request 對(duì)象是 javax.servlet.httpServletRequest類型的對(duì)象。 該對(duì)象代表了客戶端的請(qǐng)求信息,主要用于接受通過HTTP協(xié)議傳送到服務(wù)器的數(shù)據(jù)。(包括頭信息、系統(tǒng)信息、請(qǐng)求方式以及請(qǐng)求參數(shù)等)。request對(duì)象的作用域?yàn)橐淮握?qǐng)求。

    2、response對(duì)象

    response 代表的是對(duì)客戶端的響應(yīng),主要是將JSP容器處理過的對(duì)象傳回到客戶端。response對(duì)象也具有作用域,它只在JSP頁面內(nèi)有效。

    3、session對(duì)象

    session 對(duì)象是由服務(wù)器自動(dòng)創(chuàng)建的與用戶請(qǐng)求相關(guān)的對(duì)象。服務(wù)器為每個(gè)用戶都生成一個(gè)session對(duì)象,用于保存該用戶的信息,跟蹤用戶的操作狀態(tài)。session對(duì)象內(nèi)部使用Map類來保存數(shù)據(jù),因此保存數(shù)據(jù)的格式為 “Key/value”。 session對(duì)象的value可以使復(fù)雜的對(duì)象類型,而不僅僅局限于字符串類型。

    4、application對(duì)象

    application 對(duì)象可將信息保存在服務(wù)器中,直到服務(wù)器關(guān)閉,否則application對(duì)象中保存的信息會(huì)在整個(gè)應(yīng)用中都有效。與session對(duì)象相比,application對(duì)象生命周期更長,類似于系統(tǒng)的“全局變量”。

    5、out 對(duì)象

    out 對(duì)象用于在Web瀏覽器內(nèi)輸出信息,并且管理應(yīng)用服務(wù)器上的輸出緩沖區(qū)。在使用 out 對(duì)象輸出數(shù)據(jù)時(shí),可以對(duì)數(shù)據(jù)緩沖區(qū)進(jìn)行操作,及時(shí)清除緩沖區(qū)中的殘余數(shù)據(jù),為其他的輸出讓出緩沖空間。待數(shù)據(jù)輸出完畢后,要及時(shí)關(guān)閉輸出流。

    6、pageContext 對(duì)象

    pageContext 對(duì)象的作用是取得任何范圍的參數(shù),通過它可以獲取 JSP頁面的out、request、reponse、session、application 等對(duì)象。pageContext對(duì)象的創(chuàng)建和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext對(duì)象。

    7、config 對(duì)象

    config 對(duì)象的主要作用是取得服務(wù)器的配置信息。通過 pageConext對(duì)象的 getServletConfig() 方法可以獲取一個(gè)config對(duì)象。當(dāng)一個(gè)Servlet 初始化時(shí),容器把某些信息通過 config對(duì)象傳遞給這個(gè) Servlet。 開發(fā)者可以在web.xml 文件中為應(yīng)用程序環(huán)境中的Servlet程序和JSP頁面提供初始化參數(shù)。

    8、page 對(duì)象

    page 對(duì)象代表JSP本身,只有在JSP頁面內(nèi)才是合法的。 page隱含對(duì)象本質(zhì)上包含當(dāng)前 Servlet接口引用的變量,類似于Java編程中的 this 指針。

    9、exception 對(duì)象

    exception 對(duì)象的作用是顯示異常信息,只有在包含 isErrorPage="true" 的頁面中才可以被使用,在一般的JSP頁面中使用該對(duì)象將無法編譯JSP文件。excepation對(duì)象和Java的所有對(duì)象一樣,都具有系統(tǒng)提供的繼承結(jié)構(gòu)。exception 對(duì)象幾乎定義了所有異常情況。在Java程序中,可以使用try/catch關(guān)鍵字來處理異常情況; 如果在JSP頁面中出現(xiàn)沒有捕獲到的異常,就會(huì)生成 exception 對(duì)象,并把 exception 對(duì)象傳送到在page指令中設(shè)定的錯(cuò)誤頁面中,然后在錯(cuò)誤頁面中處理相應(yīng)的 exception 對(duì)象。

    posted @ 2012-11-16 12:45 skylight 閱讀(245) | 評(píng)論 (0)編輯 收藏

    導(dǎo)航

    <2012年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    統(tǒng)計(jì)

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 成人国产网站v片免费观看 | 久久国产成人亚洲精品影院| 亚洲免费网站在线观看| 一区二区三区视频免费观看| 亚洲欧美aⅴ在线资源| 亚洲激情电影在线| 亚洲av女电影网| 亚洲最大AV网站在线观看| 亚洲成av人片在线观看天堂无码| 无码一区二区三区免费视频| 日本免费一区二区在线观看| 久久黄色免费网站| 国产A∨免费精品视频| 国产成人久久精品亚洲小说| 亚洲精品无码久久久久秋霞| 亚洲人xxx日本人18| 亚洲成AV人片久久| 亚洲成年人免费网站| 亚洲国产美国国产综合一区二区 | 黄色三级三级免费看| 亚洲av日韩精品久久久久久a| 亚洲视频无码高清在线| 亚洲国产品综合人成综合网站| 亚洲黄色一级毛片| 亚洲免费精彩视频在线观看| 久久亚洲精品中文字幕无码| 亚洲VA成无码人在线观看天堂| 亚洲人成伊人成综合网久久久| 亚洲精品无码Av人在线观看国产| 亚洲中文字幕在线乱码| 亚洲毛片αv无线播放一区| a级亚洲片精品久久久久久久| 中文字幕第一页亚洲| 亚洲成AV人片在WWW色猫咪 | 99爱在线观看免费完整版| 无码人妻丰满熟妇区免费| 99在线热视频只有精品免费| 日韩av无码久久精品免费| 免费看h片的网站| 成人性生免费视频| 又粗又大又硬又爽的免费视频 |