20155218 2016-2017-2 《Java程序设计》第8周学习总结
20155218 2016-2017-2 《Java程序设计》第8周学习总结
教材学习内容总结
- java.util.logging包提供了日志功能相关类与接口,不必额外配置日志组件,就可以在标准java平台使用是其好处。
- Logger类的构造函数标示为protected,不是java.util.logging同包的类不能直接以new创建,要取得Logger实例,必须使用Logger的静态方法getLogger()。Loggerlogger=Logger.getLogger("cc.openhome.Main")
- 调用getLogger()时,必须指定Logger实例所属名称空间,名称空间以“·”作为层级区分,名称空间层级相同的Logger,其父Logger组态相同。
- 取得Logger实例后,可以使用log()方法输出信息,输出信息时可以使用Level静态成员指定信息层级。
- 如果java.util.logging包中提供的Handler成果都不符合需求,可以继承Handler类,操作抽象方法publish()、flush()与close()方法来自定义Handler,建议操作时考虑信息过滤与格式化。
- 国际化的三个标准是地区(Locale)信息、资源包(Resource bundle)与基础名称(Base name)。
教材学习中的问题和解决过程
- 问题1:StringBuffer与String的区别
- 问题1解决方案:效率更快,避免了过多字符串常量垃圾对象的产生。前者用于生成字符串,后者用于表示字符串。前者为常量,后者是“可变化的量”
- 问题2:基本类型包装类:自动装箱拆箱
- 问题2解决方案:
装箱:使用引用数据类型的时候,可以给基本类型. 即将基本数据类型提升成基本数据类型包装类对象
拆箱:使用基本数据类型时候,可以直接使用基本数据类型包装类对象.即将基本数据类型包装类对象向下转为基本数据类型
代码调试中的问题和解决过程
- 问题1:检测一段代码运行时所花的时间:
- 问题1解决方案:
Long startTime=System.currentTimeMills();
...代码断
Long endTime=System.currentTimeMills();
System.out.println("tota1 time expended is"+(starttime-endTime)+"milliseconds");
- 问题2:StringBuffer的方法:
- 问题2解决方案:
package cn.itcast;
public class Demo2 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("i");
sb.append("love");
sb.append("java");
sb.append("!");
sb.append("abcdefg");
System.out.println(sb.toString());
System.out.println(sb.capacity());
System.out.println(sb.length());
StringBuffer sb2 = new StringBuffer("i love code!");
System.out.println(sb2.capacity());
}
}
代码托管
上周考试错题总结
- 下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?(B,C)
A .
od -b -tx1 Hello.java
B .
od -tcx1 Hello.java
C .
od -tc -tx1 Hello.java
D .
od -tbx1 Hello.java
2. JDK8中的(C),可以用来实现管道操作
A .
Collection API
B .
JDBC API
C .
Stream API
D .
Thread API
3.JDK8中的Lambda表达式有以下好处:(A,D)
A .
消除重复性
B .
提高性能
C .
提高安全性
D .
改善可读性
4.JDK8中定义的通用函数接口,从行为上分为(ABCD)类型:
A .
Consumer
B .
Function
C .
Predicate
D .
Supplier
5.__________________ parameters are the values that are used when calling a method(_B__参数是调用方法时传给方法的值).
A .
formal(形式参数)
B .
actual(实际参数)
C .
useful(有用的参数)
D .
informal(非正式参数)
E .
none of the above(以上都不是)
结对及互评
评分标准
-
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
-
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
-
博客中值得学习的或问题:
- xxx
- xxx
- ...
-
代码中值得学习的或问题:
- xxx
- xxx
- ...
-
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
其他(感悟、思考等,可选)
最近发现网上有不少java的教程,较之课本他们更多的注重实用,讲了许多写程序时的方法,感觉还不错。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 15/15 | 1/4 | 12/12 | |
第二周 | 140/155 | 1/5 | 18/30 | |
第三周 | 677/817 | 1/ 6 | 20/50 | |
第四周 | 583/1400 | 1/7 | 20/70 | |
第五周 | 540/1940 | 1/8 | 22/92 | |
第六周 | 362/2302 | 1/9 | 13/105 | |
第七周 | 851/3152 | 2/10 | 13/120 | |
第八周 | 851/3458 | 1/11 | 10/130 |
-
计划学习时间:12小时
-
实际学习时间:10小时
-
改进情况: