教材学习内容总结

  • NIO用于高级输入/输出处理
名称 衔接数据源与目的地
IO InputStream,OutputStream
NIO Channel
方法 方法的作用
ReadableByteChannel read() 将ReadableByteChannel中的数据读取至ByteBuffer
WritableByteChannel write() 将ByteBuffer的数据写到WritebaleByteChannel
ScatteringByteChannel read() 将ScatteringByteChannel中的数据读取至ByteBuffer
GatheringByteChannel write() 将ByteBuffer的数据写GatheringByteChannel

Channel继承架构:

  • Buffer继承架构:

方法 作用
split() 将指定字符串依规则表达式切割
matcher() 指定要比较的字符串
find() 看看是不是有下一个符合字符串
lookingAt() 看看字符串开头是否符合规则表达式
group() 可以返回符合的字符串
replaceAll() 可以将符合规则表达式的部分以指定的字符串取代
replaceFirst() 取代首个组合规则表达式的部分
replaceEnd() 取代最后符合规则表达式的部分
start() 取得符合字符串的初始索引
end() 取得符合字符串最后一个字符后的索引
parallelPrefix() 指定×××BinaryOperator实例
parallelSetAll()) 对数组进行初始化或者全面重设每个索引元素
parallelSort 将指定的数组分为子数组并以平行化方式分别排序,然后再进行合并排序

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

问题1:研究DecimalFormat类

问题1解决方案:资料如下

作用:DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。

符号 含义
0 一个数字
# 一个数字,不包括 0
. 小数的分隔符的占位符
, 分组分隔符的占位符
; 分隔格式
- 缺省负数前缀
% 乘以 100 和作为百分比显示
? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用

  国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代

  替十进制分隔符。

  X |前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。

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

问题1:p481 Hello

问题1解决方案:改了一下

但是还是不行

最后参考以下链接:

java.util.ResourceBundle使用详解

最后将messages放到了存代码的根目录下就运行成功了

问题2:贪婪、非贪婪、独占量词

问题2解决方案:

贪婪 非贪婪 独占
X? X?? X?+
X* X*? X*+
X+ X+? X++
X{n} X{n}? X{n}+
X{n,} X{n,}? X{n,}+
X{n,m} X{n,m}? X{n,m}+

Greedy:贪婪

  匹配最长。在贪婪量词模式下,正则表达式会尽可能长地去匹配符合规则的字符串,且会回溯。

Reluctant :非贪婪

  匹配最短。在非贪婪量词模式下,正则表达式会匹配尽可能短的字符串。

Possessive :独占

  同贪婪一样匹配最长。不过在独占量词模式下,正则表达式尽可能长地去匹配字符串,一旦匹配不成功就会结束匹配而不会回溯。

参考资料:正则的回溯

代码托管

上周考试错题总结

  1. JDK8中的Lambda表达式有以下好处:

A .

消除重复性

B .

提高性能

C .

提高安全性D .

改善可读性

答案:AD

  1. JDK8 中新时间API中,用于度量时间的类有()

    A .

    Instant

    B .

    Duration

    C .

    Period

    D .

    LocalDateTime

答案:BC

解析:……在这里“度量”的意思等同于“定义”

3.Java 8之前,对日期进行运算,使用()类。

A .

Date

B .

DateFormat

C .

Calendar

D .

SimpleDateFormat

答案:C

4.new Date(System.currentTimeMillis( ))等价于new Date()

A .

True

B .

False

答案:A

解析:

public class DateDemo {
public static void main(String[] args) {
Date date1 = new Date(currentTimeMillis());
Date date2 = new Date(); out.println(date1.getTime());
out.println(date2.getTime());
}
}

结果是:

5.When applied to instance variables, the ________________ visibility modifier enforces encapsulation(当应用到实例变量时,____可见性修饰符强制执行封装).

A .

static

B .

final

C .

public

D .

private

E .

none of the above(以上都不是)

答案:D

解析:私有可见性修饰符防止不适当的数据访问,因此促进封装。选择A和B不是可见性修饰符,而选择C是可见性修饰符,允许对对象数据的公共访问,这违背了封装的原则。

6.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

解析:应用程序的方法,改变一个实例变量的值,通常称为“setters”,因此,选项D是正确答案。选择是一个访问器方法的头一个例子,通常被称为“getter”,选择C是一个构造函数,选择B是一个类的方法。

7.__________________ parameters are the values that are used when calling a method(___参数是调用方法时传给方法的值).

A .

formal(形式参数)

B .

actual(实际参数)

C .

useful(有用的参数)

D .

informal(非正式参数)

E .

none of the above(以上都不是)

答案:B

解析:调用方法时发送实际参数。定义方法时使用形式参数。

8.A method that has multiple definitions is an __________________ method(具有多重定义的方法称为方法___).

A .

overloaded(重载)

B .

overridden(重写)

C .

overlooked(忽略)

D .

overclocked(超频)

E .

none of the above(以上均不是)

答案:A

解析:有多个定义的方法是重载方法。重载方法的版本由参数的数量、类型和顺序区分。重写的方法是在继承层次结构中重新定义的方法。他们将更详细地研究。选择C和D是不是在java类的方法。

9.An object can be thought of as a blueprint for a set of classes(对象被认为是类集合的蓝图).

A .

true

B .

false

答案:B

解析:类可以被看作是一组对象的蓝图,而不是另一种方式。

10.When an object is passed to a method, the actual and formal parameters become aliases(当把对象传递给方法时,实参和形参互为别名).

A .

true

B .

false

答案:A

解析:实际参数是发送到方法中的数据。方法定义中使用了形式参数。当对象被发送到一个方法时,这些值都是引用,它们成为彼此的别名。

11.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

解析:localxxxx明确排除时区。瞬间代表一个时间点,但

