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

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

教材学习内容总结

  1. java.util.logging包提供了日志功能相关类与接口,不必额外配置日志组件,就可以在标准java平台使用是其好处。
  2. Logger类的构造函数标示为protected,不是java.util.logging同包的类不能直接以new创建,要取得Logger实例,必须使用Logger的静态方法getLogger()。Loggerlogger=Logger.getLogger("cc.openhome.Main")
  3. 调用getLogger()时,必须指定Logger实例所属名称空间,名称空间以“·”作为层级区分,名称空间层级相同的Logger,其父Logger组态相同。
  4. 取得Logger实例后,可以使用log()方法输出信息,输出信息时可以使用Level静态成员指定信息层级。
  5. 如果java.util.logging包中提供的Handler成果都不符合需求,可以继承Handler类,操作抽象方法publish()、flush()与close()方法来自定义Handler,建议操作时考虑信息过滤与格式化。
  6. 国际化的三个标准是地区(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());  
    }  
  
}

代码托管

上周考试错题总结

  1. 下面哪些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(以上都不是)

结对及互评

评分标准

  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

  • 参考示例

点评过的同学博客和代码

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

最近发现网上有不少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小时

  • 改进情况:

参考资料

posted @ 2017-04-16 17:39  徐志瀚  阅读(261)  评论(4编辑  收藏  举报