20145223《Java程序程序设计》第8周学习总结
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周学习总结的更多相关文章
- 201521145048《Java程序设计管理》第一周学习总结
1. 本周学习总结 学习并了解Java的发展与历史 在网上视频中学习Java 了解并区分JVM JRE JDK 将java与已学语言做比较,发现相同处 2. 书面作业 Q1.为什么java程序可以跨平 ...
- 20145223《Java程序程序设计》课程总结
20145223<Java程序程序设计>课程总结 每周读书笔记链接汇总 第一周学习总结 第二周学习总结 第三周学习总结 第四周学习总结 第五周学习总结 第六周学习总结 第七周学习总结 第八 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- 【python】time,datetime,string相互转换
来源:http://essen.iteye.com/blog/1452098 #把datetime转成字符串 def datetime_toString(dt): return dt.strftime ...
- 【Git】自定义Git
来源:廖雪峰 让Git显示颜色 git config --global color.ui true 忽略特殊文件 有些文件有敏感信息,或者是自动生成的中间文件.不能或不必提交到git,可以用.giti ...
- DOM动画效果基础入门
一.什么是DOM? Document Object Model文档对象模型 当创建一个网页并把它加载到web浏览器中时,如果没有document(文档): DOM根据你编写的网页文档创建一个文档对象 ...
- Mysql基于GTIDs的复制
通过GTIDs[global transaction identifiers],可以标识每一个事务,并且可以在其一旦提交追踪并应用于任何一个Slave上:这样 就不需要像BinaryLog复制依赖Lo ...
- Spring 注释 @Autowired 和@Resource
一. @Autowired和@Resource都可以用来装配bean,都可以写在字段上,或者方法上. 二. @Autowired属于Spring的:@Resource为JSR-250标准的注释,属于J ...
- Android下拉刷新效果实现
本文主要包括以下内容 自定义实现pulltorefreshView 使用google官方SwipeRefreshLayout 下拉刷新大致原理 判断当前是否在最上面而且是向下滑的,如果是的话,则加载数 ...
- ***电商数据库设计参考:ecshop数据库+订单表结构等
ecshop订单表结构ecs_order_info说明 -- 表的结构 `ecs_order_info` CREATE TABLE IF NOT EXISTS `ecs_order_info` ...
- JavaScript之作用域与闭包详解
前言: JavaScript是一种应用非常广泛的语言,其也有一些自身特点和优势,本文重在讲述其作用域机制以及闭包,会从一些实例来探讨其机理. 作用域在JavaScript程序员日常使用中有不同的含义, ...
- java创建线程的几种方式
1.继承Thread类 /** * @author Ash * @date: 2016年8月6日 下午10:56:45 * @func: 通过继承Thread类来实现多线程 * @email 4086 ...
- php开发(CI框架使用)
年前接了一个外包项目,要求使用PHP,琢磨来琢磨去,感叹道PHP框架实在是太多了!去知乎搜索一轮,最后决定使用CI, 相关议论如下:https://www.zhihu.com/question/216 ...