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

教材学习内容总结

NIO

  • NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记。对于区块标记,提供了clear()、rewind()、flip()、compact()等高级操作。
  • Channels类定义了静态方法newChannel()。
  • Buffer的直接子类们都有一个allocate()静态方法,可以让你指定Buffer容量,Buffer容量大小可使用capacity()方法取得,实际可读取或写入的数据界限索引值可以由limit()方法得知或设定,下一个可读取数据的位置索引值,可以使用position()方法得知或设定。

日志

  • java.util.logging包提供了日志功能相关类与接口。
  • 使用日志的起点是Logger类,Logger实例的创建有许多要处理的要素,其构造函数标示为protected,取得Logger的实例,必须使用Logger的静态方法getLogger()。
  • 调用getLogger()时,必须指定Logger实例所属名称空间,名称空间以“."作为层级区分,名称空间层级相同的Logger,其父组态相同。
  • 调用getname()就可以取得类全名。
  • Level.OFF会用于关闭所有信息输出,Level.ALL会用于允许所有信息输出,使用removeHandler()移除Handler。
  • 一个Logger可以拥有多个Handler,可通过Logger的addHandler()新增Handler实例。
  • Handler可通过setLevel()设定信息,一个信息要经过Logger与Handler的过滤后才可以输出。
  • 负责日志输出的是Handler实例。
  • MemoryHandler不会格式化日志信息,信息会暂存于内存缓冲区,直到超过缓存区大小,才将信息输出至指定的目标Handler。
  • StreamHandler可自行指定信息输出时使用的OutputStream实例,它与子类都会使用指定的Formatter格式化信息。
  • ConsoleHandler的日志信息会显示在控制台。
  • FileHandle文档位置与名称可以使用模式字符串指定。
  • 如果要自定义Formatter,可以继承Formatter后操作抽象方法format(),这个方法会传入LogRecord,储存所有日志信息。

国际化基础

  • 对于日后可能变动的文字信息,可以考虑将信息移至程序之外,方法是使用ResourceBundle来做信息绑定。
  • .properties文档必须放置在CLASSPATH的路径设定下,文档中撰写的是键/值配对,之后在程序中可以使用键来取得对于的值。
  • 国际化的三个重要概念是地区信息、资源包与基础名称。
  • 地区信息可由一个语言编码(两个小写字母代表)与可选的地区编码(两个大写字母表示)来指定。
  • 代表同一组但不同地区的各个资源包会共享相同的基础名称,使用ResourceBundle的getBundle()时指定的名称,就是在指定基础名称。

规则表达式

  • 根据某个字符或字符串切割,可以使用String的split()方法,它会返回切割后各子字符串组成的String数组。
  • 规则表达式基本上包括两种字符:字面意义字符与元字符。
  • 字面意义字符是指按照字面意义比较的字符。
  • 元字符在规则表达式中有特殊含义,则必须加上忽略符号。
  • 规则表达式中,多个字符可以分归在一起,成为一个字符类,字符类会比较文字中是否有“任一个”字符符合字符类中某个字符。
  • {n}是贪婪量词表示法的一种,表示前面的项目出现n次。
  • 在贪婪量词表示法后加上?,将会成为逐步量词,又常称为懒惰量词,或非贪婪量词。
  • 在贪婪量词表示法后加上+,将会成为独吐量词。
  • 边界比较用来表示文字必须符合指定的边界条件,也就是定位点,因此这类表示式也常称为锚点。
  • 可以使用()来将规则表示式分组,除了作为子规则表达式之外,还可以搭配量词使用。
  • 分组回头参考是,是在\后加上分组计数,表示参考第几个分组的比较结果。
  • 规则表达式本身可读性差、除错不易,可以使用getDescription()取得错误说明,使用getIndex()取得错误索引,使用getPattern()取得错误的规则表达式,getMessage()会以多行显示错误的索引、描述等综合信息。
  • 对数据进行管线化操作,方法之一是使用Arrays的asList()方法返回List,而后调用stream()方法取得Stream实例,另一个方式是使用Arrays的stream()方法,它可以指定数组后返回Stream实例。

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

