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

教材学习内容总结

认识Lambda语法

  • Lambda 教材的引入循序渐近、深入浅出

    • Lambda去重复,回忆DRY原则
    • Lambda表达式可读性更好
  • Arrays.sort
    • Comparator: 对比C语言中使用函数指针
    • 匿名类与多态
  • 方法引用
    • 新语法
    • 一条语句用Lambda表达式,多条语句用方法引用
  • 函数接口
    • @FunctionalInterface
    • 可引用的包括类的静态方法、成员方法、构造方法
  • 接口默认方法
    • 不能使用类的成员变量

Functional与Stream API

  • 使用Optional代替null
  • 标准API的函数接口
    • Consumer:一个参数,无返回值
    • Function:一个参数,有返回值
    • Predicate:一个参数,有返回值,返回值必须是boolean类型的
    • Supplier:无参数,有返回值

认识时间与日期

  • 时间的度量

    • GMT(Greenwich Mean Time)时间:现在不是标准时间
    • 世界时(Universal Time,UT):1972年UTC出来之前,UT等价于GMT
    • 国际原子时(TAI):秒的定义
    • 世界协调时间(Corrdinated Universal Time, UTC): 闰秒
    • Unix时间: 1970.1.1 00:00:00开始的秒数
    • epoch: java.util.Date epoch毫秒数
      认识Date与Calendar
  • 时区
  • Date与DateFormat
    • Date只用来获取epoch毫秒数
    • DateFormat来格式化成人类理解的年月日时分秒
  • Calendar: 时间的运算
  • 机器时间 Instant

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

  • 问题1:add() 与 roll() 的区别
  • 问题1解决方案:取得add()实例后,用add()方法改变Calender时间,相当于进位加减法,而roll()是对日期中某一字段进行加减,也就是不进位加减法。
  • 问题2:ZonedDateTimeDemo.java程序运行结果中数字是什么意思?
  • 问题2解决方案:通过自主敲代码验证发现是机器运行起止的毫秒数。

代码托管

上周考试错题总结

  • 下面哪条命令可以把 f1.txt 复制为 f2.txt ?
    A .
    cp f1.txt f2.txt

    B .
    copy f1.txt f2.txt

    C .
    cat f1.txt > f2.tx

    D .
    cp f1.txt | f2.tx
    E .
    copy f1.txt | f2.tx
    答案:AC

  • 调用线程的interrupt()方法 ,会抛出()异常对象?
    A .
    IOException

    B .
    IllegalStateException

    C .
    RuntimeException

    D .
    InterruptedException

    E .
    SecurityException

答案:DE

  • 定义新线程时,可以继承哪个类:Thread
  • 使线程进入阻塞状态:答案缺interrupt()
  • Which of the following are not java.io
    classes? (Choose all that apply.)

A .BufferedReader

B .BufferedWriter

C .FileReader

D .FileWriter

E .PrintReader

F .PrintWriter

正确答案:E

  • 给定一个Stream的实例s,一个Collection的实例c, 下面哪些选项可以创建一个并行流?
    A .new ParallelStream(s)

B .c.parallel()

C .s.parallelStream()

D .c.parallelStream()

E .new ParallelStream(c)

F .s.parallel()

正确答案:D F

  • Assuming zoo-data.txt is a multiline text file, what is true of the following method?
    private void echo() throws IOException {
    try (FileReader fileReader = new FileReader("zoo-data.txt");
    BufferedReader bufferedReader = new BufferedReader(fileReader)) {
    System.out.println(bufferedReader.readLine());
    }
    }

    A .It prints the first line of the file to the console.

    B .It prints the entire contents of the file.

    C .The code does not compile because the reader is not closed.

    D .The code does compile, but the reader is not closed.

    E .The code does not compile for another reason.

答案:A

  • Which of the following are true? (Choose all that apply.)

    A .A new Console object is created every time System.console() is called.

    B .Console can only be used for reading input and not writing output.

C .Console is obtained using the singleton pattern.

D .When getting a Console object, it might be null.

E .When getting a Console object, it will never be null.