始终使用GMT而不是所需时区。

12.Which of the following are stored in a Period object? (Choose all that apply.) 下面哪些内容会出现在Period对象中?

A .

Year

B .

Month

C .

Day

D .

Hour

E .

Minute

F .

Second

答案:ABC

解析:持续时间使用小时/分钟/秒和周期使用年/

措施月/日。

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

解析:选项正确创建当前瞬间。选项B正确转换

秒到瞬间。选项F也是一个适当的转换。选项C,D和E是

不正确,因为源对象不代表时间点。没有时区,

java不知道什么时候使用即时。

14.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

解析:java抛出异常如果无效的日期值传递。没有第四十天

四月或任何其他月份

...

结对及互评

评分标准

正确使用Markdown语法(加1分):

不使用Markdown不加分

有语法错误的不加分(链接打不开,表格不对,列表不正确...)

排版混乱的不加分

模板中的要素齐全(加1分)

缺少“教材学习中的问题和解决过程”的不加分

缺少“代码调试中的问题和解决过程”的不加分

代码托管不能打开的不加分

缺少“结对及互评”的不能打开的不加分

缺少“上周考试错题总结”的不能加分

缺少“进度条”的不能加分

缺少“参考资料”的不能加分

教材学习中的问题和解决过程, 一个问题加1分

代码调试中的问题和解决过程, 一个问题加1分

本周有效代码超过300分行的(加2分)

一周提交次数少于20次的不加分

其他加分:

周五前发博客的加1分

感想,体会不假大空的加1分

排版精美的加一分

进度条中记录学习时间与改进情况的加1分

有动手写新代码的加1分

课后选择题有验证的加1分

代码Commit Message规范的加1分

错题学习深入的加1分

点评认真,能指出博客和代码中的问题的加1分

结对学习情况真实可信的加1分

扣分:

有抄袭的扣至0分

代码作弊的扣至0分

迟交作业的扣至0分

点评模板:

博客中值得学习的或问题:

xxx

xxx

...

代码中值得学习的或问题:

xxx

xxx

...

基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

参考示例

点评过的同学博客和代码

本周结对学习情况

20155328

结对照片

结对学习内容

14、15章

...

上周博客互评情况

20155227

20155231

20145234

20155233

20155336

...

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

下一周终于要没那么多工作了,喘气,太好了可以更多时间补一补之前觉得很虚的地方了。

标了页码的解析让我觉得安心。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 16篇 400小时
第一周 9/9 1/1 19/19 熟练下载安装技能,锻炼解决问题能力
第二周 185/194 1/2 16/35 下载并熟悉IDEA,练习使用码云、git的技能。
第三周 488/535 1/3 18/53 花了更少时间磨合软件,学习更顺利
第四周 366/901 2/5 18/71 继承、多态、行为
第五周 611/1512 1/6 14/67 异常处理、Collection与Map
第六周 337/1849 1/7 16/73 输入与输出、线程与并行API
第七周 459/2308 2/9 15/88 Lambda、时间与日期
第八周 554/2862 1/10 16/104 NIO与NIO2&通用API

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

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

计划学习时间:17小时

实际学习时间:15小时

改进情况:

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

参考资料

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

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

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

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

    20155328 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 16.1 JDBC入门 JDBC是Java联机数据库的标准规范,定义一组标准类与接口,应用程 ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  10. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

随机推荐

  1. 笛卡尔遗传规划Cartesian Genetic Programming (CGP)简单理解(1)

    初识遗传算法Genetic Algorithm(GA) 遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种.进化算法借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传.突变.自然选 ...

  2. 词频统计 SPEC 20160911

    本文档随时可能修改,并且没有另行通知. 请确保每一次在开始修改你的代码前,读标题中的日期,如果晚于你上次阅读, 请重读一次. 老五在寝室吹牛他熟读过<鲁滨逊漂流记>,在女生面前吹牛热爱&l ...

  3. Beta版本总结

    beta 阶段的 postmortem 报告 1. 每个成员在beta 阶段的实践和alpha 阶段有何改进? 成员  Beta阶段的实践和alpha 阶段有何改进  黄山成 beta阶段较alpha ...

  4. 软件工程学习之小学四则混合运算出题软件 Version 1.1 设计思路及感想

    继上次采用形式文法来生成混合运算的算式,由于算法中没有引入控制参数而导致容易产生形式累赘(多余的括号等)的算式.本次更新决定采用一种更为简单有效的生成方式,由给出的一个随机的最终答案S,通过给定的一个 ...

  5. GS 服务器超时时间设置

    工作中 遇到一个超时的问题 与徐庆同学沟通后 了解了下超时时间设置的地方 1.web.congfig问题: 常规路径 C:\Program Files\GenerSoft\bscw_local\web ...

  6. PHPSQL注入

    什么是SQL注入? 就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 例如一个简单的登录表单(这里把密码写成明文方便说明):  当在表 ...

  7. poj2991 Crane(线段树)

    Description ACM has bought a new crane (crane -- jeřáb) . The crane consists of n segments of variou ...

  8. in packet sniffer

    in packet sniffer 来源 https://kb.fortinet.com/kb/microsites/search.do?cmd=displayKC&docType=kc&am ...

  9. php中的动态变量的一个应用

    原文:https://www.cnblogs.com/JimmyBright/p/9869168.html 某些情况下,可以代替switch语句,大大简化代码,非常有意思哦 $list = [ [ ' ...

  10. 学习Spring Boot:(十四)spring-shiro的密码加密

    前言 前面配置了怎么使用 shiro ,这次研究下怎么使用spring shiro的密码加密,并且需要在新增.更新用户的时候,实现生成盐,加密后的密码进行入库操作. 正文 配置凭证匹配器 @Bean ...