20155333 2016-2017-2 《Java程序设计》第八周学习总结
20155333 2016-2017-2 《Java程序设计》第八周学习总结
教材学习内容总结
- 认识NIO
- NIO(New IO)-from JDK1.4
- Channel: 衔接数据节点(与IO中的流对比)
-
- isOpen
-
- close
- ReadableByteChannel
-
- read
- WritableByteChannel
-
- write
- Buffer: 块操作
-
- clear
-
- flip
-
- rewind
-
- mark
-
- reset
-
- remaining
- NIO2文件系统
- NIO2 -from Java SE 7
- java。nio.file •FileSystems
-
- Paths
-
- Files
- java.nio.file.atribute
- java.nio.file.spi
-
- FileSystemProvider
- 通用API
- 日志: 日志对信息安全意义重大,审计、取证、入侵检测等都会用到日志信息
- 日志API
-
- Logger:注意无法使用构造方法生成Logger对象
-
-
- Logger logger Logger.getLogger("xxx");
-
-
-
- getLevel
-
-
-
- setLevel
-
-
- Level
-
- Handler:输出介质
-
-
- MemoryHandler
-
-
-
- StreamHandler
-
-
-
- ConsoleHandler: SimpleFormatter
-
-
-
- FileHandler:XMLFormatter
-
-
-
- SocketHandler
-
-
- Formatter: 格式化
-
- Filter: 过滤
- 国际化基础
- Localization 本地化;Internationalization(i18n)国际化
- ResourceBundle
- Locale
- 正则表达式
- 正则表达式简介
-
- 字符与元字符
-
- 字符类
-
- 贪婪、非贪婪、独占量词
-
- 边界比较 •锚点
-
- 分组与反向引用
- Pattern/Matcher
- JDK8 API增强功能
教材学习中的问题和解决过程
- 问题1:使用ResourceBunde时,如何根据基础名称取得对应的信息文档?
- 问题1解决方案:(1)使用指定的Local对象取得信息文档;(2)使用Local.getDefault()取得的对象取得信息文档;(3)使用基础名称取得信息文档。
代码调试中的问题和解决过程
因为是粘贴了课本上的代码,所以代码调试中并未出现什么问题
- ...
代码托管
上周考试错题总结
- 错题1及原因,理解情况
JDK8中的Lambda表达式有以下好处:
A . 消除重复性
B . 提高性能
C . 提高安全性
D . 改善可读性
正确答案: A D
- 错题2及原因,理解情况
JDK8 中新时间API中,用于度量时间的类有()
A . Instant
B . Duration
C . Period
D . LocalDateTime
正确答案: B C
- 错题3及原因,理解情况
When applied to instance variables, the ________________ visibility modifier enforces encapsulation(当应用到实例变量时,____可见性修饰符强制执行封装).
A . static
B . final
C . public
D . private
E . none of the above(以上都不是)
私有可见性修饰符防止不适当的数据访问,从而促进封装。 选项 a 和 b 不是可见性修饰符, 而选项 c 是允许公共访问对象数据的可见性修饰符, 这违背了封装原则。
- 错题4及原因,理解情况
Which of the following method headers is most likely a header for a mutator method?(以下哪个方法头部最有可能是设值方法的头部?)
A . public int getAge()
B . public double computeSalary()
C . public Person()
D . public void setAge(int newAge)
E . none of these are headers for a mutator method(以上均不是设值方法的头部)
正确答案: D
插件是更改实例变量值的方法, 通常称为 "setter"。 因此, 选项 d 是正确的答案。 选项 a 是访问器方法的标头的示例, 通常称为 "getter"。 选项 c 是构造函数, 而选项 b 是类方法。
- 错题5及原因,理解情况
__________________ parameters are the values that are used when calling a method(___参数是调用方法时传给方法的值).
A . formal(形式参数)
B . actual(实际参数)
C . useful(有用的参数)
D . informal(非正式参数)
E . none of the above(以上都不是)
调用方法时将发送实际参数。定义方法时使用正式参数。
正确答案: B
- 错题6及原因,理解情况
An object can be thought of as a blueprint for a set of classes(对象被认为是类集合的蓝图).
A . true
B . false
正确答案: B
类可以被看作是一组对象的蓝图。
- 错题7及原因,理解情况
Which of the following objects could contain the information “eastern standard time”?(下面哪些类的对象会包含“东部标准时间”的信息)
(Choose all that apply.)
A . Instant
B . LocalDate
C . LocalDateTime
D . LocalTime
E . ZonedDateTime
正确答案: E
LocalXXXX 显式排除时区。即时表示时间点, 但始终使用 gmt 而不是所需的时区。
- 错题8及原因,理解情况
What is the output of the following code?(下面代码的运行结果是?)
LocalDate date = LocalDate.of(2018, Month.APRIL, 30);
date.plusDays(2);
date.plusYears(3);
System.out.println(date.getYear() + " "
+ date.getMonth() + " "+ date.getDayOfMonth());
A . 2018 APRIL 2
B . 2018 APRIL 30
C . 2018 MAY 2
D . 2021 APRIL 2
E . 2021 APRIL 30
F . 2021 MAY 2
G . A runtime exception is thrown.
正确答案: B
日期始于今年四月。因为日期是不可变的, 并且加号方法使其返回值被忽略, 结果不变。因此, 选项 b 是正确的。
结对及互评
评分标准
-
正确使用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
点评过的同学博客和代码
- 本周结对学习情况
- 20155312
- 结对照片
- 结对学习内容
- 课本第六、十四、十五章的内容
- ...
- 上周博客互评情况
其他(感悟、思考等,可选)
本周测试时出现的错题多为课本上明确的知识点,这暴露了自己看书时不认真,对自己的记忆力过于自信等问题。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 12/12 | 1/4 | 20/20 | |
第二周 | 64/76 | 1/5 | 22/42 | |
第三周 | 560/636 | 1/6 | 22/64 | |
第四周 | 532/1168 | 1/7 | 20/84 | |
第五周 | 510/1728 | 1/8 | 20/104 | |
第六周 | 697/2425 | 1/9 | 15/119 | |
第七周 | 269/2694 | 1/10 | 15/134 | |
第八周 | 581/3275 | 1/11 | 20/154 | |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 | ||||
耗时估计的公式 | ||||
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 |
-
计划学习时间:25小时
-
实际学习时间:20小时
-
改进情况:本周学习计划未按时完成,学习内容未全部掌握,学习效率未见提高。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)