20145223 《Java程序设计》第8周学习总结

教材学习内容总结

第十四章 NIO与NIO2

·NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区(Buffer)容量,在缓冲区中对感兴趣的数据区块进行标记,像是标记读取位置、数据有效位置,对于这些区块标记,提供了clear()、rewind()、flip()、compact()等高级操作。

·Channel架构与操作:想要取得Channel的操作对象,可以使用Channels类,它定义了静态方法newChannel(),可以让你从Inputstream、OutputStream分别建立ReadableByteChannel、WritableByteChannel。

·如果已经有相关的Channel实例,也可以通过Channels上其他newxxx()静态方法,取得InputStream、OutputStream、Reader、Writer实例。

·Buffer的直接子类们都有一个allocate()静态方法,可以让你指定Buffer容量。(填装的数据不会超过它的容量)

·应用程序开发者可以通过java.nio.file包中FileSystems、Paths、Files等类提供的静态方法,取得相关操作对象或进行各种文件系统操作,这些静态方法内部会运用FileSystemProvider来取得所需的操作对象,完成应有的操作。

第十五章 通用API

·java.util.logging包提供了日志功能相关类与接口,不必额外配置日志组件,就可在标准Java平台使用是其好处。使用日志的起点是Logger类,Logger类的构造函数标示为protected,不是java.util.logging同包的类不能直接以new创建,要取得Logger实例,必修使用Logger的静态方法getLogger()。

·调用getLogger()时,必须指定Logger实例所属名称空间,名称空间以“.”作为层级区分,名称空间层级相同的Logger,其父Logger组态相同。

·Logger是记录信息的起点,要输出的信息,必须先通过Logger的Lever与Filter过滤,在通过Handler的Lever与Filter过滤,格式化信息的动作交给Formatter,输出信息的动作实际上是Handler负责。

·Logger有层级关系,名称空间层级相同的Logger,父Logger组态会相同,每个Logger处理完自己的日志动作后,会向父Logger传播,让父Logger也可以处理日志。

使用Handler与Formatter

·Java SE提供了五个预设的Handler:

·java.util.logging.ConsoleHandler

·java.util.logging.FileHandler

·java.util.logging.StreamHandler

·java.util.logging.SocketHandler

·java.util.logging.MemoryHandler

·Logger阶层关系:给getLogger()方法的名称是有意义的

·给定“onlyfun”,实际上您将从根(Root)logger继承一些特性再取得一个Logger实例,并给定名称"onlyfun.caterpillar",则这次取得的Logger将继承"onlyfun"这个Logger的特性

·使用ResourceBundle:用java.util.ResourceBundle来作讯息绑定messages.properties

.properties档案必须放置在Classpath的路径设定下

·在创建FileHandler指定模式字符串:

·1、使用“%h”来表示用户的根目录

·2、使用“%t”取得系统暂存目录

·3、使用“%g”自动为文档编号

·4、使用“%h/config%g.log”表示将configN.log文件存储在用户根目录下,N表示每个信息的文档编号,会自动递增。

·如果java.util.logging包中提供的Handler成果都不符合需求,可以继承Handler类,操作抽象方法publish()、flush()、close()方法来自定义Handler。

·在职责分配上,Handler是负责输出,格式化是交由Formatter,而信息过滤是交给Filter。Handler有默认的isLoggable()操作,会先依据Level过滤信息,再使用指定的Filter过滤信息。format()方法会传入LogRecord,存储所有日志信息。

·除了依据层级过滤之外,还可以加入额外过滤条件,,就可以操作Filter接口。

·国际化:

·1.国际化的三个重要概念是地区信息、资源包、基础名称。

·2.建立一个message.zh_TW.properties,必须使用Unicode编码表示,则可以通过JDK工具程序native2ascii来协助转换。如果想将Unicode编码表示的.properties转回中文,则可以使用—reserve自变量。

·想提供messages_en_US.properties档案,并想要ResourceBundle.getBundle()取得这个档案的内容:

