20145118《Java程序设计》 第8周学习总结

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 组态完成");
}
}

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

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

想依照dog切出dog Monica doggie Irene,则需要用dog标出边界
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

参考资料

原文地址:https://www.cnblogs.com/cy1123/p/5429019.html