20145315 《Java程序设计》第八周学习总结
教材学习内容总结
第十五章通用API
15.1日志
15.1.1日志API简介
使用日志的起点是logger类,logger实例的创建有许多要处理的要素,必须使用logger的静态方法getLogger().
通常在哪个类上取得的logger,名称空间就会命名为哪个类的全名,使用getName()就可以取得类全名,输出信息时可以使用静态成员指定信息层级。
Logger是起点,必须先通过Logger的Level与Filter过滤,再通过Handler的Level与Filter过滤,格式化信息的动作交给Formatter,输出信息的动作实际上是Handler负者。
Logger处理完自己的日志动作后,会向父Logger传播。
15.1.2指定日志层级
log时指定的Level实例内含的int值小于Logger设定的Level实例内含的int值,Logger就不会记录信息。
若要显示INFO以后的信息,不仅要将Logger的层级设定为Level.INOF,也得将Handler的层级设定为Level.INFO.
15.1.3使用Handler与Formatter
MemoryHandler不会格式化信息,信息会储存在内存缓冲区,直到超过缓冲区大小,才将信息输出至指定目标Handler
streamHandle可自行制定信息输出时使用的outputStream,它与子类都会使用指定的Formatter格式信息。
可以使用addHandler()新增Handler实例,使用removeHandler()移除Handler。
建立FileHandler指定模式字符串时,可以使用“%h"来指定用户的根目录,“%g"自动为文档编号,config()是个简便方法,可以直接以Level。CONFIG层级输出信息。
15.1.4
可以继承Handler类,操作抽象方法publish()、flush()与close()方法来定义Handler
Handler负者输出,Formatter负者格式化,Filter负者信息过滤。
加入额外过滤条件,可以操作Filter接口。
15.1.5
可以通过logging.properties来设定Logger组态
15.2国际化基础
在不修改应用程序的基础上,根据不同用户采用不同语言。
15.2.1
可以使用ResourceBundle来做信息绑定,将信息移至程序外。
15.2.2
国际化的三个重要概念是地区信息,资源包和基础名称。
地区信息:由语言编码和地区编码组成
资源包:包括特定地区相关信息
代表同一组信息但不同地区的各个资源包会共享相同的继承名称。
- 使用指定的Local对象取得信息文档。
- 使用Locale。getDefault()取得的对象取得信息文档。
-
使用继承名称取得信息文档。
15.3规则表示式
切割字符串可以使用split方法
- 字面意义的字符
元字符
规则表达式是规则表达式,要写在”“中还要另外考虑。
- 字符类
- 贪婪、逐步、独吞量词
- 边界比较:可以使用\b标出单词的边界,\bdog\b,就只会比较dog.
15.4JDK8 API增强功能
- String.join()
- Arrays
其他(感悟、思考等,可选)
Java提供了面向国际化的环境,对用户更友好。
学会了切割字符串,并返回切割后各子字符串组成的String数组。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 |