20155215 2016-2017-2 《Java程序设计》第8周学习总结
20155215 2016-2017-2 《Java程序设计》第7周学习总结
教材学习内容总结
第十四章
- NIO使用频道(Channel)来衔接数据节点。在处理数据时,NIO可以让你设置缓冲区(Buffer)容量,在缓冲区对感兴趣的数据块进行标记。
- Channel架构与操作
- Buffer架构与操作
- NIO2文件系统
- NIO2架构
- 操作路径
- 属性读取和设定
- 操作文档与目录
- 读取、访问目录
- 过滤、搜索文档
第十五章
- 日志
- 日志API
- 取得Logger实例之后,可以使用log()方法输出信息,输出信息时可以使用level的静态成员指定信息层级(Level)。
- 指定日志层级
- 使用Handler与Formatter
- 自定义Handler、Formatter与Filter
- 使用logging.properties
- 国际化基础
- 使用ResourceBundle
- 使用Locale
- 规则表示式
- 规则表示式简介
- Pattern与Matcher
- JDK8 API增强功能
教材学习中的问题和解决过程
第十四章
- 问题1:缓冲区容量应当如何设置?
- 问题1解答:capacity即容量,也就是缓冲区的大小。它的值是在创建缓冲区的时候指定的,设定后无法对其进行修改。Buffer的容量大小可以使用capacity方法取得.这三个状态的数值满足一下关系:0=<position=<limit=<capacity.在初始化缓冲区的情况下,position=0;limit = capacity.
缓冲区ByteBuffer简单说明
第十五章
-
问题2:国际化的设计考虑对于JAVA有什么重要意义?
-
问题2解答:为了生成适应不同本地的软件,采用本地化的方法存在许多问题,为了避免这些问题,程序员在设计程序时就应当考虑将软件设计为一个国际化软件,以适应不同的地方,满足不同国家用户的需求。
Java语言国际化的设计与实现 -
问题3:什么是正则表达式?
-
问题3解答:是用来操作和检验字符串数据的强大工具。使用正则表达式要求在典型的搜索和替换操作中,必须提供要查找的确切文字。
代码调试中的问题和解决过程
-
问题1:我在编译代码时出现如下错误。
-
问题1解决方案:修改后编译运行成功如下:
代码托管
上周考试错题总结
- 7.JDK8 中新时间API中,用于度量时间的类有()
A .Instant
B .Duration
C .Period
D .LocalDateTime
答案:BC
对于時間的量,新时间与日期API以类 Duration 來定义,用來表示时间方面的量,精度设定可以达纳秒等級,而秒的最大值可以是 long 类型可保存值。星期、日的日期差,使用类Period 定义,用來表示日期方面的量,像是 2 年、3 个月、4 天等。
- 13.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
我选了C。调整器的方法,改变一个实例变量的值,通常被称为“setter”。因此,选择d是正确答案。选a是一个头访问器方法,通常被称为“getter。“选c是一个构造函数,选择b是一个类方法。
-
15.A method that has multiple definitions is an __________________ method(具有多重定义的方法称为方法___).
A .overloaded(重载)
B .overridden(重写)
C .overlooked(忽略)
D .overclocked(超频)
E .none of the above(以上均不是)
有多个定义的方法是重载的方法。重载方法的版本区别于的数量,类型和它们的参数。覆盖方法,重新定义在一个继承层次结构。之后将会学习。选择c和d不是Java类型的方法。 -
18.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
我选了AE,LocalXXXX明确排除了时区。即时代表一个时间点,但是
总是使用格林尼治时间而不是期望的时区。 -
20.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
我选了A,选择A当前即时正确创建。选项B正确转换
秒瞬间。F选项也是一个适当的转换。选择C,D,E
不正确的,因为源对象并不代表一个时间点。没有一个时区,
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
点评过的同学博客和代码
- 本周结对学习情况
- 20155232
- 结对学习内容
- 一起讨论课本代码,共同解决代码编译报错问题。
- 讨论分析上周考试留下来的部分没有解决的试题。
- 讨论知识点,交换学习体会和总结学习难点。
- 上周博客互评情况
其他(感悟、思考等,可选)
最近这两周的学习都比之前轻松,我开始复习前面的一些内容,因为发现自己对前面的知识只是囫囵吞枣,没有真正的理解。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第五周 | 515/1396 | 3/7 | 22/30 | |
第六周 | 845/2012 | 1/9 | 24/30 | |
第七周 | 734/2746 | 2/11 | 27/28 | |
第八周 | 604/3152 | 1/12 | 28/28 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:28小时
-
实际学习时间:28小时
-
改进情况:这周和上周学习状态差不多,完成了计划的学习时间。