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分

参考示例

点评过的同学博客和代码

其他

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

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 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就接近了。 参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料 - Java学习笔记(第8版) - 《Java学习笔记(第8版)》学习指导 - ...

posted @ 2017-04-15 22:45  郝文菲20155308  阅读(315)  评论(5编辑  收藏  举报