20145315 《Java程序设计》第八周学习总结

时间:2023-02-21 21:48:26

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增强功能

  1. String.join()
  2. Arrays

其他(感悟、思考等,可选)

Java提供了面向国际化的环境,对用户更友好。

学会了切割字符串,并返回切割后各子字符串组成的String数组。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20

参考资料