答案:CD

结对及互评

评分标准

  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分

      点评过的同学博客和代码

  • 本周结对学习情况

    • 20155214
    • 结对学习内容:学习了书上第十二,十三章的内容。
  • 上周博客互评情况
    • 20155315
    • 20155310
    • 20155304
    • 20155209
    • 20155308

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

      这周的学习内容主要是时间和日期。还有就是对时间进行运算,最关键的就是善于利用API帮助文档,在需要的时候能够灵活地使用这些类。

      学习进度条

      代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
      目标 3000行 30篇 200小时
      第一周 5/5 1/1 10/10
      第二周 36/41 1/2 12/24
      第三周 271/312 1/3 20/44
      第四周 577/ 1/4 25/69
      第五周 520/889 1/5 25/94
      第六周 884/1773 1/6 20/114
      第七周 404/2177 2/8 10/124

参考:软件工程软件的估计为什么这么难软件工程 估计方法(http://www.cnblogs.com/xinz/archive/2011/04/06/2007294.html)

参考资料

  • [Java学习笔记(第8版)] (http://book.douban.com/subject/26371167/)
  • [《Java学习笔记(第8版)》学习指导] (http://www.cnblogs.com/rocedu/p/5182332.html)

20155237 2016-2017-2 《Java程序设计》第7周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  9. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. 《杜增强讲Unity之Tanks坦克大战》1-准备工作

    0.案例介绍 0.1开始界面   点击Play Now 进入游戏界面   左边的坦克使用ws控制前后移动,ad键左右旋转,空格键开火   右边的坦克使用方向键上下控制前后移动,方向键左右键实现左右旋转 ...

  2. unity2D限制位置的背景移动补偿效果

    有时候我们想要背景可以跟随相机移动补偿,但是又不想该背景物体离原来的位置太远,比如我们想要一棵树在一个房子的后面,然后使用相机补偿使其跟随移动,达到3D错觉效果,但是我们又不想该物体偏离房屋太远.假设 ...

  3. 《Pro SQL Server Internals, 2nd edition》中CHAPTER 7 Designing and Tuning the Indexes中的Clustered Index Design Considerations一节(译)

    <Pro SQL Server Internals> 作者: Dmitri Korotkevitch 出版社: Apress出版年: 2016-12-29页数: 804定价: USD 59 ...

  4. Redmine 安装指南

    第一种方式 (一键安装): 准备工作: 1.最小化安装CentOS7 2.更新YUM源 3.更新系统关闭防火墙 yum -y update systemctl stop firewalld syste ...

  5. 第二阶段Sprint9

    昨天:重新规划主界面,把视频录制暂放到主页面里 今天:查看有关“共享平台”的资料,看如何实现上传下载功能,并尝试编码, 遇到的问题:看不懂什么意思,照例子做不行,还得需要联网等

  6. 重温jsp①

    Jsp就是一个servlet servlet的缺点 不适合设置html响应体,需要response.Getwriter.print(); 优点:动态资源,可以编程. Jsp:在原有的html中加入了J ...

  7. Sprint report

    Sprint report 一.需求分析:随着在校大学生人数的不断增加,许多高校出现了许多个校区并存的局面,并且校区之间的地理位置跨度非常大,给高校选课带来了很大的不方便,数据处理手工操作,工作量大, ...

  8. 基于 Java Web 的毕业设计选题管理平台--系统设计和任务分配

    一.团队作业:http://www.yzhiliao.com/course/70/task/440/show 二.个人作业: 1.项目的代码托管 (1).GitHub 地址:https://githu ...

  9. ElasticSearch 2 (18) - 深入搜索系列之控制相关度

    ElasticSearch 2 (18) - 深入搜索系列之控制相关度 摘要 处理结构化数据(比如:时间.数字.字符串.枚举)的数据库只需要检查一个文档(或行,在关系数据库)是否与查询匹配. 布尔是/ ...

  10. Python日志模块简单使用

    def loginfo(info): # create logger logger = logging.getLogger('[cpu and mem]**********') # Set defau ...