日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

20145237第六周学习总结

發布時間:2024/4/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20145237第六周学习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

20145237第6周學習總結

教材學習內容總結





第十章

??InputStream與OutputStream

?

流(Stream)是對「輸入輸出」的抽象。

?

read:每次會嘗試讀入byte數組長度的數據,并返回實際讀入的字節。為-1時即為未讀取到數據。

?

write:指定要寫出的byte數組、初始索引與數組長度。

??標準輸入輸出//這部分已經很熟悉了

?

System.in: 標準輸入,默認關聯到鍵盤(終端輸入)

?

System.out: 標準輸出,默認關聯到顯示器(終端輸出)

?

System.err: 標準錯誤,默認關聯到顯示器(終端輸出)

?

輸入輸出重定向:setIn,setOut,setErr

??其余

?

FileInputStream與FileOutPutStream:文件讀寫

?

BufferedInputStream與BufferedOutputStream: 內部提供緩沖,提高效率

?

DataInputStream與DataOutputStream:基本數據類型與字節的轉換

?

ObjectInputStream與ObjectOutputStream:java.io.Serializable接口

??字符處理類

?

read:每次會嘗試讀入byte數組長度的數據,并返回實際讀入的字節。為-1時即為未讀取到數據。

?

write:指定要寫出的byte數組、初始索引與數組長度。



package cc.openhome;



import java.io.*;



public class IO {



????public static void dump(InputStream src, OutputStream dest)

???????????????????????????????throws IOException {

????????try (InputStream input = src; OutputStream output = dest) {

????????????byte[] data = new byte[1024];

????????????int length;

????????????while ((length = input.read(data)) != -1) {

????????????????output.write(data, 0, length);

????????????}

????????}

????}

}



第十一章 線程與并行API?

·單線程程序:啟動的程序從main()程序進入點開始至結束只有一個流程。示范代碼如下:



?import static java.lang.System.out;



public class TortoiseHareRace {



????public static void main(String[] args) {

????????boolean[] flags = {true, false};

????????int totalStep = 10;

????????int tortoiseStep = 0;

????????int hareStep = 0;

????????out.println("龜兔賽跑開始...");

????????while(tortoiseStep < totalStep && hareStep < totalStep) {

????????????tortoiseStep++;???????

????????????out.printf("烏龜跑了 %d 步...%n", tortoiseStep);

????????????boolean isHareSleep = flags[((int) (Math.random() * 10)) % 2];

????????????if(isHareSleep) {

????????????????out.println("兔子睡著了zzzz");

????????????} else {

????????????????hareStep += 2;????

????????????????out.printf("兔子跑了 %d 步...%n", hareStep);

????????????}

????????}

????}

}

?

在java中,如果想在main()以外獨立設計流程,可以撰寫類操作java.lang.Runnable接口,流程的進入點是操作在run()方法中。

?在java中,從main()開始的流程會由主線程執行,可以創建Thread實例來執行Runnable實例定義的run()方法。

?

JVM是臺虛擬計算機,只安裝一顆稱為主線程的CPU,可執行main()定義的執行流程。如果想要為JVM加裝CPU,就是創建Thread實例,要啟動額外CPU就是調用Thread實例的start()方法,額外CPU執行流程的進入點,可以定義在Runnale接口的run()方法中。

?

操作Runnable接口的好處就是較有彈性,你的類還有機會繼承其他類。若繼承了Thread,那該類就是一種Thread,通常是為了直接利用Thread中定義的一些方法,才會繼承Thread來操作。

?

關于ThreadGroup

?

1.獲取目前線程所屬線程群組名:Thread.currentThread().getThreadGroup().getName()

?

2.ThreadGroup的某些方法,可以對群組中所有線程產生作用,interrupt()方法可以中斷群組中所有線程,setMaxPriority()方法可以設定群組中所有線程最大優先權。

?activeCount()方法獲取群組的線程數量 。

?enumerate()方法要傳入Thread數組,這會將線程對象設定至每個數組索引。

?uncaughtException()方法第一個參數可取得發生異常的線程實例,第二個參數可取得異常對象。

?

3.未捕捉異常會由線程實例setUncaughtExceptionHandler()設定的Thread.UncaughtExceptionHandler實例處理之后是線程ThreadGroup,然后是默認的Thread.UncaughtExceptionHandler。





教材學習中的問題和解決過程





p325頁的代碼運行結果跟舍友不一樣。跟舍友討論后發現是因為程序中設置了兔子隨機睡覺,如果兔子不睡覺就將 hareStep 遞增2,表示兔子走兩步,只要兔子或烏龜其中一個走完10步就離開循環,根據兔子睡覺的隨機性,結果不同





本周代碼托管截圖





其他(感悟、思考等,可選)



這周因為有四個實驗,需要寫很多實驗報告,而java又有兩章需要進行學習,所以學習時間真的很少,java這種自學模式需要我們很大的自制力,能夠做到的話確實能夠學到許多有用的知識,我還需努力。



學習進度條





|????????????| 代碼行數(新增/累積)| 博客量(新增/累積)|學習時間(新增/累積)|重要成長|

| --------???| :----------------:|:----------------:|:---------------:??|:-----:|

| 目標????????| 5000行????????????|???30篇???????????| 400小時????????????|???????|

| 第六周??????| 200/1030???????????|???1/11????????????| 20/20?????????????|???????|

???

轉載于:https://www.cnblogs.com/20145237fhn/p/5375313.html

總結

以上是生活随笔為你收集整理的20145237第六周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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