教材学习内容总结

  • 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. jupyter notebook 更改工作环境和浏览器

    转载自:https://blog.csdn.net/u011141114/article/details/78556227 1 修改默认目录 最近刚刚开始学习Python,比较好的一个IDE就是jup ...

  2. group by 和count的联合使用问题 [转]

    group by 和count的联合使用问题 今天写查询语句遇到一个问题,就是用group by进行分组以后,用count统计分组以后的个数, 开始写的语句大体是: select count(m.fb ...

  3. Scrum Meeting NO.1

    Scrum Meeting No.1 1.会议内容 不出所料地,组员们都在忙着写编译.编译大作业的进度已经接近尾声,码农们已经磨刀霍霍向软工-- 在上一周,bugphobia和我们组决定共同使用一套后 ...

  4. java第二次实验报告

    课程:Java实验   班级:201352     姓名:池彬宁  学号:20135212 成绩:             指导教师:娄佳鹏   实验日期:15.05.05 实验密级:         ...

  5. 代理 ip

    利用 VPN 技术通过一台服务器将自己的电脑冒名借用这个服务器的ip ,这台服务器的 ip 即为代理 ip,被冒名ip的服务器即为 代理服务器.我猜的. 实验 这次使用的是 芝麻软件 代理ip软件,其 ...

  6. Supervised Hashing with Kernels, KSH

    Notation 该论文中应用到较多符号,为避免混淆,在此进行解释: n:原始数据集的大小 l:实验中用于监督学习的数据集大小(矩阵S行/列的大小) m:辅助数据集,用于得到基于核的哈希函数 r:比特 ...

  7. 什么是GPS的冷启动、温启动和热启动?

    对于GPS多种启动方式的概念还很模糊,冷启动.热启动.温启动各种专业术语铺天盖地,使得许多用户眼花缭乱. 我们简单从定义上了解一下几种GPS启动的方式,GPS开机启动分为冷启动.温启动.热启动三种. ...

  8. order by null 的作用

    在SQL中order by null有什么用吗?这是我在一次面试时面试官问我的问题,当时我是懵的.他让我猜一下,我说不排序?没想到被我猜对了 不排序你就别用order by啊!为什么要用order b ...

  9. Beta冲刺——day4

    Beta冲刺--day4 作业链接 Beta冲刺随笔集 github地址 团队成员 031602636 许舒玲(队长) 031602237 吴杰婷 031602220 雷博浩 031602134 王龙 ...

  10. Win2008r2 由ESXi 转换到 HyperV的处理过程

    1. 大部分2008r2 采取了 windows loader的方式激活 这种方式 会导致hyperV 启动失败 因为他家在了错误的bios类型 所以第一步建议 使用windows loader 卸载 ...