• 20155307 2016-2017-2 《Java程序设计》第8周学习总结


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

    教材学习内容总结

    日志API:使用日志的起点是Logger类,要取得Logger类,必须使用Logger的静态方法getLogger(),Logger.log()方法可以用来输出信息。
    指定日志层级:Logger实例输出是有层级的,Level.All会用于允许所有信息输出。
    NIO使用频道来衔接数据结点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记,像是标记读取位置、数据有效位置,对于这些区块标记,提供了Clear()、rewind()、flip()、compact()等高级操作。
    NIO2文件系统API提供一组标准接口与类,应用程序开发者只要基于这些标准接口与类进行文件系统操作,底层实际如何进行文件系统操作,是由文件系统提供负责。
    Handler与Formatter:MemoryHandler不会格式化日志信息,信息会暂存于内存缓冲去,知道超过缓冲区大小,才将信息输出至指定的目标Handler。
    自定义Handler、Formatter与Filter:格式化由Formatter负责,信息过滤由Filter负责。
    logging.properties。
    ResourceBundle:ResourceBundle可以用来做信息绑定,将日后可能要改变的信息移到程序之外。
    Locale:方法:GetDateInstance、GetTimeInstance、GetDateTimeInstance、 直接构建SimpleDateFormat。
    String的split方法接受的是规则表达式,规则表达式基本山包括两种字符:字面意义字符(Literals)和元字符(Metacharacters)。
    Pattern与Matcher:取得Pattern实例后,可以使用split()方法将指定字符串进行切割,效果与String的split()方法相似,Matcher也有replaceAll()方法,与String的replaceAll()方法相似。

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

    • 对于书上关于Logger、Handler、Fomatter之间API的调用关系存在问题。信息通过了Logger的Level与Filter过滤,再通过Handler的Level与Filter过滤,格式化信息的动作交给Formatter,最后才调用输出对象将格式化后的信息输出。为什么有的时候可以输出信息,有的时候不会抛出信息?
      后来调试代码,认真看书上的范例研究,虽然Handler负责实际输出但是需要注意Logger的信息会往父类Logger传播,这是第一次接触Logger实例就需要掌握的,因为其会往父类传播,在没有任何组态设定的情况下Logger是有默认值的,层级必须大于或等于Logger.GLOBAL_LOGGER_NAME名称空间Logger实例设定的Level.INFO,才有可能输出信息。
    • 对于贪婪、逐步、独吐量词,它们三者的区别是什么?三者的运算方法是否相同?对于同一段字符串的运算结果是否相同?如何比较的?
      经过看书后,对于贪婪量词,是整个把剩余文字吃掉,在逐步吐出文字,结果会找出尽可能长的符合文字。而逐步量词,是一边吃掉剩余文字,一边看没有被吃到的文字进行比较,独吐量词会将文字吃掉,然后看独吐量词部分是否符合吃下的文字;显然通过三者的特点就可以判断出区别;起先以为对于同一段字符出来的结果是相同的,但是对于书上的例子xfooxxxxxxfoo来看,三者运算的结果是不同的;而比比较方法使用给定的规则表达式比较。

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

    没有...

    代码托管

    上周考试错题总结

    • wq是保存退出,!表示强制。
    • -b 是以八进制输出
    • -tc -tx 和-tcx一样,是使用十六位和ASCII码
    • Stream API可以实现管道操作
    • Lambda表达式可以消除重复性,改善可读性
    • JDK8定义的通用函数接口,分为Consumer Function Predicate Supplie
    • JDK8中新的时间API,度量时间的类有 Duration和Period
    • Java8之前,对日期运算使用 Calendar 类
    • UML类图,有助于我们查看程序中类的内容和它们之间的关系
    • 实参,actual是调用方法时传给方法的值
    • 对象被不是类集合的蓝图
    • 实参是发送到方法中的数据,形参被用在方法定义中,对象被用在方法中时,这两个值都被提到,都是互相的别名
    • ZonedDateTime会包含“东部标准时间”

    结对及互评

    评分标准

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

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

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

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

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

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

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

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

    点评模板:

    • 博客中值得学习的或问题:

      • xxx
      • xxx
      • ...
    • 代码中值得学习的或问题:

      • xxx
      • xxx
      • ...
    • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

    • 参考示例

    点评过的同学博客和代码

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

    xxx
    xxx

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 ?/200 1/4 20/20
    第二周 300/500 1/5 18/38
    第三周 500/1000 1/6 20/58
    第四周 800/1600 1/7 21/78
    第五周 500/2100 1/8 21/89
    第六周 600/2700 1/9 20/109
    第七周 600/3300 1/10 17/126
    第八周 900/4200 1/11 20/146

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

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

    • 计划学习时间:20小时

    • 实际学习时间:20小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    HTTP-接触
    什么是虚拟机-粗略学习
    jQuery中的动画理论干货
    jQuery-中的事件
    熟悉又陌生的快捷方式
    jQuery中的DOM操作
    jQuery与javascript库
    jQuery-选择器(2)
    jest操作 Elasticsearch
    配置 Kibana
  • 原文地址:https://www.cnblogs.com/zhuanyedajiesanshinian/p/6716504.html
Copyright © 2020-2023  润新知