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

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

教材學習內容總結

日誌API:使用日誌的起點是Logger類,要取得Logger類,必須使用Logger的靜態方法getLogger(),Logger.log()方法能夠用來輸出信息。
指定日誌層級:Logger實例輸出是有層級的,Level.All會用於容許全部信息輸出。
NIO使用頻道來銜接數據結點,在處理數據時,NIO可讓你設定緩衝區容量,在緩衝區中對感興趣的數據區塊進行標記,像是標記讀取位置、數據有效位置,對於這些區塊標記,提供了Clear()、rewind()、flip()、compact()等高級操做。
NIO2文件系統API提供一組標準接口與類,應用程序開發者只要基於這些標準接口與類進行文件系統操做,底層實際如何進行文件系統操做,是由文件系統提供負責。
Handler與Formatter:MemoryHandler不會格式化日誌信息,信息會暫存於內存緩衝去,知道超過緩衝區大小,纔將信息輸出至指定的目標Handler。
自定義Handler、Formatter與Filter:格式化由Formatter負責,信息過濾由Filter負責。
logging.properties。
ResourceBundle:ResourceBundle能夠用來作信息綁定,將往後可能要改變的信息移到程序以外。
Locale:方法:GetDateInstance、GetTimeInstance、GetDateTimeInstance、 直接構建SimpleDateFormat。
String的split方法接受的是規則表達式,規則表達式基本山包括兩種字符:字面意義字符(Literals)和元字符(Metacharacters)。
Pattern與Matcher:取得Pattern實例後,能夠使用split()方法將指定字符串進行切割,效果與String的split()方法類似,Matcher也有replaceAll()方法,與String的replaceAll()方法類似。html

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

  • 對於書上關於Logger、Handler、Fomatter之間API的調用關係存在問題。信息經過了Logger的Level與Filter過濾,再經過Handler的Level與Filter過濾,格式化信息的動做交給Formatter,最後才調用輸出對象將格式化後的信息輸出。爲何有的時候能夠輸出信息,有的時候不會拋出信息?
    後來調試代碼,認真看書上的範例研究,雖然Handler負責實際輸出可是須要注意Logger的信息會往父類Logger傳播,這是第一次接觸Logger實例就須要掌握的,由於其會往父類傳播,在沒有任何組態設定的狀況下Logger是有默認值的,層級必須大於或等於Logger.GLOBAL_LOGGER_NAME名稱空間Logger實例設定的Level.INFO,纔有可能輸出信息。
  • 對於貪婪、逐步、獨吐量詞,它們三者的區別是什麼?三者的運算方法是否相同?對於同一段字符串的運算結果是否相同?如何比較的?
    通過看書後,對於貪婪量詞,是整個把剩餘文字吃掉,在逐步吐出文字,結果會找出儘量長的符合文字。而逐步量詞,是一邊吃掉剩餘文字,一邊看沒有被吃到的文字進行比較,獨吐量詞會將文字吃掉,而後看獨吐量詞部分是否符合吃下的文字;顯然經過三者的特色就能夠判斷出區別;起先覺得對於同一段字符出來的結果是相同的,可是對於書上的例子xfooxxxxxxfoo來看,三者運算的結果是不一樣的;而比比較方法使用給定的規則表達式比較。

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

沒有...java

代碼託管

上週考試錯題總結

  • wq是保存退出,!表示強制。
  • -b 是以八進制輸出
  • -tc -tx 和-tcx同樣,是使用十六位和ASCII碼
  • Stream API能夠實現管道操做
  • Lambda表達式能夠消除重複性,改善可讀性
  • JDK8定義的通用函數接口,分爲Consumer Function Predicate Supplie
  • JDK8中新的時間API,度量時間的類有 Duration和Period
  • Java8以前,對日期運算使用 Calendar 類
  • UML類圖,有助於咱們查看程序中類的內容和它們之間的關係
  • 實參,actual是調用方法時傳給方法的值
  • 對象被不是類集合的藍圖
  • 實參是發送到方法中的數據,形參被用在方法定義中,對象被用在方法中時,這兩個值都被提到,都是互相的別名
  • ZonedDateTime會包含「東部標準時間」

結對及互評

評分標準

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

  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學習

  • 參考示例.net

點評過的同窗博客和代碼

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

xxx
xxx設計

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 ?/200 1/4 20/20
第二週 300/500 1/5 18/38
第三週 500/1000 1/6 20/58
第四周 800/1600 1/7 21/78
第五週 500/2100 1/8 21/89
第六週 600/2700 1/9 20/109
第七週 600/3300 1/10 17/126
第八週 900/4200 1/11 20/146

嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。調試

參考:軟件工程軟件的估計爲何這麼難軟件工程 估計方法日誌

  • 計劃學習時間:20小時orm

  • 實際學習時間:20小時

  • 改進狀況:

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

參考資料

相關文章
相關標籤/搜索