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
  • 结对照片

  • 结对学习内容
    依据课程指导互相交流。
  • 上周博客互评情况
    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 | |

参考资料

# 20155327 2016-2017-4 《Java程序设计》第8周学习总结的更多相关文章

  1. 20155327 2017-2018-2 《Java程序设计》第一周学习总结

    20155327 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 三大平台: 1.Java SE:JVM,JRE,JDK,java语言 JVM:Java虚拟机 ...

  2. 20155327 2016-2017-2 《Java程序设计》第一周学习总结

    20155327 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 浏览教材,根据自己的理解每章提出一个问题 1.JAVA SE中JVM,JRE与JDK分别是什 ...

  3. 20155304 2016-2017-2 《Java程序设计》第九周学习总结

    20155304 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC ...

  4. 20155330 2016-2017-2 《Java程序设计》第九周学习总结

    20155330 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛 ...

  5. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  6. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  7. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  8. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  9. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  10. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

随机推荐

  1. vs2010中如何编写C语言程序

    File->New->Project 在打开的New Project对话框中最左侧一栏中选择Visual C++下面的CLR,之后在其右侧的区域中选择CLR Empty Applicati ...

  2. VirtualXposed查看手机端网页及调试

    参考博客: https://sspai.com/post/44447 以下是实际动手操作步骤: 一 打开手机开发者模式 二 允许USB调试 三 安装  VirtualXposed_1.apk      ...

  3. AVAudioFoundation(1):使用 AVAsset

    本文转自:AVAudioFoundation(1):使用 AVAsset | www.samirchen.com 本文主要内容来自 AVFoundation Programming Guide. 要了 ...

  4. 20145326 《Java程序设计》第4周学习总结

    20145326 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 一.何谓继承 1.继承共同行为 面向对象中,子类继承父类,避免重复的行为定义.不过并非为了避免重复定义行为就 ...

  5. vim 录制宏,自动循环执行组合操作

    前言 在 vim 中录制宏的意思就是把一段操作录制下来,然后可以重复执行.打个比方,我有一个文本,一共 50000 行,我要在每一行后面加一个英文句号.这个操作如果手动做的话效率非常低.这时候我可以这 ...

  6. 【yum】yum的使用

    Yum官网 Yum的缓存 Yum仓库 Yum命令 Yum插件 yum的缓存 通过缓存可以提升我们环境的搭建效率,直接把原来缓存好的安装包数据放到新环境,省去了几个G的下载,甚至,有些时候客户现场不能联 ...

  7. ERROR: cannot launch node of type [robot_pose_publisher/robot_pose_publisher]: robot_pose_publisher

    sudo apt-get install ros-indigo-robot-pose-publisher

  8. python 将一个列表乱序

    import random nums = [, , , , , , ] random.shuffle(nums) print(nums)

  9. 拖拉记录上下移动--Ajax UI

    所谓的 Ajax 拖拉 UI,就是直接用鼠标进行拖拉排序,这种方式对用户来说操作速度更快. 拖拉的 UI 需要额外的前端套件,这里介绍 jQuery UI 的 Sortable Plugin,并直接使 ...

  10. Rails 5 Test Prescriptions 第9章 Testing-JavaScript: Integration Testing,❌挂一个问题webpacker::helper

    使用Capybara进行JS的集成测试 谈论驱动 让测试通过 Webpack in Development Mode Js设计 是用户在网页上有好的体验的重要因素. 尽管如此,许多网页不测试JS. 部 ...