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:XXXXXX

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

  • 問題2:

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

代碼托管

上周考試錯題總結

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

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

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小時

  • 改進情況:學習時更加的專心,所以時間把握的更准確。

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

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM