20145327 《Java程序设计》第八周学习总结
教材学习内容总结
NIO使用频道(channel)来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区(Buffer)容量,在缓冲区中对感兴趣的数据块进行标记,像是标记读取位置、数据有效位置,对于这些区块标记,提供了clear()、rewind()、flip()、compact()等高级操作。
想要取得Channel的操作对象,可以使用Channels类,它定义了静态方法newChannel(),可以从InputStream、OutputStream分别建立ReadableByteChannel、WritableByteChannel。
应用程序开发者可以通过java.nio.file包中FileSystems、Paths、Files等类提供的静态方法,取得相关操作对象或进行各种文件系统操作,这些静态方法内部会运用FileSystemProvider来取得所需的操作对象,完成应有的操作。
Logger类的构造函数标示为protected,不是java.util.logging同包的类不能直接以new创建,要取得Logger实例,必须使用Logger的静态方法getLogger()。
调用getLogger()时,必须指定Logger实例所属名称空间,名称空间以"."作为层级区分,名称空间层级相同的Logger,其父Logger组态相同。
通过logging.properties来设定Logger组态,启动JVM时,指定java.util.logging.config.file系统属性为.properties名称。
国际化的三个重要概念是地区信息、资源包与基础名称。
规则表示式主要用于字符、字符串格式比较,java.util.regex.Pattern实例是规则表示式在JVM中的代表对象,必须通过Patern的静态方法compile()来取得,可以使用matcher()方法指定要比较的字符串,这会返回java.util.regex.Matcher实例,表示对指定字符串的比较器。
教材学习中的问题和解决过程
规则表示式的应用
本周代码托管截图
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 100/100 | 1/2 | 20/20 | |
第二周 | 250/350 | 1/3 | 20/40 | |
第三周 | 500/850 | 1/4 | 25/65 | |
第四周 | 500/1350 | 1/5 | 20/85 | |
第五周 | 550/1900 | 1/6 | 20/105 | |
第六周 | 600/2500 | 2/8 | 20/125 | |
第七周 | 500/3000 | 2/10 | 20/145 | |
第八周 | 400/3400 | 3/13 | 15/160 |