20145222黄亚奇《Java程序设计》第8周学习总结
教材学习内容总结
第15章 通用API
1 日志
1 日志API简介
- 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过滤,格式化信息的动作交给Formatter。
2 制定日记层级
- Level如果没做任何修改,取得的Logger实例之父Logger组态,Level默认是Logger.GLOBAL_LOGGER_NAME(INFO)名称空间Logger实例的组态,Handler默认是ConsoleHandler。
- Logger实例的getParent()取得父Logger实例,getlevel()取得设定的Level实例。
- Logger实例的层级必须大于或等于父Logger的Level。
- 可通过Logger的setLevel()设定层级,可用Level内建几个静态成员来指定。
- log()时指定的Level实例内含的int值小于Logger设定的Level实例内含的int值,Logger就不会记录信息。
- Level.OFF用于关闭所有信息输出,Level.ALL用于允许所有信息输出。
- getHandlers()方法来取得目前已有的Handler实例数组。
Handler可以通过setLevel()设定信息。
3 使用Handler与Formatter
- MemoryHandler(信息存在缓冲区,超出缓冲区大小)、StreamHandler(可自动指定OutputStream实例)、ConsoleHandler(日志信息会显示在控制台上)、FileHandler(建立日志输出时使用的FileOutputStream)、SocketHandler(联网,将日志信息传至指定主机)。
- 建立FileHandler指定模式字符串,“%h”表示用户根目录,“%t”取得系统暂存目录,“%g”自动为文档编号。
调用Logger实例的setUseParentHandlers()设定为false,日志不会传播给父Logger,使用setParent()方法指定父Logger
4 自定义Handler、Formatter与Filter
- java.util.logging包中提供的Handler成果都不符合需求,继承Handler类,操作抽象方法publish()、flush()与close()方法来定义Handler,操作时考虑信息过滤与格式化。
自定义Formatter,继承Formatter后操作抽象方法format(),传入LogRecord,储存所有日志信息。
5 使用logging.properties
通过logging.properties来设定Logger组态,修改.properties后另存至程序CLASSPATH中,指定java.util.logging.cofig.file系统属性为.properties名称。
2 国际化基础
1、 使用ResourceBundle
- 使用ResourceBundle做信息绑定,准备.properties文档并放在CLASSPATH的路径设定下,文件中撰写键/值配对。
ResourceBundle的静态getBundle()方法会取得一个ResourceBundle实例,给定自变量名称是信息文档的主文件名,取得实例后用getString()指定键取得文档中对应值。
2 使用Locale
- 国际化三个重要概念:地区(Locale)信息、资源包(Resource bundle)与基础名称(Base name)。
- 地区可由一个语言编码与可选的地区编码来指定。
将Unicode编码表示的.properties转回中文,使用-reverse自变量。
3 规则表达式
规则表达式简介:
- String的spilt()方法,返回切割后各子字符串组成的String数组。
- 规则表达式基本包括两种字符:字面意义字符与元字符。
- 字母或数字:比较字母或数字。
- :比较
- 任一个字符切割:[]
- 连字符—:表示从...到...
- 反字符^:表示除...以外的字符
- 预定义字符
- 贪婪量词:{n}是贪婪量词表示法的一种,贪婪量词会尽可能的找到长度最长的符合文字
- 逐步量词:在贪婪量词表示法后加上?,会成为逐步量词(懒惰量词,非贪婪量词),会找到长度最短的符合文字
- 独吐量词:在贪婪量词表示法后加上+,会成为独吐量词,将剩余文字吃掉,然后看看独吞量词部分是否符合吃下的文字,如果符合就不会再吐出来了
- replaceAll()会将符合规则表达式的字符串取代后返回新字符串
- 边界比较用来表示文字必须符合指定的边界条件(定位点)
使用()将规则表达式分组,被分组的规则表达式可以在稍后回头参考
4 JDK8 API增强功能
- String.join()、StringJoiner:String上有join()静态方法可以指定每个字符串间以什么间隔。
- Collectors上有joining()静态方法。
- paralleSort()方法可以将指定的数组分为子数组并以平行化方式分别排序,然后再进行合并排序。
- 对数组进行管线化操作。
- 使用Arrays的asList()方法返回List,而后调用stream()方法取得stream实例。
- 使用Arrays的stream()方法,可以指定数组后返回Stream实例。
其他(感悟、思考等,可选)
通过前面几周的学习,java的核心知识与难点之前都已经学完了,后面的章节大概都是介绍一些类的应用。我觉得发现自己热爱的就应该分配好时间去花更多的时间放在上面,这样才能学好。
学习进度条
代码行数 | 博客量 | 学习时间 | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 80 | 1 | 15 | 懂得了Java与C语言的区别,自己要花更多的时间来学习Java |
第二周 | 120 | 1 | 15 | 学会了使用IDE并成功运行代码,也发现了Java语法与C语言的相似。 |
第三周 | 200 | 1 | 16 | 有了敲代码同时注释的意识并且运用了少许 |
第四周 | 300 | 1 | 16 | 渐渐的了解了模块代码的结合操作 |
第五周 | 500 | 1 | 15 | 持之以恒方能成功的做好每一件事 |
第六周 | 500 | 2 | 18 | 慢慢用Java结合实际来解决问题| |
第七周 | 500 | 2 | 15 | 明白基础和时间是成正比的 |
第八周 | 500 | 2 | 15 | 做好实验才是王道 |
转载于:https://www.cnblogs.com/huangyaqi/p/5428317.html
20145222黄亚奇《Java程序设计》第8周学习总结相关推荐
- 20175317 《Java程序设计》第一周学习总结
20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20172318 2016-2017-2 《Java程序设计》第一周学习总结
20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20175208 《Java程序设计》第九周学习总结
20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...
- 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...
- 20155313 2016-2017-2 《Java程序设计》第二周学习总结
20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...
- 20155226 2016-2017-2 《Java程序设计》第一周学习总结
20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...
- 20172325 2018-2019-1 《Java程序设计》第二周学习总结
20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...
- 张旭升20162329 2006-2007-2 《Java程序设计》第一周学习总结
20162329 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 通过打书上的代码熟悉了Java编程的基本过程 教材学习中的问题和解决过程 1.因为我的虚拟机 ...
最新文章
- 移动应用开发者应该关注的 Google I/O 两项更新
- 把文件自动add_【Blender】常用Add-Ons
- Java算法--串的简单处理
- 暂存单点传播帧,以及使用 TIM 来传递
- 归纳几点html编码要素--杜绝浏览器不兼容
- php防止报错,php报错:Cannot redeclare class 提示的解决方法
- 安卓运行php程序,安卓怎么运行php?
- 数据结构的简单理解(3)
- 老人与海好词100英文带翻译_《老人与海》经典语录(英文+译文)
- cmake使用教程(四)调用外部共享库和头文件
- Java编程中组合、继承和代理的区别
- 「leetcode」142.环形链表II,如何求环?如何找入口?各个细节讲的明明白白!你疑惑的地方,这里都有!
- 使用微信机器人实现华为OLT和中兴OLT挂测的简单功能
- u盘芯片 测试软件,U盘芯片检测工具(Chip Genius)
- excel表格拆分的快捷操作
- CSS 2 emmet语法 复合选择器 元素显示模式
- Java使用Jco连接sap详解
- 安装PyCharm(最完整版)
- 【3d建模】zbrush教程非常适合零基础入门,一学就会
- 第六届全国计算机学科博士后论坛,首届全国计算机学科博士后论坛在清华大学圆满举行...