书 P484表格中八进制0n字符、八进制0nn字符、八进制0mnn字符以及有关十六进制的相关字符不懂其含义。

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

此次代码调试中没有出现较大问题。

上周考试错题总结

  1. 错题1:

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。

  1. 错题2:

下面哪些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

答案:B、C。

3.错题3:

下面哪些类的对象会包含“东部标准时间”的信息)

(Choose all that apply.)

A .Instant

B .LocalDate

C .LocalDateTime

D .LocalTime

E .ZonedDateTime

答案: E

结对及互评

评分标准

  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

  • 参考示例

点评过的同学博客和代码

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

通过这星期的学习,学会了使用日志API以及运用规则表达式,这星期学的许多内容都需要记忆,之后的学习中也要常返回来看看这些知识点。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 10/10 1/1 10/20 简单了解了jdk,认识了Java语言学习的复杂性
第二周 70/100 1/1 18/25
第三周 150/200 1/1 14/20
第四周 200/300 1/1 15/20
第五周 200/300 1/1 15/20
第六周 350/500 1/1 15/20
第七周 500/700 2/2 15/20
第8周 500/700 1/1 15/20
  • 计划学习时间:20小时

  • 实际学习时间:15小时

参考资料

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

  1. 201521123027 <java程序设计>第八周学习总结

    1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...

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

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

  3. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  4. 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结

    20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...

  5. 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结

    <面向对象程序设计Java>第八周学习总结   项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...

  6. 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

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

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

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

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

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

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

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

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

随机推荐

  1. pyenv - python版本管理

    1. 安装pyenv brew install pyenv 2. 安装python其它版本(如:python 3.6.7) pyenv install --list #查看可以安装的python版本 ...

  2. UML实践

    UML图一览 1.分工泳道图 使工作内容更加清晰 2.类图 更加细化了一些函数,对于之后的接口文档细节问题进行了约束 3.用例图 实现了一个玩家的整体可操作的概况 4.活动图 1)注册活动图 用于登录 ...

  3. Programming Assignment 3: Baseball Elimination

    编程作业三 作业链接:Baseball Elimination & Checklist 我的代码:BaseballElimination.java 问题简介 这是一个最大流模型的实际应用问题: ...

  4. 【OpenCV】图像增强---灰度变换、直方图均衡化

    图像增强的目的:改善图像的视觉效果或使图像更适合于人或机器的分析处理.通过图像增强,可以减少图像噪声,提高目标与背景的对比度,也可以增强或抑制图像中的某些细节.  ------------------ ...

  5. Codeforces-19D Point---线段树

    题目链接: https://cn.vjudge.net/problem/CodeForces-19D 题目大意: n个操作,在200000*200000的平面上加删点 find 严格在坐标右上角,x最 ...

  6. BZOJ3926:[ZJOI2015]诸神眷顾的幻想乡(广义SAM)

    Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热情,自发组织表演了一系列节目给幽香看. ...

  7. Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier

    php 连接 sqlserver 时, 程序生成的sql语句, 如果在 sqlserver客户端执行时, 可以正确返回结果, 在程序中执行, 总返回 false, 打开调试也没有任何错误. 无意中发现 ...

  8. Spring(十四)之编程性事务(续)

    Spring 编程式事务管理 编程式事务管理方法允许你在对你的源代码编程的帮助下管理事务.这给了你极大地灵活性,但是它很难维护. 在我们开始之前,至少要有两个数据库表,在事务的帮助下我们可以执行多种 ...

  9. QTP基本方法3-----截屏

    1.桌面截屏 Desktop.captureBitMap  path[,bolean] path:保存路径,可选择绝对路径或相对路径 相对路径是保存在脚本保存的目录下编号最大的res目录下. bole ...

  10. Java并发编程(六)原子性与易变性

    原子性 原子是最小单元.不可再分的意思.原子性是指某个操作在获取CPU时间时,要么就给它足够时间,让这个操作执行完,要么就不执行这个操作,执行时不能出现上下文切换(把CPU时间从一个线程分配到另一个线 ...