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

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

教材学习内容总结

1.java.util.logging包提供了日志功能相关类与接口。 2.使用日志的起点是Logger类,Longer类的构造函数标示为protected,不同包的类药取得Loger实例必须使用它的静态方法getLogger(),取得实例后可以使用log()方法输出信息。 3.取得Longger: Logger logger=Logger.getLogger("cc.openhome.Main"); 通过Logger实例的getParent()取得父Logger实例,可以使用intValue()取得内含int值,Logger本身可以通过setLevel()设定Level实例。

Handler与Formatter

1.负责日志输出的是Handler实例。 2.MemoryHandler不会格式化日志信息,信息会暂存于缓冲区,直到超出大小,才将信息输出至指定目标Handler。 3.ConsoleHandler:创建时会会自动指定OutputStream为System.err,日志信息会显示在控制台。 4.FileHandler:创建时会建立日志输出是需要的FileOutPutStream,文档位置与名称可以使用模式字符串指定。 5.SocketHandler:创建时可以指定主机位置与端口,内部将自动建立网络联机,将日志信息传送至指定主机。 6.Logger可以使用addHandler()新增Handler实例,使用removeHandler()移除Handler。

Handler\Formatter\Filter

如果java.util.logging包中提供的Handler成果都不符合需求,可以继承Handler类,操作抽象方法publish()、flush()、close()方法来自定义Handler。

国际化基础

1.ResourceBundle的静态getBundle()方法会取得一个ResourceBoundle的实例,自动找到对应的.properties文档,使用getString()指定键来取得文档中的对应值,以后要改变信息就只要改变.properties文档中的值就可以。

2.国际化的三个重要概念是地区信息、资源包与基础名称。

3.使用String的split()方法,可以根据某个字符或字符串切割已有字符串,然后它会返回切割后的各子字符串组成的String数组。

4.规则表示式基本包括两种字符:字面意义字符与原字符。 国际化基础

国际化的三个标准:

a.地区(Locale)信息

b.资源包(Resource bundle)

c.基础名称(Base name)。

地区信息的对应类是Locale,在建立Locale实例时,可以指定语言编码与地区编码。

针对大型数组的平行化操作,新版jdk中,在Arrays上新增如下一些方法:

1.parallelPrefix()方法可以指定XXXBinaryOperator实例,执行类似Stream的reduce()方法。

2.parallelSetAll()方法用来对数组进行初始化或全面重新设置每个索引元素。

3.parallelSort()方法可以将指定的数组分为子数组并以平行化当时分别排序。

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

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

代码托管

 

上周考试错题总结

4 (多选题|1分) JDK8中的Lambda表达式有以下好处: A . 消除重复性 B . 提高性能 C . 提高安全性 D . 改善可读性 正确答案: A D 你的答案: A 查看知识点 | 查看解析

7.JDK8 中新时间API中,用于度量时间的类有() A . Instant B . Duration C . Period D . LocalDateTime 正确答案: B C 你的答案: A 查看知识点 | 查看解析

8 (单选题|1分) Java 8之前,对日期进行运算,使用()类。 A . Date B . DateFormat C . Calendar D . SimpleDateFormat 正确答案: C 你的答案: A 查看知识点 | 查看解析

9 (单选题|1分) new Date(System.currentTimeMillis( ))等价于new Date() A . True B . False 正确答案: A 你的答案: B 查看知识点 | 查看解析

11 (单选题|1分) A ________________ diagram helps us visualize the contents of and relationships among the classes of a program(___有助于我们查看程序中类的内容和它们之间的关系). A . class and object(类和对象) B . UML(UML类图) C . object-oriented(面向对象) D . public E . private 正确答案: B 你的答案: A 查看知识点 | 查看解析

12 (单选题|1分) When applied to instance variables, the ________________ visibility modifier enforces encapsulation(当应用到实例变量时,____可见性修饰符强制执行封装). A . static B . final C . public D . private E . none of the above(以上都不是) 正确答案: D 你的答案: A 查看知识点 | 查看解析

