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

教材学习内容总结

第14章

  • Channel是Java NIO用来衔接数据节点的功能,可定义缓冲区容量、标记内容。对于缓冲区的被标记内容,Channel提供clear()、rewind()、flip()、compact()等高级方法来给用户进行操作。
  • Channel类定义了静态方法newChannel(),可以在InputStream和OutputStream分别建立ReadableByteChannel和WritableByteChannel;当然,有些I/O实例本身就可以取得Channel实例。
  • Buffer的直接子类都有allocate()静态方法,可以供用户指定Buffer的容量。
  • Buffer的容量可以经由capacity()方法获得,用户装填的数据不会超过超过容量。
  • 实际可读取或写入的数据边界索引值可有limit()方法获取或定义。
  • NIO2文件系统API提供一组标准接口与类,开发人员只要基于这些标准接口与类进行文件系统操作,而底层文件的操作由厂商负责。

第15章

  • java.util.logging包提供了日志功能想换类与接口,不需额外配置日志组件。
  • getlogger()调用时,必须指定Logger实例所属名称空间,名称空间以“.”作为层级区分;名称空间层级相同的Logger,其父Logger组态相同。
  • 调用log()方法,系统首先会从Level过滤信息,再看Logger有无Filter接口实例。
  • Logger组态通过logging.properties来设定,启动JVM时,指定java.util.logging.config.file系统属性为.properties名称。
  • 应用程序根据不同地区用户,呈现不同语言、日期格式等成为本地化。
  • 若应用程序设计时,可以在不修改程序的前提下自动根据不同用户直接采用不同语言、日期格式等成为国际化。
  • 国际化的重要概念是地区信息、资源包与基础名称。
  • 获取信息文档的途径:使用指定的Locale对象获取、使用Locale.getDefault()取得的对象获取、使用基础名称获取。

 正则表达式(规则表达式)

- 正则表达式和正则二叉树毫无联系(我还以为这是用来计算的)。
- 正则表达式用于查找\替换目标字符。
- Windows系统下和Linux系统下的正则表达式启动方式有所不同。
- 可以肯定,我电脑上的任意含有“编译/编辑”功能的程序都有正则引擎。

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

  • 问题1:同时开启虚拟机和非虚拟机程序会引起电脑的不定时死机。
  • 问题1解决方案:最初的想法是宿主机有病毒,遂杀毒,但是此举只是拖延了死机的到来。
    后来认为,同时启动虚拟机和宿主机的程序会引起程序间的内存抢占竞争,遂强制关闭部分后台程序。但是还是会在宿主机和虚拟机同时有上网的行为后出现死机。
    已经请教高手,正在等待答复。

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

  • Null

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1及原因,理解情况
    A method that has multiple definitions is an __________________ method(具有多重定义的方法称为方法___).
    A .
    overloaded(重载)
    B .
    overridden(重写)
    C .
    overlooked(忽略)
    D .
    overclocked(超频)
    E .
    none of the above(以上均不是)
    正确:A;我选:B
    原因:将overriden与override混淆。
  • 错题2及原因,理解情况
    What is the output of the following code?(下面代码的运行结果是?)
    LocalDate date = LocalDate.of(2018, Month.APRIL, 40);
    System.out.println(date.getYear() + " " + date.getMonth()
  • " "+ date.getDayOfMonth());

A .
2018 APRIL 4
B .
2018 APRIL 30
C .
2018 MAY 10
D .
Another date
E .
The code does not compile.
F .
A runtime exception is thrown.
正确:F;我选:C
原因:误认为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

点评过的同学博客和代码

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 27/27 1/1 18/18
第二周 57/97 1/2 24/42
第三周 220/284 1/3 36/78 函数封装还学不会
第四周 408/692 1/4 44/122 知道怎么封装函数了;分得清继承和接口。
第五周 410/1102 1/5 40/162 没什么好疑惑的
第六周 390/1492 1/6 27/189
第七周 437/1929 2/8 38/228 我就知道Java不能调用中国农历,LOL!
第八周 305/2234 1/9 19/247 专注搞社团活动,抽不出太多时间写代码。

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

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

  • 计划学习时间:35小时

  • 实际学习时间:19小时

  • 改进情况:

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

参考资料

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

  1. 20155223 2006-2007-2 《Java程序设计》第二周学习总结

    20155223 2006-2007-2 <Java程序设计>第二周学习总结 第三章内容总结 3.1 类型 正如我所预料的情况一样:Java脱胎于C语言,就一定会留有和C语言相近或相同的语 ...

  2. 20155223 2006-2007-2 《Java程序设计》第一周学习总结

    20155223 2006-2007-2 <Java程序设计>第一周学习总结 学习内容 提问 第三章:Java没有能够计算开根号的运算符,我遇到开根运算该怎么办? 第四章:Java有没有比 ...

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

    20155336 2016-2017-2<JAVA程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBase Connectivity)即java数据库连接 ...

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

    20155207 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立 ...

  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. java之进程和线程

    1.进程和线程的通俗例子. 2.进程和线程关系.

  2. Python:执行精确的浮点数运算

    需要对浮点数执行精确的计算操作,并且不希望有任何小误差的出现. 浮点数的一个普遍问题是它们并不能精确的表示十进制数.并且,即使是最简单的数学运算也会产生小的误差,比如: >>> a ...

  3. 2017-2018-1 JaWorld 团队作业--冲刺5

    2017-2018-1 JaWorld 团队作业--冲刺5(20162310) 团队项目之战斗机类分析博客 总结 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模 ...

  4. reason: image not found的解决方案

    在制作framework时遇到真机运行时导致的reason: image not found允许崩溃的问题,下面是我的解决方案: 首先我们分析一下出现这种情况的原因,原因就是framework找不到镜 ...

  5. [问题解决]win10误删启动项(BCD)(HP电脑亲测,无需启动盘,并非重装系统)

    昨天使用easyBCD软件,开始不太懂,手残把win10的引导删除了,后来发现电脑关机总是变成重启,无奈强制关机.今天重启了一下电脑,发现电脑已经无法打开了,这才明白昨天是误删了win10的BCD. ...

  6. JMeter的下载以及安装使用

    下载 https://jmeter.apache.org/download_jmeter.cgi 安装 无须安装,解压之后即可使用. 解压到C:\Program Files\apache-jmeter ...

  7. AJAX,JSON,GSON

    AJAX将数据使用JSON格式发送给后端Servlet或其他语言解析. 对JSON内容使用GSON外扩展包进行分解,并使用(如查询用户名是否已经被注册), 最后使用Map集合设置新的返回状态码,并使用 ...

  8. Python学习札记(三十二) 面向对象编程 Object Oriented Program 3

    参考:访问限制 NOTE 1.eg. #!/usr/bin/env python3 class Student(object): """docstring for Stu ...

  9. mongodb的安装与增删改查

    mongodb是一款分布式的文件存储的数据库,注意这两个词,分布式和文件存储.mongodb支持复制和分片,可以合理的运用空间的大小,也可以达到容灾的目的.另外文件存储也是一个特点,抛弃了传统的表的概 ...

  10. C++中的动态绑定

    C++中基类和派生类遵循类型兼容原则:即可用派生类的对象去初始化基类的对象,可用派生类的对象去初始化基类的引用,可用派生类对象的地址去初始化基类对象指针. C++中动态绑定条件发生需要满足2个条件: ...