一、教材学习内容总结

第十二章 Lambda

1.认识Lambda语法

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

Arrays.sort
Comparator: 对比C语言中使用函数指针
匿名类与多态

方法引用
新语法
一条语句用Lambda表达式,多条语句用方法引用

函数接口(Functional Interface)
就是只有一个抽象方法的接口
@FunctionalInterface
可引用的包括类的静态方法、成员方法、构造方法
接口默认方法(Default Method)
不能使用类的成员变量

2.Functional与Stream API

使用Optional代替null

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

Stream与管道

3.Lambda与并行处理

第十三章 时间与日期

1.认识时间与日期

时间的度量
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毫秒数

日历
儒略历(Julian Calendar)
格里高利历(Gregorian Calendar)
ISO8601 标准

2.认识Date与Calendar

时区
Date与DateFormat
Date只用来获取epoch毫秒数
DateFormat来格式化成人类理解的年月日时分秒

Calendar: 时间的运算
getInstance(): GregorianCalendar
getTime()
get()
add()
roll()
after()
before()

3.JDK8新时间日期API

机器时间 Instant

人类时间(ISO8601 标准)
LocalDateTime
LocalDate
LocalTime
ZonedDateTime
OffsetdateTime
Year
YearMonth
Month
MonthDay
TemporalAmount
TemporalUnit
TemporalAccessor
Chronology

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

本周的学习内容说实话有点多,光是看书并不能都看懂弄会,但是书本上的只是我都认真的学习了,收获很多,就是不知道以后能用到多少了。

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

StringOrder.java StringOrderDemo.java: 方法引用
新语法:byLength方法
byLength方法的签署与Comparator的compare()方法相同。

ThisDemo.java: 再理解this
this的参考对象以及toString()的接受者,实际上都是匿名类建立的实例。

ThisDemo2.java: Lambda版
执行结果会是显示两次“Hello, World!”。Lambda表达式中this的参考对象以及toString()的接受者,是来自Lambda的周围环境。

PlayerDemo.java: Stream API
Stream的直接父接口为BaseStream,而BaseStream还有DoubleStream、IntStream与LongStream这三个用于基本类型操作的子接口。
Stream只能迭代一次,重复迭代会引发IllegalStateException。

四、其他(感悟、思考等)

连续几周,需要学习的内容比较多,感觉有点吃紧还有一部分知识点掌握的不好,看来需要再接再厉了。

五、参考资料

Java学习笔记(第8版)
《Java学习笔记(第8版)》学习指导

20145127《java程序设计》第七周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第七周学习总结

    1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...

  2. 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

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

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

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

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

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

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  6. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

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

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

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

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

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

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

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

    20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...

随机推荐

  1. 一次使用Python连接数据库生成二维码并安装为windows服务的工作任务

    最近有一个需求,在现有生产系统上的人员库中增加一个此人员关键信息的二维码,支持文字版和跳转版两种方式,与报表工具关联,可打印.以windows服务方式,定时检查,只要发现某人员没有此二维码信息,就生成 ...

  2. 计蒜客 30994 - AC Challenge - [状压DP][2018ICPC南京网络预赛E题]

    题目链接:https://nanti.jisuanke.com/t/30994 样例输入: 5 5 6 0 4 5 1 1 3 4 1 2 2 3 1 3 1 2 1 4 样例输出: 55 样例输入: ...

  3. JIRA licence and vulnarability,jenkins,devops

    http://blog.itpub.net/13651903/viewspace-1079918/ http://www.freebuf.com/articles/web/34051.html JIR ...

  4. python的几个注意事项

    ,==============坑======= 1.可变类型的值不要作为函数参数默认值,应该是不可变的对象,如None,True,False,数字或字符串 2.小心+= a = range(10) b ...

  5. 【python-opencv】18-图像梯度+图像边界

    效果图: *一阶导数与Soble算子 *二阶导数与拉普拉斯算子 定义:把图片想象成连续函数,因为边缘部分的像素值是与旁边像素明显有区别的,所以对图片局部求极值,就可以得到整幅图片的边缘信息了. 不过图 ...

  6. webpack学习三——output

    output的两个参数filename,path 一.path输出路径,输出路径要绝对路径,否则报错.做法如下: path:__dirname + 'path' 二.filename 输出文件命,相对 ...

  7. mysql python pymysql模块 基本使用

    我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢? 这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事先安装 pi ...

  8. Laravel和thinkphp的区别/优缺点

    Laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD和BDD,作为使用者最多的php框架,它为你准备好了一切,composer是个php的未来.laravel最大的特点和处优秀 ...

  9. [LeetCode] 256. Paint House_Easy tag: Dynamic Programming

    There are a row of n houses, each house can be painted with one of the three colors: red, blue or gr ...

  10. Selenium - Css Selector 使用方法

    什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector可以下载火狐浏览器插件,FireFinder 或 FireBug和 ...