zoukankan      html  css  js  c++  java
  • 20145304 Java第八周学习报告

    20145304《Java程序设计》第八周学习总结

    教材学习内容总结

    NIO

    • NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块进行标记。对于区块标记,提供了clear()、rewind()、flip()、compact()等高级操作。
    • Channels类定义了静态方法newChannel()。
    • Buffer的直接子类们都有一个allocate()静态方法,可以让你指定Buffer容量,Buffer容量大小可使用capacity()方法取得,实际可读取或写入的数据界限索引值可以由limit()方法得知或设定,下一个可读取数据的位置索引值,可以使用position()方法得知或设定。

    日志

    • java.util.logging包提供了日志功能相关类与接口。
    • 使用日志的起点是Logger类,Logger实例的创建有许多要处理的要素,其构造函数标示为protected,取得Logger的实例,必须使用Logger的静态方法getLogger()。
    • 调用getLogger()时,必须指定Logger实例所属名称空间,名称空间以“."作为层级区分,名称空间层级相同的Logger,其父组态相同。
    • 调用getname()就可以取得类全名。
    • Level.OFF会用于关闭所有信息输出,Level.ALL会用于允许所有信息输出,使用removeHandler()移除Handler。
    • 一个Logger可以拥有多个Handler,可通过Logger的addHandler()新增Handler实例。
    • Handler可通过setLevel()设定信息,一个信息要经过Logger与Handler的过滤后才可以输出。
    • 负责日志输出的是Handler实例。
    • MemoryHandler不会格式化日志信息,信息会暂存于内存缓冲区,直到超过缓存区大小,才将信息输出至指定的目标Handler。
    • StreamHandler可自行指定信息输出时使用的OutputStream实例,它与子类都会使用指定的Formatter格式化信息。
    • ConsoleHandler的日志信息会显示在控制台。
    • FileHandle文档位置与名称可以使用模式字符串指定。
    • 如果要自定义Formatter,可以继承Formatter后操作抽象方法format(),这个方法会传入LogRecord,储存所有日志信息。

    国际化基础

    • 对于日后可能变动的文字信息,可以考虑将信息移至程序之外,方法是使用ResourceBundle来做信息绑定。
    • .properties文档必须放置在CLASSPATH的路径设定下,文档中撰写的是键/值配对,之后在程序中可以使用键来取得对于的值。
    • 国际化的三个重要概念是地区信息、资源包与基础名称。
    • 地区信息可由一个语言编码(两个小写字母代表)与可选的地区编码(两个大写字母表示)来指定。
    • 代表同一组但不同地区的各个资源包会共享相同的基础名称,使用ResourceBundle的getBundle()时指定的名称,就是在指定基础名称。

    规则表达式

    • 规则表达式用于字符、字符串比较。
    • 根据某个字符或字符串切割,可以使用String的split()方法,它会返回切割后各子字符串组成的String数组。
    • 规则表达式基本上包括两种字符:字面意义字符与元字符。
    • 字面意义字符是指按照字面意义比较的字符。
    • 元字符是不按照字面比较,在不同情境有不同意义的字符。
    • 元字符在规则表达式中有特殊含义,则必须加上忽略符号。
    • 规则表达式中,多个字符可以分归在一起,成为一个字符类,字符类会比较文字中是否有“任一个”字符符合字符类中某个字符。
    • 归类字符的方式之一是将字符放于[]中。
    • 预定义字符类,不用被包括在[]之中。
    • {n}是贪婪量词表示法的一种,表示前面的项目出现n次。
    • 在贪婪量词表示法后加上?,将会成为逐步量词,又常称为懒惰量词,或非贪婪量词。
    • 在贪婪量词表示法后加上+,将会成为独吐量词。
    • 边界比较用来表示文字必须符合指定的边界条件,也就是定位点,因此这类表示式也常称为锚点。
    • 可以使用()来将规则表示式分组,除了作为子规则表达式之外,还可以搭配量词使用。
    • 分组回头参考是,是在后加上分组计数,表示参考第几个分组的比较结果。
    • 规则表达式本身可读性差、除错不易,可以使用getDescription()取得错误说明,使用getIndex()取得错误索引,使用getPattern()取得错误的规则表达式,getMessage()会以多行显示错误的索引、描述等综合信息。
    • 对数据进行管线化操作,方法之一是使用Arrays的asList()方法返回List,而后调用stream()方法取得Stream实例,另一个方式是使用Arrays的stream()方法,它可以指定数组后返回Stream实例。

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

    • 书 P484表格中八进制0n字符、八进制0nn字符、八进制0mnn字符以及有关十六进制的相关字符不懂其含义。

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

    • 此次代码调试中没有出现较大问题。

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

    • 通过这星期的学习,学会了使用日志API以及运用规则表达式,这星期学的许多内容都需要记忆,之后的学习中也要常返回来看看这些知识点。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第八周 100/1210 1/11 30/200

    参考资料

  • 相关阅读:
    轮播插件unsilder 源码解析(二)
    轮播插件unsilder 源码解析(一)---源码解析
    轮播插件unsilder 源码解析(一)---使用
    jquery插件扩展的学习
    基于canvas的陈列订货的分析
    grunt安装和使用教程
    2016订货会项目总结2
    2016工作项目完成总结
    不使用递归法求值
    easy bootstrap模板
  • 原文地址:https://www.cnblogs.com/LLLLLLQL/p/5426661.html
Copyright © 2011-2022 走看看