华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
全國  |             |          |          |          |          |         
  當(dāng)前位置:計算機(jī)等級 > 二級考試 > Java語言程序設(shè)計 > 考試輔導(dǎo) > 文章內(nèi)容
  

全國計算機(jī)等級考試二級Java重點內(nèi)容(4)

中華IT學(xué)院   【 】  [ 2016年9月17日 ]

 Writer 抽象類, 定義抽象方法write() 每次寫出一個字符

  |-- OutputStreamWriter 也是過濾器, 將char序列編碼為byte序列

  |      底層也是依賴基本的byte輸出流

  |-- PrintWriter 是過濾器, 提供了常用方法println()

  |      非常常見的文本處理方法

  |-- FileWriter = OutputStreamWriter + FileOutputStream

  |      不能指定文本輸出編碼, 不好用!

 

 

11 Java 多線程編程

 1) 程序: 指令+數(shù)據(jù)的byte序列, 如: qq.exe

 2) 進(jìn)程: 正在運行的程序, 是程序動態(tài)的執(zhí)行過程(運行于主存儲器)

 3) 線程: 在進(jìn)程內(nèi)部, 并發(fā)運程的過程(方法)

 4) 并發(fā): 進(jìn)程是并發(fā)運行的, OS將時間劃分為很多時間片段, 盡可能 均勻分配給正在運行的程序, 微觀上進(jìn)程走走停停, 宏觀上都在運行這種都運行的現(xiàn)象叫: 并發(fā), 但是不是絕對意義上的"同時"

12 Java 創(chuàng)建一個線程

 1)Thread 類: 線程包含一個可以運行的過程(方法)Thread 類中包含方法 run

 2) 創(chuàng)建一個具體線程, 需要繼承于Thread類

 3) 覆蓋run 方法(就是更新運行過程), 實現(xiàn)用戶自己的過程

 4) 創(chuàng)建線程實例(一個線程)

 5) 使用線程實例的start() 方法啟動線程, 啟動以后線程會盡快的去并發(fā)執(zhí)行run()

13 線程的狀態(tài)

  1 new 新建

  2 Runnable 可以運行(就緒)

  3 Running 運行(正在運行)

  4 Block 阻塞  掛起

  5 Dead 死亡

14 線程狀態(tài)管理:

  1)讓出CPU

  Thread.yield() 當(dāng)前線程讓出處理器(離開Running), 使當(dāng)前線程進(jìn)入Runnable等待

  2)休眠

   Thread.sleep(times) 使當(dāng)前線程從 Running 放棄處理器進(jìn)入Block狀態(tài), 休眠times毫秒, 再返回到Runnable如果其他線程打斷當(dāng)前線程的Block(sleep), 就會發(fā)生InterruptedException.

15 線程的常用屬性

 1)線程的優(yōu)先級 (資源緊張時候, 盡可能優(yōu)先)t3.setPriority(Thread.MAX_PRIORITY); 默認(rèn)有10 優(yōu)先級, 優(yōu)先級高的線程獲得執(zhí)行的機(jī)會多. 機(jī)會 的多少不能通過代碼干預(yù).默認(rèn)的優(yōu)先級是 5

 2)后臺線程(守護(hù)線程, 精靈線程)

  t1.setDaemon(true); Java進(jìn)程的結(jié)束: 當(dāng)前所有前臺線程都結(jié)束時, Java進(jìn)程結(jié)束 后臺線程, 不管是否結(jié)束, 都被停掉! 因為并發(fā)的現(xiàn)象, 后臺線程不會立即結(jié)束!

3) 線程名字

    getName()

4) 當(dāng)前線程

   Thread main = Thread.currentThread();

16 兩種方式創(chuàng)建線程

  1)繼承Thread類

    a 繼承Thread類, 覆蓋run()方法, 提供并發(fā)運程的過程

    b 創(chuàng)建這個類的實例

    c 使用start() 方法啟動線程

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

    a 實現(xiàn)Runnable接口, 實現(xiàn)run()方法, 提供并發(fā)運程的過程

    b 創(chuàng)建這個類的實例, 用這個實例作為Thread構(gòu)造器參數(shù)

      創(chuàng)建Thread類.

    c 使用start() 方法啟動線程

   

    class Foo implements Runnable{

             public void run(){

                       //....

             }

    }

    Thread t = new Thread(new Foo());

    t.start();

  3)使用 內(nèi)部類/匿名類 創(chuàng)建線程

17 Sleep 的打斷喚醒

  1) Thread.sleep(times) 使當(dāng)前線程從 Running 放棄處理器

    進(jìn)入Block狀態(tài), 休眠times毫秒, 再返回到Runnable

  2)一個線程可以提前喚醒另外一個sleep Block的線程

       interrupt() 打斷/中斷

  3) 被喚醒線程出現(xiàn) 中斷異常

13) 異步, 同步

  1) 異步: 并發(fā), 各干自己的: 如: 一群人上卡車

  2) 同步: 步調(diào)一致的處理, 如: 一群人上公交車, "倫敦制"

14) 案例異步寫文件

  1) 一個線程負(fù)責(zé)將控制臺信息讀取到內(nèi)存緩沖區(qū)(集合)如果控制臺輸入quit 將結(jié)束輸入. 中斷寫出線程

  2) 一個線程負(fù)責(zé)將緩沖區(qū)中的信息寫到硬盤文件

    每次檢查緩沖區(qū)是否有數(shù)據(jù), 如果有就寫出, 直到空為止如果沒有數(shù)據(jù)就休眠5秒

寫出線程是后臺線程, 可以自動結(jié)束

  3) 緩沖區(qū)采用隊列(FIFO)的工作方式

1 兩種方式創(chuàng)建線程

  1)繼承Thread類

    a 繼承Thread類, 覆蓋run()方法, 提供并發(fā)運程的過程

    b 創(chuàng)建這個類的實例

分享到:
本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
贵港市| 孙吴县| 星子县| 江源县| 临洮县| 永年县| 酒泉市| 金沙县| 新建县| 景谷| 托克托县| 大厂| 湖南省| 汉源县| 修武县| 桂平市| 九江市| 合作市| 青岛市| 锡林浩特市| 涟源市| 大关县| 嘉峪关市| 章丘市| 保山市| 台山市| 西畴县| 罗江县| 招远市| 伊春市| 通许县| 新蔡县| 安泽县| 吕梁市| 夹江县| 东乌珠穆沁旗| 黑龙江省| 喜德县| 家居| 永嘉县| 湘潭市|