zoukankan      html  css  js  c++  java
  • 20155213 2016-2017-2 《Java程序设计》第八周学习总结

    20155213 2016-2017-2 《Java程序设计》第八周学习总结

    教材学习内容总结

    第十四章NIO与NIO2

    • NIO
    • NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记。对于区块标记,提供了clear()、rewind()、flip()、compact()等高级操作。
    • Buffer继承架构
    • Buffer的直接子类们都有个allocate()静态方法,可以让你指定Buffer容量(Capacity),如果想取得Buffer内部的阵列,可以使用array()方法,如果有个数组想要转为某个Buffer子类实例,每个Buffer子类实例都有wrap()静态方法可以提供操作。
    • Buffer是容器,填装的数据不会超过它的容量,容量大小可以使用capacity()方法取得,实际可读取或写入的数据界限(Limit)索引值可以由limit()方法得知或设定,下一个可读取数据的位置(Position)索引值,可以使用position()方法得知或设定。
    • NIO2
    • NIO2文件系统API提供一组标准接口与类,应用程序开发者只要基于这些标准接口与类进行文件系统操作,底层事迹如何进行文件系统操作,是由文件系统提供者负责。

    通用API

    • 日志API简介
    • 使用日志的起点是Logger类,要取得Logger类,必须使用Logger的静态方法getLogger(),Logger.log()方法可以用来输出信息。 默认的Logger还会记录时间、类、方法等信息,Logger是记录信息的起点,还会经过一些过滤才会输出信息,输出信息实际上是由Handler负责。
    • Logger有层级关系,每个Logger处理完自己的日志动作后,回想父Logger传播,让父Logger也可以处理日志Logger与Handler预设都会先依Level过滤信息,如果没有做任何修改,取得的Logger实例之父Logger组态,就是Logger.GLOBAL_LOGGER_NAME名称空间Logger实例的组态,这个实例的Level设定为INFO,可通过Logger实例的getParent()取得父Logger实例,可通过getLevel()取得设定的Level实例。
    • 在经过Logger过滤之后,还得再经过Handler的过滤,一个Logger可以拥有多个Handler,可通过Logger的addHandler()新增Handler实例。

    教材学习中的问题和解决过程

    • 问题1:怎么正确表示贪婪正则表达式
    • 问题1解决方案:贪婪、非贪婪、独占量词:{n}是贪婪量词表示法的一种,表示前面的项目出现n次。在贪婪量词表示法后加上?,将会成为逐步量词(懒惰量词、非贪婪量词)
    public class SplitDemo2 {
    public static void main(String[] args) {
    for(String str : "Justin dog Monica doggie Irene".split("\bdog\b")) {
        System.out.println(str.trim());
    }
    }
    }
    

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

    • 问题1:在运行DateFormatDemo中,提示它是公共的,应该在该文件的.java中声明,代码中定义的本来就为public class,DateFormatDemo

    • 问题1解决方案:去除public之后就能成功运行了

    代码托管


    上周考试错题总结

    • JDK8 中新时间API中,用于度量时间的类有(BC)
      • A .Instant
      • B .Duration
      • C .Period
      • D .LocalDateTime
    • A ________________ diagram helps us visualize the contents of and relationships among the classes of a program(___有助于我们查看程序中类的内容和它们之间的关系).(B)
      • A .class and object(类和对象)
      • B .UML(UML类图)
      • C .object-oriented(面向对象)
      • D .public
      • E .private
    • 解析
      • UML图有助于我们想象的内容和程序的类之间的关系。 其他选择不指任何类型的图。

    结对及互评

    • 与155227辜彦霖结对
    • 个人感觉她的博客排版很好看,很值得借鉴,代码量和提交次数都挺多,这种态度值得学习,但有点,所解决问题不够个性化。

    评分标准

    1. 正确使用Markdown语法(加1分):

      • 不使用Markdown不加分
      • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
      • 排版混乱的不加分
    2. 模板中的要素齐全(加1分)

      • 缺少“教材学习中的问题和解决过程”的不加分
      • 缺少“代码调试中的问题和解决过程”的不加分
      • 代码托管不能打开的不加分
      • 缺少“结对及互评”的不能打开的不加分
      • 缺少“上周考试错题总结”的不能加分
      • 缺少“进度条”的不能加分
      • 缺少“参考资料”的不能加分
    3. 教材学习中的问题和解决过程, 一个问题加1分

    4. 代码调试中的问题和解决过程, 一个问题加1分

    5. 本周有效代码超过300分行的(加2分)

      • 一周提交次数少于20次的不加分
    6. 其他加分:

      • 周五前发博客的加1分
      • 感想,体会不假大空的加1分
      • 排版精美的加一分
      • 进度条中记录学习时间与改进情况的加1分
      • 有动手写新代码的加1分
      • 课后选择题有验证的加1分
      • 代码Commit Message规范的加1分
      • 错题学习深入的加1分
    7. 扣分:

      • 有抄袭的扣至0分
      • 代码作弊的扣至0分

    点评过的同学博客和代码

    点评过的同学博客和代码

    其他(感悟、思考等,可选)

    • 前几章大量的敲代码工作让同学们的学习都留于形式,只想着完成作业而对代码的理解少之又少,感觉学好java的方法不是“敲”代码,而是“修改”代码,敲好代码以后如果不理解代码的能,可以通过修改代码来具体体会其真正含义。
    • 进步来源于发现问题和解决问题,如果大家不去主动思考,简单机械的完成作业,那学习便失去了意义。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 48/48 1/1 20/20
    第二周 98/146 1/2 30/50 学习java的基础语法
    第三周 302/448 1/3 27/77 学习java对象及封装
    第四周 1032/1480 1/4 36/113 学习了继承与多态的关系,以及接口的多态操作
    第五周 609/2025 1/5 30/143 学习了异常处理和Map
    第六周 672/2697 1/6 30/173 学习了IO和线程
    第七周 532/3229 1/7 27/200 对Lambda和Date的学习
    第八周 359/3588 1/8 20/220 学习了NIO和通用API

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    • 计划学习时间:35小时

    • 实际学习时间:30小时

    • 改进情况:

    有空多看看现代软件工程课件 软件工程师能力自我评价表)

    参考资料

  • 相关阅读:
    jqueryautocomplete
    了解CSS的查找匹配原理 让CSS更简洁、高效
    html5网页编码
    刚开始学习 mvc碰到的郁闷问题
    datatable 批量插入方法 求解?
    28个经过重新设计的著名博客案例(1120)
    递归调用中的return
    C++新建一个模板
    C++ 中用 sizeof 判断数组长度
    为什么MySQL选择REPEATABLE READ作为默认隔离级别?
  • 原文地址:https://www.cnblogs.com/elevator/p/6715995.html
Copyright © 2011-2022 走看看