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

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

教材學習內容總結

第十四章

  • NIO使用頻道來銜接數據節點,能夠設定緩衝區容量,在緩衝區中對感興趣的數據區塊進行標記,提供clear()、rewind()、flip()、compact()等高級操做。
  • FileInputStream、FileOutputStream都有個getChannel()方法能夠分別取得FileChannel實例。
  • 能夠經過Channels上其它newXXX()靜態方法,取得InputStream、OutputStream、Reader、Writer實例

第十五章

  • java.util.logging包提供了日誌功能相關類與接口。
  • 調用getlogger()時,必須指定Logger實例所屬名稱空間,名稱空間以「.」做爲層級區分,名稱空間層級相同的Logger,其父Logger組態相同。
    一般在哪一個類中取得的Logger,名稱空間就會命名爲哪一個類全名。
  • 使用日誌的起點是Logger類,Logger類的構造函數標示爲protected,要取得Logger實例,必須使用Logger的靜態方法getLogger()。
  • 表明同一組信息但不一樣地區的各個資源包會共享相同的基礎名稱,使用ResourceBundle的getBundle()時指定的名稱,就是在指定基礎名稱。
  • 使用ResourceBundle時,如何根據基礎名稱取得對應的信息文檔:
    (1)使用指定的Locale對象取得信息文檔
    (2)使用Locale.getDefault()取得的對象取得信息文檔
    (3)使用基礎名稱取得信息文檔
  • 可使用Date來取得完整日期時間,使用toString()取得日期文字描述,使用DateFormat格式化日期。
  • 規則表示式主要用於字符、字符串格式比較。
  • 規則表達式是規則表達式,在Java中要將規則表達式撰寫""在中是另外一回事。

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

  • 問題1:p475的HandlerDemo爲何沒有任何顯示?
  • 問題1解決方案:由於這個程序只會在目前Logger增長FileHanler,由於父Logger默認層級爲LEVEL.INFO,信息不會顯示在控制檯,而會儲存在用戶根目錄的config.log中。
  • 問題2:婁老師學習指導中的問題,如何進行中英文轉換?
  • 問題2解決方案:參考《java.util.ResourceBundle使用詳解

注意: .properties文檔必須放置在CLASSPATH的路徑設置下。html

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

  • 問題1:針對p474的LoggerDemo,同時更改Logger和Handler的Level結果會有什麼不一樣?
  • 問題1解決方案:當Level爲FINE時,

當Level爲CONFIG時,java

總結: 當Level愈來愈高時,顯示的信息會愈來愈少。git

  • 問題2:針對以上問題,把Logger/Handler設置成不同的Level會有什麼不一樣呢?
  • 問題2解決方案:

第(1)種狀況:程序員

第(2)種狀況:緩存

總結: 當Logger/Handler的Level不一樣時,以最高的爲主。安全

代碼託管

上週考試錯題總結

  • 錯題1:下面哪些Linux 命令能夠ASCII碼和16進制單字節方法輸出Hello.java的內容?

A .od -b -tx1 Hello.javaapp

B .od -tcx1 Hello.java函數

C .od -tc -tx1 Hello.java性能

D .od -tbx1 Hello.java學習

解析 :選B、C。

  • 錯題2:JDK8中的Lambda表達式有如下好處:

A .消除重複性

B .提升性能

C .提升安全性

D .改善可讀性

解析:選A、D。

  • 錯題3:JDK8 中新時間API中,用於度量時間的類有()

A .Instant

B .Duration

C .Period

D .LocalDateTime

解析:選B、C。

  • 錯題4:An object can be thought of as a blueprint for a set of classes(對象被認爲是類集合的藍圖).

A .true
B .false

解析:選B。

  • 錯題5:Given the following, which answers can correctly fill in the blank? (Choose all that apply.)針對下面的代碼,()中應填入哪一個選項?
    LocalDate date = LocalDate.now();
    LocalTime time = LocalTime.now();
    LocalDateTime dateTime = LocalDateTime.now();
    ZoneId zoneId = ZoneId.systemDefault();
    ZonedDateTime zonedDateTime = ZonedDateTime.of(dateTime, zoneId);
    long epochSeconds = 0;
    Instant instant = ( );

A .Instant.now()

B .Instant.ofEpochSecond(epochSeconds)

C .date.toInstant()

D .dateTime.toInstant()

E .time.toInstant()

F .zonedDateTime.toInstant()

解析:選F。

  • 錯題6:
    What is the output of the following code?(下面代碼的運行結果是?)
    LocalDate date = LocalDate.of(2018, Month.APRIL, 30);
    date.plusDays(2);
    date.plusYears(3);
    System.out.println(date.getYear() + " "
  • date.getMonth() + " "+ date.getDayOfMonth());

A .2018 APRIL 2

B .2018 APRIL 30

C .2018 MAY 2

D .2021 APRIL 2

E .2021 APRIL 30

F .2021 MAY 2

G .A runtime exception is thrown.

解析:選B。注意:最後是date.getDayOfMonth()。

結對及互評

評分標準

  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
    • ...
  • 基於評分標準,我給本博客打分:XX分。得分狀況以下:xxx

  • 參考示例

點評過的同窗博客和代碼

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

日誌對於程序員來講是一個很是重要的應用,咱們應該認真學習認真思考。這周也針對婁老師的要求對本身以前的學習進行了反思。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 16/16 1/1 12/12
第二週 124/140 1/2 19/31
第三週 501/641 1/3 26/57
第四周 664/1305 1/4 27/84
第五週 886/2191 1/5 28/112 不光是照着書上的代碼打了,本身也按着本身的想法打
第六週 502/2693 1/6 30/142 增長了看視頻的兩個小時
第七週 549/3242 2/8 25/167
第八週 391/3633 1/9 20/187

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

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

參考資料

相關文章
相關標籤/搜索