zoukankan      html  css  js  c++  java
  • 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小时

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

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

    参考资料

  • 相关阅读:
    git本地分支管理
    SpringMVC的第一个入门案例
    原来热加载如此简单,手动写一个 Java 热加载吧
    Spring Boot2 系列教程(十七)SpringBoot 整合 Swagger2
    SpringBoot 开发案例之参数传递的正确姿势
    MENU Java 中的 final、finally、finalize 有什么不同?
    Java Web 学习(1) —— Servlet
    Spring 基础知识学习
    SpringBoot中如何灵活的实现接口数据的加解密功能?
    Java中常用的四种线程池
  • 原文地址:https://www.cnblogs.com/rh123456/p/6718739.html
Copyright © 2011-2022 走看看