# 20155327 2016-2017-4 《Java程序设计》第8周学习总结

时间:2024-01-12 10:14:44

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

教材学习内容总结

了解NIO

NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区(Buffer)容量,在缓冲区中对感兴趣的数据区块进行标记,像是标记读取位置、数据有效位置,对于这些区块标记,提供了clear()、rewind()、flip()、compact()等高级操作。

会使用Channel、Buffer与NIO2

1.Handler负责日志输出,标准API提供了几个操作类:

·MemoryHandler不会格式化日志信息,信息会暂存于内存缓冲区,直至超过大小才将信息输出至指定的目标Handler。

·StreamHandler可自行指定信息输出时使用的OutputStream。

·ConsoleHandler创建时,会自动指定OutputStream为System.err。

·SocketHandler创建时可以指定主机位置与端口。

2.Logger可以使用addHandler()新增Handler实例,使用removeHandler()移除Handler。

3.在建立FileHandler指定模式字符串时,可以使用“%h”来表示用户的根目录,还可以使用“%t”取得系统暂存目录,或者使用“%g”自动为文档编号。

4.Handler是负责输出,Formatter负责格式化,而信息过滤是交由Filter。

5.Logger与Handler默认只会根据层级过滤信息。

会使用日志API、国际化

  • 1、日志工具类(logger):通常,大部分的日志框架都会定义一个主要的日志输出的工具类,开发者只需要声明该类,即可实现大部分的日志输出操作
    2、日志输出级别(Level):日志输出的级别,意味着该日志的重要程度,大部分的日志框架的级别会分为:Debug(调试模式),Info,warn,error,fatal,其中,根据级别的大小排序,debug>info>warn>error>fatal。级别的大小,将会影响日志的输出,将级别设置的越高,输出的信息将会越多
    3、日志输出格式(format):日志输出的格式,通常可以进行自定义,通过自定义的格式,输出的详细效果将不同
    4、日志输出的方式:即将日志输出到哪?常见的输出方式包括如:控制台,文本文件,数据库等
    5、日志分割:日志文件若以文件的方式进行输出的话,会存在文件大小问题,所以需要对日志进行分割,分割的方式可以分为按大小,按日期等。
  • 在不修改应用程序情况下,根据不同用户直接采用不同语言、日期格式等,这样的设计考虑称为国际化,简称i18n。

了解JDK8增强功能

  • 在JDK8中,String新增了join()静态方法可以直接指定每个字符串间以逗号分隔进行连接。

  • JDK8中,针对大型数组的平行化操作,在Arrays上新增了parallelPrefix()、parallelSetAll()与parallelSort()方法,parallelSort()方法。

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

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

代码托管(statistics.sh脚本的运行结果截图)

上周考试错题总结-

  • 下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?

A .od -b -tx1 Hello.java

B .od -tcx1 Hello.java

C .od -tc -tx1 Hello.java

D .od -tbx1 Hello.java

  • vi中哪条命令是不保存强制退出?

A .
:wq
B .
:wq!
C .
:q!
D .
:q

正确答案:C

结对及互评

评分标准

1.正确使用Markdown语法(加1分): -
不使用Markdown不加分 - 有语法错误的不加分(链接打不开,表格不对,列表不正确...) - 排版混乱的不加分

  1. 模板中的要素齐全(加1分) - 缺少“教材学习中的问题和解决过程”的不加分 - 缺少“代码调试中的问题和解决过程”的不加分 - 代码托管不能打开的不加分 - 缺少“结对及互评”的不能打开的不加分 - 缺少“上周考试错题总结”的不能加分 - 缺少“进度条”的不能加分 - 缺少“参考资料”的不能加分
  2. 教材学习中的问题和解决过程, 一个问题加1分
  3. 代码调试中的问题和解决过程, 一个问题加1分
  4. 本周有效代码超过300分行的(加2分) - 一周提交次数少于20次的不加分
  5. 其他加分: - 周五前发博客的加1分 - 感想,体会不假大空的加1分 - 排版精美的加一分 - 进度条中记录学习时间与改进情况的加1分 - 有动手写新代码的加1分 - 课后选择题有验证的加1分 - 代码Commit Message规范的加1分 - 错题学习深入的加1分 - 点评认真,能指出博客和代码中的问题的加1分 - 结对学习情况真实可信的加1分
  6. 扣分: - 有抄袭的扣至0分 - 代码作弊的扣至0分 - 迟交作业的扣至0分

点评模板:

  • 博客中值得学习的或问题: - xxx - xxx - ...
  • 代码中值得学习的或问题: - xxx - xxx - ...- 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx- 参考示例

    点评过的同学博客和代码

  • 本周结对学习情况
  • 20166329
  • 结对照片
    # 20155327 2016-2017-4 《Java程序设计》第8周学习总结

  • 结对学习内容
    依据课程指导互相交流。
  • 上周博客互评情况
    20155319
    20155204
    20155201
    20155224
    20155117

学习进度条

| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|| -------- | :----------------:|:----------------:|:---------------: |:-----:|| 目标 | 5000行 | 30篇 | 400小时 | || 第一周 | 200/200 | 2/2 | 20/20 | || 第二周 | 300/500 | 2/4 | 18/38 | || 第三周 | 500/1000 | 3/7 | 22/60 | || 第四周 | 300/1300 | 2/9 | 30/90 | |

参考资料