20155308 2016-2017-2 《Java程序设计》第8周学习总结
20155308 2016-2017-2 《Java程序设计》第8周学习总结
教材学习内容总结
第十四章 NIO与NIO2
- NIO(New IO)-from JDK1.4
- NIO2 -from Java SE 7
14.1 认识NIO - Channel: 衔接数据节点(与IO中的流对比)
- isOpen
- close
- ReadableByteChannel
- read
- WritableByteChannel
- write
- Buffer: 块操作
- clear
- flip
- rewind
- mark
- reset
- remaining
14.2 NIO2文件系统 - java。nio.file
- FileSystems
- Paths
- Files
- java.nio.file.atribute
- java.nio.file.spi
- FileSystemProvider
第十五章 通用API
15.1 通用API - 日志:日志对信息安全意义重大,审计、取证、入侵检测等都会用到日志信息
- 日志API
- Logger: 注意无法使用构造方法生成Logger对象
- Logger logger = Logger.getLogger("xxx");
- getLevel
- setLevel
- Level
- Handler:输出介质
- MemoryHandler
- StreamHandler
- ConsoleHandler: SimpleFormatter
- FileHandler:XMLFormatter
- SocketHandler
- Formatter: 格式化
Filter: 过滤
15.2 国际化基础 - Localization 本地化;Internationalization(i18n)国际化
- ResourceBundle
- Locale
15.3 正则表达式 - 正则表达式简介
- 字符与元字符
- 字符类
- 贪婪、非贪婪、独占量词
- 边界比较
- 锚点
- 分组与反向引用
- Pattern/Matcher
教材学习中的问题和解决过程
- 问题1:p451 NIOUtil.java: Channel
index.html存在哪了?打开看看内容对不对? - 问题1解决方案:存在于
打开内容为:
- 问题2:在规则表示式中,自面意义字符的表示,对于所列出的常用字面意义字符有点问题,看书上的例子,用split()方法切割。
- 问题2解决方案:
for(String token:"Justin\\Moinca\\Irene".split("\\\\")
{
out.println(token);
}
-
问题3:p491 PatternMatcherDemo.java
out.printf("%s find ", pattern.pattern())的作用? -
问题3解决方案:用find将前后分开
-
问题4:p483 SplitDemo.java:修改代码,字符串改成csv,怎么分隔?
-
问题4解决方案:修改代码段如下:
for (String token:"csv".split("")){
System.out.println(token);
}
结果
- 问题5:p483 SplitDemo.java: 这个程序的功能用C语言怎么实现?
- 问题5解决方案:
s[]={...};
l=strlen(s);
for(i=0;i<l;i++){
if(s[i]="分割条件")
printf("\n");
else
printf("%s",s[i]);
}
代码调试中的问题和解决过程
无问题
代码托管
上周考试错题总结
- 错题1:vi中哪条命令是不保存强制退出?
A .:wq
B .:wq!
C .:q!
D .:q
- 理解情况 C.:wq 是保存退出。 !表示强制。
- 错题2:hen applied to instance variables, the ________________ visibility modifier enforces encapsulation(当应用到实例变量时,____可见性修饰符强制执行封装).
A .static
B .final
C .public
D .private
E .none of the above(以上都不是)
- 理解情况 :D.The private visibility modifier guards against inappropriate data access, and therefore promotes encapsulation. Choices a and b are not visibility modifiers, and choice c is a visibility modifier that allows public access to an objects data, which violates the principle of encapsulation.
- 错题3: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.Option A correctly creates the current instant. Option B correctly converts from
seconds to an Instant. Option F is also a proper conversion. Options C, D, and E are
incorrect because the source object does not represent a point in time. Without a time zone,
Java doesn’t know what moment in time to use for the Instant. -
结对及互评
博客中值得学习的或问题:学习中的问题解决比较认真,调试过程中的问题有自己的思考的实践。
- 代码中值得学习的或问题:代码比较精致。
- 基于评分标准,我给本博客打分:15分。得分情况如下:
正确使用Markdown语法(加1分)
模板中的要素齐全(加1分)
教材学习中的问题和解决过程, (加3分)
代码调试中的问题和解决过程, (加1分)
本周有效代码超过300分行的(加2分)
其他加分:
感想,体会不假大空的加1分
排版精美的加1分
进度条中记录学习时间与改进情况的加1分
代码Commit Message规范的加1分
错题学习深入的加1分
点评认真,能指出博客和代码中的问题的加1分
结对学习情况真实可信的加1分
点评过的同学博客和代码
-
本周结对学习情况:共同学习了通用API
-
结对学习内容:通用API
-
上周博客互评情况
其他
- 这周的学习比较轻松,我把之前的学习内容继续复习了一下,感觉收获良多。
- 我感觉在某些方面的学习中,我还是有很多的不懂之处,但是通过蓝墨云的学习还有去上网找答案,都是学习的一个好方法。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | 安装软件 |
第二周 | 300/500 | 2/4 | 18/38 | 接触java的基础知识 |
第三周 | 500/1000 | 3/7 | 22/60 | 深入学习了java |
第四周 | 300/1300 | 2/9 | 30/90 | 了解了继承与多态、接口与多态 |
第五周 | 400/1700 | 2/11 | 30/120 | 学会了异常处理及Collection与Map |
第六周 | 400/2100 | 2/13 | 30/150 | 了解输入与输出 、线程与并行API |
第七周 | 400/2500 | 4/17 | 30/180 | 认识时间与日期。学会了异常处理及Collection与Map |
第八周 | 500/3000 | 2/19 | 20/200 | 通用API |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 参考:软件工程软件的估计为什么这么难,软件工程 估计方法 |
- 计划学习时间:20小时
- 实际学习时间:21小时
- 改进情况:我感觉自己的学习时间还是有所保障的。
- (有空多看看现代软件工程 课件 软件工程师能力自我评价表)