20145316 《Java程序设计》第8周学习总结
教材学习内容总结
NIO&NIO2
NIO使用频道(channel
)衔接数据节点,对数据区的标记提供了clear()
,rewind()
,flip()
,compact()
等高级操作。
Channel继承结构
可以使用Channels类,它定义了静态方法newChannel()
,可以让你从InputStream、OutputStream
分别建立ReadableByteChannel、WritableByteChannel
.
Buffer继承结构
Buffer的直接子类均有一个allocate()
静态方法,可以让你指定Buffer容量。
Buffer的容量大小可以使用capacity()
方法取得。
NIO2文件系统API提供一组标准接口与类。
日志
java.util.logging
包提供了日志功能相关类与接口,不必额外配置日志组件,就可在标准Java平台使用。使用日志的起点是Logger
类,要取得Logger
实例,必须使用Logger
的静态方法getLogger()
。如:Logger logger = Logger.getLogger("cc.openhome.Main");
其中Logger
是记录信息的起点,要输出信息,必须通过Logger
的Level
与Filter
过滤,再通过Handler
的Level
与Filter
过滤,格式化信息的动作交给Formatter
,实际上是Handler
负责。
日志输出为Handler
实例,Handler
的子类有MemoryHandler
、StreamHandler
,StreamHandler
的子类有ConsoleHandler
、FileHandler
和SocketHandler
;Formatter
的子类有XMLFormatter
和SimpleFormatter
,FileHandler
默认的Formatter
是XMLFormatter
,ConsoleHandler
默认则使用SimpleFormatter
。
对Handler
进行自定义,可以继承Handler
类,操作抽象方法publish()、flush()、close()
。
对Formatter
进行自定义,可以继承Formatter
后操作抽象方法formatter()
,这个方法会传入LogRecord
,储存所有日志信息。例如,将ConsoleHandler
的Formatter
设定为自定义的Formatter:
国际化基础
国际化的三个标准:
a.地区(Locale
)信息
b.资源包(Resource bundle
)
c.基础名称(Base name
)。
地区信息的对应类是Locale
,在建立Locale
实例时,可以指定语言编码与地区编码。
针对大型数组的平行化操作,新版jdk中,在Arrays上新增如下一些方法:
1.parallelPrefix()
方法可以指定XXXBinaryOperator
实例,执行类似Stream的reduce()
方法。
2.parallelSetAll()
方法用来对数组进行初始化或全面重新设置每个索引元素。
3.parallelSort()
方法可以将指定的数组分为子数组并以平行化当时分别排序。
教材学习中的问题和解决过程
本周暂无
代码调试中的问题和解决过程
本周暂无
本周代码托管截图
其他(感悟、思考等,可选)
本周有实验三及学习总结,感觉到来自Java这门课程的压力,类似于idea与git的互相配合等等....都需要付出大量的时间和精力去学习去领悟。
虽然本课程压力较大,学习难度、强度也都较大,但我会调整好自己的心态,学习好这门课程,请老师放心!
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第八周 | 250/2800 | 2/2 | 20/20 |