20155238 2016-2017-2 《JAVA程序设计》第八周学习总结
教材学习内容总结
第十四章
NIO
NIO使用频道(Channel)来衔接数据节点,处理数据时,NIO可以让你设定缓冲区(Buffer)容量,
在缓冲区对感兴趣的数据区块进行标记,对于这些标记,提供了clear()、rewind()、flip、compact().Channel 继承架构

如果已有相关channel实例,可以通过Channels上其他new×××()静态方法,取得InputStream、OutputStream、Reader、Writer实例
Buffer是个抽象类,定义了
clear()、flip()、reset、rewind等对数据区块的高级操作,这类操作返回类型都是Buffer,实际上返回this

Buffer上还有个
mark()方法,可以在目前position上标记。
reset方法,会将position设回被mark()标记的位置。
position与limit之间为剩余可存取的资料,可使用remaining()方法得知还有多少长度,使用hasRemaining()可测试是否还有剩余可存取的数据。
NIO文件系统
java。nio.file
FileSystems
Paths
Files
java.nio.file.atribute
java.nio.file.spi
FileSystemProvider
第十五章
日志
java.util.logging包提供了日志功能相关类和接口。国际化的三个重要概念是地区信息,资源包与基础名称。
使用ResourceBundle时,如何根据基础名称取得对应的信息文档:
(1) 使用指定的Locale对象取得信息文档
(2) 使用Locale.getDefault()取得的对象取得信息文档
(3) 使用基础名称取得信息文档日志: 日志对信息安全意义重大,审计、取证、入侵检测等都会用到日志信息
日志API
Logger: 注意无法使用构造方法生成Logger对象
Logger logger = Logger.getLogger("xxx");
getLevel
setLevel
Level
Handler:输出介质
MemoryHandler
StreamHandler
ConsoleHandler: SimpleFormatter
FileHandler:XMLFormatter
SocketHandler
Formatter: 格式化
Filter: 过滤
正则表达式简介
字符与元字符
字符类
贪婪、非贪婪、独占量词
边界比较
锚点
分组与反向引用
Pattern/Matcher
教材学习中的问题和解决过程
问题1: java为什么要国际化,国际化基础的作用是什么
问题1解决方案:查找资料结合书中知识。
java国际化可以为不同地区,不同语言的用户提供方便。可以在不修改程序的情况下,直接采用相应的语言,格式。
对于有国际化要求的应用系统,我们不能简单地采用硬编码的方式编写用户界面信息、报错信息等内容,而必须为这些需要国际化的信息进行特殊处理。简单来说,就是为每种语言提供一套相应的资源文件,并以规范化命名的方式保存在特定的目录中,由系统自动根据客户端语言选择适合的资源文件。
“国际化信息”也称为“本地化信息”,一般需要两个条件才可以确定一个特定类型的本地化信息,它们分别是“语言类型”和“国家/地区的类型”。如中文本地化信息既有中国大陆地区的中文,又有中国台湾、中国香港地区的中文,还有新加坡地区的中文。Java通过java.util.Locale类表示一个本地化对象,它允许通过语言参数和国家/地区参数创建一个确定的本地化对象。
- 问题2:java nio的优势
- 问题2解决方案:查找相关资料得知
- 不需要使用read()或者write()操作就可以处理文件内容了
- 修改文件后,修改自动flush到文件
- nio方式能很快处理大文件和处理效率很快
- ...
代码调试中的问题和解决过程
- 问题1:出现
java.lang.nullpointerexception - 问题1解决方案: 出现异常的原因可能是调用了不存在的或未经初始化的对象。
解决应该在调用数组时,将每个元素初始化。
代码托管


上周考试错题总结
下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?
od -tcx1 Hello.java
od -tc -tx1 Hello.java
JDK8 中新时间API中,用于度量时间的类有
- Duration
- Period
Java 8之前,对日期进行运算,使用(Calendar)类。
When applied to instance variables, the ________________ visibility modifier enforces encapsulation(当应用到实例变量时,____可见性修饰符强制执行封装)
- private
When an object is passed to a method, the actual and formal parameters become aliases(当把对象传递给方法时,实参和形参互为别名) ×
Which of the following objects could contain the information “eastern standard time”?(下面哪些类的对象会包含“东部标准时间”的信息)
- ZonedDateTime
Which of the following are stored in a Period object? (Choose all that apply.) 下面哪些内容会出现在Period对象中
- Year
- Month
- Day
LocalDate date = LocalDate.of(2018, Month.APRIL, 30);
date.plusDays(2);
date.plusYears(3);
System.out.println(date.getYear() + " "
+ date.getMonth() + " "+ date.getDayOfMonth());
What is the output of the following code?(下面代码的运行结果是?)
- 2018 APRIL 30
LocalDate date = LocalDate.of(2018, Month.APRIL, 40);
System.out.println(date.getYear() + " " + date.getMonth()
+ " "+ date.getDayOfMonth());
What is the output of the following code?(下面代码的运行结果是?)
- A runtime exception is thrown.
结对及互评
评分标准
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
博客中值得学习的或问题:
- xxx
- xxx
- ...
代码中值得学习的或问题:
- xxx
- xxx
- ...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
本周结对学习情况
结对照片

