20155218 2016-2017-2 《Java程序設計》第6周學習總結

20155218 2016-2017-2 《Java程序設計》第6周學習總結

教材學習內容總結

  1. Java將輸入/輸出抽象化爲串流,數據有來源及目的地,銜接二者的是串流對象。
  2. dump()方法並無限定來源或目的地的真實形式,而是依賴於抽象的InputStream、OutputStream。
  3. InputStream、OutStream提供串流基本操做,若是想要爲輸入/輸出的數據作加工處理,則可使用打包器類。經常使用的打包器具有緩衝區做用的BufferedOutputStream、BufferedInputStream,具有數據轉換處理的DataInputStream、DataOutputStream,具有對象串行化能力的ObjectInputStream、ObjectOutputStream等。
  4. 在java中,從main()開始的流程會由主線程執行,能夠建立Thread實例來執行Runnable實例定義的run()方法。
  5. 撰寫多線程程序的方式:
    1.將流程定義在Runnable的run()方法中
  6. 2.繼承Thread類,從新定義run()方法
  7. wait()、notify()、notifyAll()是Object定義的方法,能夠經過這3個方法控制線程釋放對象的鎖定,或者通知線程參與鎖定競爭。
  8. CopyOnWriteArrayList操做了List接口,這個類的實例在寫入操做是,內部會創建新數組,並複製原有數組索引的參考,而後在新數組上進行寫入操做,寫入完成後,再將內部原參考舊數組的變量參考至新數組。

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

  • 問題1:什麼是IO
  • 問題1解決方案: Java中I/O操做主要是指使用Java進行輸入,輸出操做. Java全部的I/O機制都是基於數據流進行輸入輸出,這些數據流表示了字符或者字節數據的流動序列。Java的I/O流提供了讀寫數據的標準方法。任何Java中表示數據源的對象都會提供以數據流的方式讀寫它的數據的方法。
  • 問題2:File的做用
  • 問題2解決方案:在Java語言的java.io包中,由File類提供了描述文件和目錄的操做與管理方法。但File類不是InputStream、OutputStream或Reader、Writer的子類,由於它不負責數據的輸入輸出,而專門用來管理磁盤文件與目錄。做用:File類主要用於命名文件、查詢文件屬性和處理文件目錄。
  • 問題3:什麼是併發
  • 問題3解決方案:在操做系統中,是指一個時間段中有幾個程序都處於已啓動運行到運行完畢之間,且這幾個程序都是在同一個處理機上運行,但任一個時刻點上只有一個程序在處理機上運行。這裏須要注意併發和並行是不一樣的兩個概念。併發是指一個時間段內同時運行,這是個區間;而並行是指在同一個時間點上運行,這個是一個點。並且併發在同一個時間點上只能是一個程序在運行。
  • 問題4:進程和線程之間有什麼不一樣?
  • 問題4解決方案:一個進程是一個獨立(self contained)的運行環境,它能夠被看做一個程序或者一個應用。而線程是在進程中執行的一個任務。Java運行環境是一個包含了不一樣的類和程序的單一進程。線程能夠被稱爲輕量級進程。線程須要較少的資源來建立和駐留在進程中,而且能夠共享進程中的資源。

代碼調試中的問題和解決過程

  • 問題1:XXXXXXphp

  • 問題1解決方案:st是String類型,System.in.read()讀取一個字節,而後轉換成一個int型的數,給返回,想用st去接,可是由於類型不一致,因此使用這個(String) ,是不能夠的,強制類型轉換得能轉才行,基本數據類型和基本數據類型之間轉換,引用數據類型和引用數據類型之間轉換,能夠,可是引用類型和基本類型之間就不行了,引用類型是類,是對象。
  • 問題2:html

  • 問題2解決方案:看到前面的程序發現,我將Tortoise錯誤的定義爲了private,將其改成public便可。java

代碼託管

上週考試錯題總結

1.假設有自定義異常類ServiceException,那麼拋出該異常的語句正確的是(B)
A .
raise ServiceException
B .
throw new ServiceException()
C .
throw ServiceException
D .
throws
2.下列哪些項是泛型的優勢? (A,C)
A .
不用向下強制類型轉換
B .代碼容易編寫
C .類型安全D .運行速度快git

3.關於try...catch...finally結構,描述正確的是哪些?(A,C)web

A .
能夠有多個catch數組

B .
只能有一個catch安全

C .
能夠沒有catch數據結構

D .
finally必須有多線程

結對及互評

評分標準

  1. 正確使用Markdown語法(加1分):
    • 不使用Markdown不加分
    • 有語法錯誤的不加分(連接打不開,表格不對,列表不正確...)
    • 排版混亂的不加分
  2. 模板中的要素齊全(加1分)
    • 缺乏「教材學習中的問題和解決過程」的不加分
    • 缺乏「代碼調試中的問題和解決過程」的不加分
    • 代碼託管不能打開的不加分
    • 缺乏「結對及互評」的不能打開的不加分
    • 缺乏「上週考試錯題總結」的不能加分
    • 缺乏「進度條」的不能加分
    • 缺乏「參考資料」的不能加分
  3. 教材學習中的問題和解決過程, 一個問題加1分併發

  4. 代碼調試中的問題和解決過程, 一個問題加1分

  5. 本週有效代碼超過300分行的(加2分)
    • 一週提交次數少於20次的不加分
  6. 其餘加分:
    • 週五前發博客的加1分
    • 感想,體會不假大空的加1分
    • 排版精美的加一分
    • 進度條中記錄學習時間與改進狀況的加1分
    • 有動手寫新代碼的加1分
    • 課後選擇題有驗證的加1分
    • 代碼Commit Message規範的加1分
    • 錯題學習深刻的加1分
    • 點評認真,能指出博客和代碼中的問題的加1分
    • 結對學習狀況真實可信的加1分
  7. 扣分:
    • 有抄襲的扣至0分
    • 代碼做弊的扣至0分
    • 遲交做業的扣至0分

點評模板:

  • 博客中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 代碼中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 基於評分標準,我給本博客打分:XX分。得分狀況以下:xxx

  • 參考示例

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20155205
    • 結對照片
    • 結對學習內容
      -複習上週所學的內容
      • 經過學習視頻來學習第10,11章的內容,發現有人講解真的不同,輕鬆了不少。
      • ...
  • 上週博客互評狀況

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

感受學習的內容愈來愈難了,java佔用我大量的課外時間,這周我由於寫了一個數據結構的綜合實驗,花了很多時間,因此這周學習有點吃力,但有了視頻,學習會容易一點。

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 15/15 1/4 12/12
第二週 140/155 1/5 18/30
第三週 677/817 1/ 6 20/50
第四周 583/1400 1/7 20/70
第五週 540/1940 1/8 22/92
第六週 362/2302 1/9 13/105
  • 計劃學習時間:12小時

  • 實際學習時間:13小時

  • 改進狀況:學習時更加的專心,因此時間把握的更準確。

(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表
)

參考資料

相關文章
相關標籤/搜索