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

教材学习内容总结

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层级输出信息。

  • 可以继承Handler类,操作抽象方法publish()、flush()与close()方法来定义Handler

  • Handler负者输出,Formatter负者格式化,Filter负者信息过滤。

加入额外过滤条件,可以操作Filter接口。

  • 可以通过logging.properties来设定Logger组态

    15.2国际化基础

在不修改应用程序的基础上,根据不同用户采用不同语言。

  • 可以使用ResourceBundle来做信息绑定,将信息移至程序外。

  • 国际化的三个重要概念是地区信息,资源包和基础名称。

  • 地区信息:由语言编码和地区编码组成

  • 资源包:包括特定地区相关信息

  • 代表同一组信息但不同地区的各个资源包会共享相同的继承名称。

使用指定的Local对象取得信息文档。
使用Locale。getDefault()取得的对象取得信息文档。
使用继承名称取得信息文档。

15.3规则表示式

  • 切割字符串可以使用split方法

  • 字面意义的字符

  • 元字符

  • 规则表达式是规则表达式,要写在”“中还要另外考虑。

教材学习中的问题和解决过程

  • 对规则表示式的贪婪、逐步、独吞不是完全理解
  • 对书上495页Arrays新增的ParallelPrefix()方法不是很理解,不明白运行结果为什么是{1,3,6,10,15}
  • 解决过程:编译运行书上的例子,其实觉得“xfooxxxx”那个例子不是很直观,在通过自己的思考,所谓的{1,3,6,10,15}是把传入前一个参数,并相加得到的结果

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

这周的学习任务不是很重,通过自学第15章,对日志、切割字符和字符串还有取得地区信息有了一定的了解。在规则表示式那个知识点里,需要注意规则表示式是规则表示式,写进“”里是另一回事。几小时前因为电脑自动升级重启没有保存,一早上的成果全部毁于一旦,不过在第二次敲知识点时,对知识的映像更加深刻的理解。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

参考资料

20145337《Java程序设计》第八周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第八周学习总结

    1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...

  2. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  3. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  4. 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结

    <面向对象程序设计Java>第八周学习总结   项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...

  5. 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  6. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  9. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  10. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

随机推荐

  1. hdu 1029 Ignatius ans the Princess IV

    Ignatius and the Princess IV Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32767 K ( ...

  2. poj 1321 棋盘问题

    八皇后问题变形,回溯法. #include <cstdio> #include <cstring> #include <iostream> using namesp ...

  3. POJ 1159 回文串-LCS

    题目链接:http://poj.org/problem?id=1159 题意:给定一个长度为N的字符串.问你最少要添加多少个字符才能使它变成回文串. 思路:最少要添加的字符个数=原串长度-原串最长回文 ...

  4. express-19 路由2

    组织路由 在主应用程序文件中定义所有路由太笨重了.那样不仅会导致那个文件一直增长,还不利于功能的分离,因为那个文件里已经有很多东西了. 四条组织路由的指导原则 给路由处理器用命名函数: 到目前为止,我 ...

  5. 获取DLL中的方法名称

      OpenFileDialog obj = new OpenFileDialog(); if (obj.ShowDialog() == System.Windows.Forms.DialogResu ...

  6. iOS学习05C语言函数

    本次主要是学习和理解函数,函数树状图如下: 1.函数的声明和定义 函数定义的四要素分别为: 返回值类型 :函数的结果值类型,函数不能返回数组. 指定返回类型是void类型说明函数没有返回值. 函数名 ...

  7. ccc autotest

    module.exports.assert = function (express,value,msg) { if(express==value) { cc.info("test:" ...

  8. [转]Hive:简单查询不启用Mapreduce job而启用Fetch task

    转自:http://www.iteblog.com/archives/831 如果你想查询某个表的某一列,Hive默认是会启用MapReduce Job来完成这个任务,如下: hive> SEL ...

  9. SVN版本控制工具使用学习

    SVN版本控制工具使用学习 Subversion是优秀的版本控制工具. 1.下载和搭建SVN服务器 http://subversion.apache.org/packages.html 类型有5种,推 ...

  10. css切背景图片(background-position)

    给元素添加背景图片的方式有很多,个人总结的有: 用img插入图片: css3的方式手动绘图: 单独用background-image单独插入图片: 其中用background-image有两种方法,一 ...