结对学习内容
- 结对学习内容
- NIO、NIO2
- 通用API与正则表达式
上周博客互评情况
其他(感悟、思考等,可选)
初步认识了什么事NIO,和NIO2文件系统,也了解到了使用的好处。
对于java国际化有了更深的认识,以及定义规则表达式的方法有了基本的了解。
能合理的分配时间,学习相应的模块,循序渐进,而不是填鸭式的学习
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 0/0 | 1/4 | 8/12 | |
| 第二周 | 70/80 | 1/5 | 16/28 | |
| 第三周 | 120/200 | 1/6 | 12/40 | |
| 第四周 | 300/500 | 1/7 | 20/60 | |
| 第五周 | 500/1000 | 1/8 | 15/75 | |
| 第六周 | 600/1600 | 1/9 | 15/90 | |
| 第七周 | 400/2000 | 2/11 | 20/110 | |
| 第八周 | 500/2500 | 1/12 | 22/132 | 能更合理的安排自己的学习计划。 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:25小时
实际学习时间:22小时
改进情况:对于java学习的时间,有了系统性的规划,并不是向以前零散或者突击性的学习。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
20155238 2016-2017-2 《JAVA程序设计》第八周学习总结的更多相关文章
- 201521123027 <java程序设计>第八周学习总结
1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...
- 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结
<面向对象程序设计Java>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 20155312 2016-2017-2 《Java程序设计》第九周学习总结
20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...
- 20155213 2016-2017-2 《Java程序设计》第九周学习总结
20155213 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBase Connectivity)即java数据库连 ...
- 20155216 2016-2017-2 《Java程序设计》第九周学习总结
20155216 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC架构 JDBC API的使用 JDBC连接数据库 1.导入JDBC包: 添加impo ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
随机推荐
- 《Spring实战》第4章--面向切面的Spring--处理通知中的参数(经验总结)
今天学习<Spring实战>第4章<面向切面的Spring>,根据4.3.3小节写出如下切面类: package proxy; import java.util.HashMap ...
- JavaScript数组转字符串,字符串转数组
//--------------------数组转字符串--------------------------- //需要将数组元素用某个字符连接成字符串 var a1, b1,c1; a1 = [&q ...
- 8.2,常用模块介绍:sys,os,time,random
sys: 介绍:主要包含涉及python编译器与系统交互的函数. 常用函数: import sys print(sys.argv)#本文件名,已经运行该程序时的参数 #[如在命令窗口中python3 ...
- SQL Server登录方式
SQL Server登录服务器有两种验证方式,一种是windows身份验证,也就是本机验证,另一种就是SQL Server验证,就是使用账号密码的方式验证. 在使用windows身份验证登录时,直接就 ...
- CSS| position定位和float浮动
对基础知识再度做个巩固和梳理. 一.position定位 (一):position的属性 1.absolute:生成绝对定位的元素,相对于最近一级定位不是static的父元素来进行定位: 2.rela ...
- ln 硬链接介绍
硬链接:在linux文件系统中多个文件名指向同一个索引节点(Inode)是正常允许的.硬链接文件就相当于文件的另一个入口. 硬链接的作用:允许一个文件拥有多个有效路径(多个入口),这样用户就可以建立硬 ...
- python Anaconda
转载自 https://blog.csdn.net/program_developer/article/details/79677557 目录: Anaconda是什么? 如何安装? 如何管理包? ...
- [Spark SQL_1] Spark SQL 配置
0. 说明 Spark SQL 的配置基于 Spark 集群搭建 && Hive 的安装&配置 1. 简介 Spark SQL 是构建在 Spark Core 模块之上的四大 ...
- Linux yum源详解
软件包安装方式 0.默认从官网下载包(国内,雅虎,网易,阿里云) cat /etc/yum.repos.d/rhel-source.repo [yum文件目录--redhat6版] [ ...
- PHPStorm 中配置 XDebug
1.下载 Xdebug ps : php版本和xdebug版本一定要相对应 如果不知道下载哪个版本,将phpinfo网页的源代码拷贝到https://xdebug.org/wizard.php,然后按 ...