java.util.loggging
包提供了日誌功能相關類與接口Logger
類,Logger類的構造函數表示爲protected,不是java.util.logging
同包的類不能直接以new建立,取得Logger實例,必須用Logger的靜態方法getLogger()
getLogger()
時必須指定Logger實例所屬空間名稱,以 . 區分層級,名稱空間層級相同的Logger,其父Logger組態相同.class
,可取得該類的java.lang.class
實例,調用其getName()
就能夠取得類全名要輸出的信息,必須先經過Logger的Level與Filter過濾,再經過Handler的Level和Filter過濾,格式化信息的動做交給Formatterhtml
Logger.GLOBAL_LOGGER_NAME
(INFO)名稱空間Logger實例的組態,Handler默認是ConsoleHandler
getParent()
取得父Logger實例,getlevel()
取得設定的Level實例setLevel()
設定層級,可用Level內建幾個靜態成員來指定intVlue()
取得內含int值log()
時指定的Level實例內含的int值小於Logger設定的Level實例內含的int值,Logger就不會記錄信息Level.OFF
用於關閉全部信息輸出,Level.ALL
用於容許全部信息輸出addHandler()
、removeHandler()
新增、移除Handler實例getHandlers()
方法來取得目前已有的Handler實例數組setLevel()
設定信息一些日誌層級,Logger有其對應的簡便方法java
MemoryHandler
(信息存在緩衝區,超出緩衝區大小)、StreamHandler
(可自動指定OutputStream實例)、ConsoleHandler
(日誌信息會顯示在控制檯上)、FileHandler
(創建日誌輸出時使用的FileOutputStream)、SocketHandler
(聯網,將日誌信息傳至指定主機)addHandler()
、removeHandler()
新增、移除HandlerConfig()
是個簡便方法,能夠直接Level.CONFIG層級輸出信息,也有severe()
、info()
等簡便方法調用Logger實例的setUseParentHandlers()
設定爲false,日誌不會傳播給父Logger,使用setParent()
方法指定父Loggergit
publish()
、flush()
與close()
方法來定義Handler,操做時考慮信息過濾與格式化自定義Formatter,繼承Formatter後操做抽象方法format()
,傳入LogRecord,儲存全部日誌信息api
經過logging.properties來設定Logger組態,修改.properties後另存至程序CLASSPATH中,指定java.util.logging.cofig.file系統屬性爲.properties名稱數組
ResourceBundle的靜態getBundle()
方法會取得一個ResourceBundle實例,給定自變量名稱是信息文檔的主文件名,取得實例後用getString()
指定鍵取得文檔中對應值app
將Unicode編碼表示的.properties轉回中文,使用-reverse自變量函數
spilt()
方法,返回切割後各子字符串組成的String數組replaceAll()
會將符合規則表達式的字符串取代後返回新字符串使用()將規則表達式分組,被分組的規則表達式能夠在稍後回頭參考學習
compile()
來取得mather()
方法將指定字符串依規則表達式切割matcher()
方法指定要比較的字符串,find()
方法看是否是有下一個符合字符串,lookingAt()
看字符串開頭是否符合規則表達式,group()
方法返回符合的字符串replaceAll()
方法,將符合規則表達式的部分以指定的字符串替代,replaceFirst()
與replaceEnd()
分別可取代首個、最後反符合規則表達式部分,start()
方法可取得符合字符串的起始索引,end()
取得符合字符串最後一個字符後的索引編碼
join()
靜態方法能夠指定每一個字符串間以什麼間隔joining()
靜態方法paralleSort()
方法能夠將指定的數組分爲子數組並以平行化方式分別排序,而後再進行合併排序.net
Arrays
的asList()
方法返回List,然後調用stream()
方法取得stream實例Arrays
的stream()
方法,能夠指定數組後返回Stream實例本週代碼調試沒有問題
B .:wq!
C .:q!
D .:q
理解狀況 C.:wq 是保存退出。 !表示強制。
B .final
C .public
D .private
E .none of the above(以上都不是)
B .Instant.ofEpochSecond(epochSeconds)
C .date.toInstant()
D .dateTime.toInstant()
E .time.toInstant()
F .zonedDateTime.toInstant()
教材學習中的問題和解決過程, 一個問題加1分
代碼調試中的問題和解決過程, 一個問題加1分
學習了將系統運行記錄到日誌的方法,經過日誌的層級關係,結合了繼承的知識,更深的理解了父類和子類的關係,還學習了國際化標準和規則表達式
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 0/0 | 2/2 | 20/20 | |
第二週 | 186/186 | 2/4 | 18/38 | |
第三週 | 689/875 | 3/7 | 22/60 | |
第四周 | 242/1117 | 2/9 | 30/90 | |
第五週 | 698/1815 | 2/9 | 30/120 | |
第六週 | 1269/3084 | 2/9 | 30/120 | |
第七週 | 342/3426 | 2/9 | 30/120 | |
第八週 | 398/3824 | 2/9 | 30/120 |
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
計劃學習時間:24小時
實際學習時間:23小時
改進狀況:
(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)