20155333 2016-2017-2 《Java程序设计》第八周学习总结

20155333 2016-2017-2 《Java程序设计》第八周学习总结

教材学习内容总结

  1. 认识NIO
  • NIO(New IO)-from JDK1.4
  • Channel: 衔接数据节点(与IO中的流对比)
    • isOpen
    • close
  • ReadableByteChannel
    • read
  • WritableByteChannel
    • write
  • Buffer: 块操作
    • clear
    • flip
    • rewind
    • mark
    • reset
    • remaining
  1. NIO2文件系统
  • NIO2 -from Java SE 7
  • java。nio.file •FileSystems
    • Paths
    • Files
  • java.nio.file.atribute
  • java.nio.file.spi
    • FileSystemProvider
  1. 通用API
  • 日志: 日志对信息安全意义重大,审计、取证、入侵检测等都会用到日志信息
  • 日志API
    • Logger:注意无法使用构造方法生成Logger对象
      • Logger logger Logger.getLogger("xxx");
      • getLevel
      • setLevel
    • Level
    • Handler:输出介质
      • MemoryHandler
      • StreamHandler
      • ConsoleHandler: SimpleFormatter
      • FileHandler:XMLFormatter
      • SocketHandler
    • Formatter: 格式化
    • Filter: 过滤
  1. 国际化基础
  • Localization 本地化;Internationalization(i18n)国际化
  • ResourceBundle
  • Locale
  1. 正则表达式
  • 正则表达式简介
    • 字符与元字符
    • 字符类
    • 贪婪、非贪婪、独占量词
    • 边界比较 •锚点
    • 分组与反向引用
  • Pattern/Matcher
  1. 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 是正确的。

结对及互评

评分标准

  1. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)

    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分

  5. 本周有效代码超过300分行的(加2分)

    • 一周提交次数少于20次的不加分
  6. 其他加分:

    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:

    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评模板:

  • 博客中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

  • 参考示例

点评过的同学博客和代码

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

本周测试时出现的错题多为课本上明确的知识点,这暴露了自己看书时不认真,对自己的记忆力过于自信等问题。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 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小时

  • 改进情况:本周学习计划未按时完成,学习内容未全部掌握,学习效率未见提高。

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

原文地址:https://www.cnblogs.com/rh123456/p/6718739.html