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解决方案:存在于
    1071573-20170412085352954-205049394.png
    打开内容为:

1071573-20170412085555438-684296934.png

  • 问题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);
}

结果

1071573-20170412091205266-1530934476.png

  • 问题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]);
}

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

无问题

代码托管

1071573-20170415225500705-1780283144.png

上周考试错题总结

  • 错题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

  • 上周博客互评情况

  • 学号20145202
  • 学号20155239
  • 学号20155333
  • 学号20155334
  • 学号20155310

    其他

  • 这周的学习比较轻松,我把之前的学习内容继续复习了一下,感觉收获良多。
  • 我感觉在某些方面的学习中,我还是有很多的不懂之处,但是通过蓝墨云的学习还有去上网找答案,都是学习的一个好方法。

    学习进度条

    代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标5000行30篇400小时
    第一周200/2002/220/20安装软件
    第二周300/5002/418/38接触java的基础知识
    第三周500/10003/722/60深入学习了java
    第四周300/13002/930/90了解了继承与多态、接口与多态
    第五周400/17002/1130/120学会了异常处理及Collection与Map
    第六周400/21002/1330/150了解输入与输出 、线程与并行API
    第七周400/25004/1730/180认识时间与日期。学会了异常处理及Collection与Map
    第八周500/30002/1920/200通用API
    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 参考:软件工程软件的估计为什么这么难软件工程 估计方法
  • 计划学习时间:20小时
  • 实际学习时间:21小时
  • 改进情况:我感觉自己的学习时间还是有所保障的。
  • (有空多看看现代软件工程 课件 软件工程师能力自我评价表)
    ## 参考资料 - Java学习笔记(第8版) - 《Java学习笔记(第8版)》学习指导 - ...

转载于:https://www.cnblogs.com/JIUSHA/p/6716139.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值