20145118《Java程序设计》

第8周学习总结

教材学习内容总结

1.Java SE提供了日志API,可以基于标准调用,用于记录.java.util.logging包提供了日志功能相关类和接口.

2.调用getLogger()时,必须指定Logger实例所属名称空间,经常也会以以下方式取得Logger:

Logger logger = Logger.getLogger(Main.class.getName());

3.除了指定的信息以外,默认的Logger还会记录时间\类\方法等信息.

4.Logger是记录信息的起点,要输出的信息,必须通过Logger的Level与Filter过滤,再通过Randler的Level与Filter过滤.

5.可以通过logging.properties来设定Logger组态,启动JVM时,指定java.util.logging.config.file系统属性为properties名称.

6.本地化是指应用程序自动根据用户的属性:如地区、语言、日期格式等来呈现。il8n是指应用程序不被修改的情况下不同用户采用不同语言\格式来设计的国际化.

7.地区信息、资源包、基础名称成为国际化的三个重要概念

8.ResourceBundle的静态getBundle()方法会取得一个ResourceBundle的实例,所给定的自变量名称是信息文档的主文件名,能自动找到相应的.properties文档,取得实例后,可通过getString()取得文档中对应的值.如下:

package cc.openhome

import static java.lang.System.out;
import java.util.ResourceBundle;

public class Hello {
    public static void main(String[] args) {
        ResourceBundle res = ResourceBundle.getBunle("message");
        out.print(res.getString("cc.openhome.welcome") + "!");
        out.println(res.getString("cc.openhome.name") + "!");
} 
}

9.Logger的信息处理会让父类传播.可使用Level内建的几个静态成员来指定.如

Level.OFF(Inter.MAX_VALUE)
Level.SEVERE(1000)
Level.WARNING(900)
Level.INFO(800)
Level.CONFIG(700)
Level.FINE(500)
Level.FINER(400)
Level.FINEST(300)
Level.ALL(Integer.MIN_VALUE)

10.负责日志输出的是Handler实例,可以使用addHandler()新增Handler实例,如下:

package cc.openhome;

import java.io.IOException;
import java.util.logging.*;

publiv class RandlerDemo {
    public static void main(String[] args) throws IOException {
        Logger logger = Logger.getLogger(HandlerDemo.class.getName());
        logger.setLevel(Level.CONFIG);
        FileHandler handler = new FileHandler("%h/config.log");
        handler.setLevel(Level.CONFIG);
        logger.addHandler(handler);
        logger.config("logger 组态完成");
}
}

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

规则表示式用于字符串 字符串格式的比较.包括两种字符:字面意义字符和元字符.那么,如果想按某个部分切割,可余下部分中也有该部分,该怎么办呢?此时,需要用到\b标出单词边界,如下:

想依照dog切出dog Monica doggie Irene,则需要用\bdog\b标出边界
package cc.openhome;

public class SplitDemo3 {
    public static void main(String[] args) {
        for(String str : "Justin dog Monica doggie Irene".split("\\bdog\\b")) { System.out.println(str.trim());
}
}

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

程序中在import相关的类后,方法还是显示红色,不知道是为什么??

加图

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

需要在往后学习的过程中不断复习以前的基础知识!!

学习进度条

代码行数(新增/累积) 博客量(新增/累积 学习时间(新增/累积) 重要成长
目标 5000行 20篇 200小时
第一周 100/100 1/1 7/10
第二周 200/100 1/1 7/10
第三周 400/100 1/1 9/10
第四周 400/200 1/1 7/10
第五周 500/200 1/1 9/10
第六周 400/200 2/1 15/10
第七周 700/200 2/1 17/10
第八周 500/200 2/1 12/10

参考资料

posted on 2016-04-25 00:04  cy噢  阅读(166)  评论(1编辑  收藏  举报