13 (单选题|1分) Which of the following method headers is most likely a header for a mutator method?(以下哪个方法头部最有可能是设值方法的头部?) A . public int getAge() B . public double computeSalary() C . public Person() D . public void setAge(int newAge) E . none of these are headers for a mutator method(以上均不是设值方法的头部) 正确答案: D 你的答案: E 查看知识点 | 查看解析

14 (单选题|1分) __________________ parameters are the values that are used when calling a method(___参数是调用方法时传给方法的值). A . formal(形式参数) B . actual(实际参数) C . useful(有用的参数) D . informal(非正式参数) E . none of the above(以上都不是) 正确答案: B 你的答案: A 查看知识点 | 查看解析

16(单选题|1分) An object can be thought of as a blueprint for a set of classes(对象被认为是类集合的蓝图). A . true B . false 正确答案: B 你的答案: A 查看知识点 | 查看解析

17 (单选题|1分) When an object is passed to a method, the actual and formal parameters become aliases(当把对象传递给方法时,实参和形参互为别名). A . true B . false 正确答案: A 你的答案: B 查看知识点 | 查看解析

18 (多选题|1分) Which of the following objects could contain the information “eastern standard time”?(下面哪些类的对象会包含“东部标准时间”的信息) (Choose all that apply.) A . Instant B . LocalDate C . LocalDateTime D . LocalTime E . ZonedDateTime 正确答案: E 你的答案: B C D E 查看知识点 | 查看解析

19 (多选题|1分) Which of the following are stored in a Period object? (Choose all that apply.) 下面哪些内容会出现在Period对象中?

A . Year B . Month C . Day D . Hour E . Minute F . Second 正确答案: A B C 你的答案: A B C D E F 查看知识点 | 查看解析

20 (单选题|1分) Given the following, which answers can correctly fill in the blank? (Choose all that apply.)针对下面的代码,()中应填入哪个选项? LocalDate date = LocalDate.now(); LocalTime time = LocalTime.now(); LocalDateTime dateTime = LocalDateTime.now(); ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zonedDateTime = ZonedDateTime.of(dateTime, zoneId); long epochSeconds = 0; Instant instant = ( );

A . Instant.now() B . Instant.ofEpochSecond(epochSeconds) C . date.toInstant() D . dateTime.toInstant() E . time.toInstant() F . zonedDateTime.toInstant() 正确答案: F 你的答案: A 查看知识点 | 查看解析

21 (单选题|1分) What is the output of the following code?(下面代码的运行结果是?) LocalDate date = LocalDate.of(2018, Month.APRIL, 30); date.plusDays(2); date.plusYears(3); System.out.println(date.getYear() + " "

  • date.getMonth() + " "+ date.getDayOfMonth());

A . 2018 APRIL 2 B . 2018 APRIL 30 C . 2018 MAY 2 D . 2021 APRIL 2 E . 2021 APRIL 30 F . 2021 MAY 2 G . A runtime exception is thrown. 正确答案: B 你的答案: G 查看知识点 | 查看解析

结对及互评

评分标准

  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学习我依然还在追赶着进度,其实回顾一下自己开始学java的这段时间,虽然感觉真的好像只学了一门java课,但其实在java这门课上还是越来越清晰的,特别是,虽然课本翻译的确实不咋地,但是经过长时间的品味,也能明白作者翻译的意图在哪里。我觉得java这门语言是一门总结性地语言,感觉他的产生是以其他面对对象的语言为框架的,而发展是根据实际需要所产生的,所以会有好多感觉像生搬硬套的东西。以后的话,还是尽力学吧。

学习进度条

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标 5000行 30篇 400小时  
第一周 200/200 2/2 20/20  
第二周 300/500 2/4 18/38  
第三周 500/1000 3/7 22/60  
第四周 300/1300 2/9 30/90  

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

(有空多看看现代软件工程 课件 软件工程师能力自我评价表)

参考资料

posted @ 2017-04-14 09:34  20155317wxw  阅读(211)  评论(4编辑  收藏  举报