Locale locale = new Locale("en", "US");ResourceBundle resource =            ResourceBundle.getBundle("messages", locale);

·预定义字符类. :任一字符\d:比较任一数字字符\D:比较任一非数字字符\s:比较任一空格符\S:比较任一非空格符\w:比较任一ASCII字符\W:比较任一非ASCII字符

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

·这一周的内容对于动手实践的要求并不多,很多内容都是关于概念性的理解。我觉得这些内容真正要掌握还是需要在今后的动手实践过程中再加以理解,否则光看概念性的知识,还是觉得会空洞和抽象,并不是很能理解。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 4000行 20篇 400小时
第一周 200/200 1/1 15/12
第二周 180/380 1/1 18/12
第三周 600/980 1/1 17/16
第四周 400/380 1/1 16/15
第五周 300/680 1/1 14/14
第六周 200/200 2/2 10/10
第七周 100/100 2/2 10/10
第八周 50/50 1/2 5/5

代码托管截图

通过这一次的实验,我终于学会了用git直接托管代码,而不是在网页上一个个地托管,这样不但麻烦而且很没有效率,现在我就能用git将包括之前的所有的代码一次性托管好,十分省时省力。

参考资料

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

  1. 201521145048《Java程序设计管理》第一周学习总结

    1. 本周学习总结 学习并了解Java的发展与历史 在网上视频中学习Java 了解并区分JVM JRE JDK 将java与已学语言做比较,发现相同处 2. 书面作业 Q1.为什么java程序可以跨平 ...

  2. 20145223《Java程序程序设计》课程总结

    20145223<Java程序程序设计>课程总结 每周读书笔记链接汇总 第一周学习总结 第二周学习总结 第三周学习总结 第四周学习总结 第五周学习总结 第六周学习总结 第七周学习总结 第八 ...

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

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

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

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

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

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

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

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

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

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

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

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

随机推荐

  1. supersr--九宫格公式(根据多少行多少列排版)

    - (void)layoutSubviews{ [super layoutSubviews]; NSUInteger count = self.subviews.count; NSInteger ma ...

  2. August 7th 2016, Week 33rd Sunday

    Knowing yourself is the height of wisdom. 了解自己就是大智慧. Two-day holiday, even I didn't have enought tim ...

  3. Rotate partitions in DB2 on z

    Rotating partitions   You can use the ALTER TABLE statement to rotate any logical partition to becom ...

  4. NYOJ题目813对决

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAssAAALRCAIAAAAiJ3lxAAAgAElEQVR4nO3dPW7jSgMu6LsJ516IYy

  5. linux eclipse3.6.1 maven安装

    linux maven安装及 eclipse maven插件安装,有需要的朋友可以参考下. 1. maven的安装(apache-maven-3.0.5为例):  a.官网地址:http://mave ...

  6. Android -- java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

    使用Bundle 的getParcelableArray 出现了以下错误: Class not found when unmarshallingjava.lang.ClassNotFoundExcep ...

  7. WMI测试

    https://social.msdn.microsoft.com/Forums/windowshardware/zh-CN/c5af7959-95d3-4e1b-ab40-96a2a31c2af2/ ...

  8. 与你相遇好幸运,Linux常用命令

    开机挂载硬盘 cat  /etc/fstab /dev/sda1  /mnt/sda1 ext3    defaults    0  0 挂载硬盘 mount  /dev/sdb5 /home/dis ...

  9. Python win32api提取exe图标icon

    转载地址: http://blog.csdn.net/gumanren/article/details/6129416 代码如下: # -*- coding: utf-8 -*- import sys ...

  10. Jquery自定义图片上传插件

    1 概述 编写后台网站程序大多数用到文件上传,可是传统的文件上传控件不是外观不够优雅,就是性能不太好看,翻阅众多文件上传控件的文章,发现可以这样去定义一个文件上传控件,实现的文件上传的效果图如下: 2 ...