您的位置:首页 > 编程语言 > Java开发

20145322何志威 《Java程序设计》第8周学习总结

2016-04-24 22:07 337 查看
教材学习内容总结

第十四章

NIO使用频道(channel)来衔接数据节点,对数据区的标记提供了clear(),rewind(),flip(),compact()等高级操作。

想要取得channel的操作对象,可以使用channels类。

Buffer的直接子类们都有一个allocate()静态方法,可以让你指定Buffer容量。

Buffer的容量大小可以使用capacity()方法取得。

在以前,并没有标准方式取得不同文件系统所支持的不同属性,在JDK7中,可以通过BasicFileAttributes,DosFileAttributes,PosixFileAttributes,可以针对不同的文件系统取得支持的属性信息。

NIO2文件系统API提供一组标准接口与类。

第十五章

日志API简介

java.util.logging包提供了日志功能相关类与接口,使用日志的起点是logger类,Logger类的构造函数标示为protected,不是java.util.logging同包的类不能直接以new创建,不许使用Logger的静态方法。

指定日志层级

Logger与Handler默认都会先依据Level过滤信息,如果没有做任何修改,取得的Logger实例之父Logger组态就是Logger.GLOBAL-LOGGER-NAME空间名称Logger实例的组态。

在没有任何组态设定的情况下,默认取得的Logger实例,层级必须大于或等于Logger.GLOBAL-LOGGER-NAME名称空间logger实例设定的Level.INFO,才可能输出信息。

使用Handler与Formatter

标准API提供了几个操作类:其中MemoryHandler不会格式化日志信息,信息会暂存于内存缓冲区,直至超过大小才将信息输出至指定的目标Handler。StreamHandler可自行指定信息输出时使用的OutputStream。ConsoleHandler创建时,会自动指定OutputStream为System.err。SocketHandler创建时可以指定主机位置与端口。

在建立FileHandler指定模式字符串时,可以使用“%h”来表示用户的根目录,还可以使用“%t”取得系统暂存目录,或者使用“%g”自动为文档编号。

自定义Handler、Formatter与Filter

在职责分配上,Handler是负责输出,Formatter负责格式化,而信息过滤是交由Filter。

自定义Formatter,可以继承Formatter后操作抽象方法format(),这个方法会传入LogRecord,储存所有日志信息。

使用ResourceBundle

ResourceBundle的静态getBundle()方法会取得一个ResourceBundle的实例,所给定的自变量名称是信息文档的主文件名,getBundle()会自动找到对应的.properties文档,取得ResourceBundle实例后,可以使用getString()指定键来取得。

使用Locale

国际化的三个标准是地区(Locale)信息、资源包(Resource bundle)与基础名称(Base name)。

地区信息的对应类是Locale,在建立Locale实例时,可以指定语言编码与地区编码。

JDK8中,针对大型数组的平行化操作,在Arrays上新增了一些方法。

parallelPrefix()方法可以指定XXXBinaryOperator实例,执行类似Stream的reduce()方法。

parallelSetAll()方法用来对数组进行初始化或全面重新设置每个索引元素。

parallelSort()方法可以将指定的数组分为子数组并以平行化当时分别排序。

学习感悟

感觉我已经跟不上JAVA进度了,之前的没搞懂的内容一堆,唉,抓紧学吧。

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/1001/220/20
第二周300/5001/218/38
第三周500/10001/322/50
第四周300/13001/418/60
第五周200/15001/515/75
第六周300/18001/615/90
第七周200/20001/714/104
第八周100/21001/812/116
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: