第8周学习笔记

20145338 《Java程序设计》第8周学习总结

教材学习内容总结

第15章

日志

  • java.util.logging包提供了日志功能相关类与接口,他不必额外配置日志组建,就可在标准Java平台使用。使用日志的起点是Logger类,Logger类的构建函数标示为protected,不是java.util.logging同包的类不能直接以new创建,要取得Logger实例,必须使用Logger的静态方法getLogger()。
  • Logger与Handler默认都会先依据Level过滤信息,如果没有做任何修改,取得的Logger实例之父Logger组态就是Logger.GLOBAL-LOGGER-NAME空间名称Logger实例的组态。
  • Logger是记录信息的起点,要输入的信息必须通过Logger的level与Filter过滤,再通过Handler的Level与Filter过滤,格式化信息的动作交给Formatter,输出信息的动作实际上是Handler负责。
  • 自定义Formatter,可以继承Formatter后操作抽象方法format(),这个方法会传入LogRecord,储存所有日志信息。
  • Logger可以使用addHandler()新增Handler实例,使用removeHandler()移除Handler。
  • 如果java.util.logging包中提供的Handler成果都不符合需求,可以继承Handler类,操作抽象方法publish()、flush()、close()方法来自定义Handler。

国际化基础

  • 国际化的三个重要概念是地区(Locale)信息、资源包(Resource bundle)与基础名称(Base name)。
  • ResourceBundle的静态getBundle()方法会取得一个ResourceBundle的实例,所给定的自变量名称是信息文档的主文件名,getBundle()会自动找到对应的.properties文档,取得ResourceBundle实例后,可以使用getString()指定键来取得。
  • 使用指定的Local对象取得信息文档;使用Locale.getDefault()取得的对象取得信息文档;使用继承名称取得信息文档。

规则表示式

  • 如果有一个字符串,想根据某个字符或字符串切割,可以使用String的split()方法,他会返回切割后各子字符串组成的String数组。
  • 在程序中使用表示式,必须先针对规则表示式做剖析、验证等动作,确定规则表示式语法无误,对字符串进行比较。
  • Matcher()还有replaceAll()方法,可以将符合规则表示式的部分以指定的字符串取代。

JDK8 API增强功能

  • StringJoiner、Arrays都坐落于java.util套件之中。
  • JDK8中,针对大型数组的平行化操作,在Arrays上新增了一些方法。
    parallelPrefix()方法可以指定XXXBinaryOperator实例,执行类似Stream的reduce()方法。
    parallelSetAll()方法用来对数组进行初始化或全面重新设置每个索引元素。
    parallelSort()方法可以将指定的数组分为子数组并以平行化当时分别排序。
  • 在JDK8中,String新增了join()静态方法可以直接指定每个字符串间以逗号分隔进行连接。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 100/100 1/2 20/20
第二周 100/200 1/3 18/38
第三周 200/400 1/4 22/60
第四周 350/750 1/5 30/90
第五周 300/1150 1/6 20/20
第六周 500/1650 1/7 18/38
第七周 300/1950 1/8 22/60
第八周 350/2400 2/10 30/90

参考资料

原文地址:https://www.cnblogs.com/SUONAM1114----/p/5428684.html