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

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

教材学习内容总结

第十四章

  • NIO使用频道(Channel)来衔接数据节点。在处理数据时,NIO可以让你设置缓冲区(Buffer)容量,在缓冲区对感兴趣的数据块进行标记。
  • Channel架构与操作
  • Buffer架构与操作
  • NIO2文件系统
    - NIO2架构
    - 操作路径
    - 属性读取和设定
    - 操作文档与目录
    - 读取、访问目录
    - 过滤、搜索文档

第十五章

  • 日志
    • 日志API
    • 取得Logger实例之后,可以使用log()方法输出信息,输出信息时可以使用level的静态成员指定信息层级(Level)。
    • 指定日志层级
    • 使用Handler与Formatter
    • 自定义Handler、Formatter与Filter
    • 使用logging.properties
  • 国际化基础
    • 使用ResourceBundle
    • 使用Locale
  • 规则表示式
    • 规则表示式简介
    • Pattern与Matcher
  • JDK8 API增强功能

教材学习中的问题和解决过程

第十四章

  • 问题1:缓冲区容量应当如何设置?
  • 问题1解答:capacity即容量,也就是缓冲区的大小。它的值是在创建缓冲区的时候指定的,设定后无法对其进行修改。Buffer的容量大小可以使用capacity方法取得.这三个状态的数值满足一下关系:0=<position=<limit=<capacity.在初始化缓冲区的情况下,position=0;limit = capacity.
    缓冲区ByteBuffer简单说明

第十五章

  • 问题2:国际化的设计考虑对于JAVA有什么重要意义?

  • 问题2解答:为了生成适应不同本地的软件,采用本地化的方法存在许多问题,为了避免这些问题,程序员在设计程序时就应当考虑将软件设计为一个国际化软件,以适应不同的地方,满足不同国家用户的需求。
    Java语言国际化的设计与实现

  • 问题3:什么是正则表达式?

  • 问题3解答:是用来操作和检验字符串数据的强大工具。使用正则表达式要求在典型的搜索和替换操作中,必须提供要查找的确切文字。

代码调试中的问题和解决过程

  • 问题1:我在编译代码时出现如下错误。

  • 问题1解决方案:修改后编译运行成功如下:

代码托管


上周考试错题总结

  • 7.JDK8 中新时间API中,用于度量时间的类有()
    A .Instant
    B .Duration
    C .Period
    D .LocalDateTime
    答案:BC

对于時間的量,新时间与日期API以类 Duration 來定义,用來表示时间方面的量,精度设定可以达纳秒等級,而秒的最大值可以是 long 类型可保存值。星期、日的日期差,使用类Period 定义,用來表示日期方面的量,像是 2 年、3 个月、4 天等。

  • 13.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

我选了C。调整器的方法,改变一个实例变量的值,通常被称为“setter”。因此,选择d是正确答案。选a是一个头访问器方法,通常被称为“getter。“选c是一个构造函数,选择b是一个类方法。

  • 15.A method that has multiple definitions is an __________________ method(具有多重定义的方法称为方法___).
    A .overloaded(重载)
    B .overridden(重写)
    C .overlooked(忽略)
    D .overclocked(超频)
    E .none of the above(以上均不是)
    有多个定义的方法是重载的方法。重载方法的版本区别于的数量,类型和它们的参数。覆盖方法,重新定义在一个继承层次结构。之后将会学习。选择c和d不是Java类型的方法。

  • 18.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
    我选了AE,LocalXXXX明确排除了时区。即时代表一个时间点,但是
    总是使用格林尼治时间而不是期望的时区。

  • 20.Given the following, which answers can correctly fill in the blank? (Choose all that apply.)针对下面的代码,()中应填入哪个选项?
    LocalDate date = LocalDate.now();
    LocalTime time = LocalTime.now();
    LocalDateTime dateTime = LocalDateTime.now();
    ZoneId zoneId = ZoneId.systemDefault();
    ZonedDateTime zonedDateTime = ZonedDateTime.of(dateTime, zoneId);
    long epochSeconds = 0;
    Instant instant = ( );

A .
Instant.now()
B .
Instant.ofEpochSecond(epochSeconds)
C .
date.toInstant()
D .
dateTime.toInstant()
E .
time.toInstant()
F .
zonedDateTime.toInstant()
答案:F
我选了A,选择A当前即时正确创建。选项B正确转换
秒瞬间。F选项也是一个适当的转换。选择C,D,E
不正确的,因为源对象并不代表一个时间点。没有一个时区,
Java不知道即时的时刻使用。

结对及互评

评分标准

  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

  • 参考示例

点评过的同学博客和代码

  • 本周结对学习情况
    • 20155232
    • 结对学习内容
      • 一起讨论课本代码,共同解决代码编译报错问题。
      • 讨论分析上周考试留下来的部分没有解决的试题。
      • 讨论知识点,交换学习体会和总结学习难点。
  • 上周博客互评情况

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

最近这两周的学习都比之前轻松,我开始复习前面的一些内容,因为发现自己对前面的知识只是囫囵吞枣,没有真正的理解。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第五周 515/1396 3/7 22/30
第六周 845/2012 1/9 24/30
第七周 734/2746 2/11 27/28
第八周 604/3152 1/12 28/28

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:28小时

  • 实际学习时间:28小时

  • 改进情况:这周和上周学习状态差不多,完成了计划的学习时间。

参考资料

posted @ 2017-04-13 23:13  xuanyan  阅读(231)  评论(6编辑  收藏  举报