一、教材学习内容总结

第十二章 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. hihocoder 1334 - Word Construction - [hiho一下第170周][状态压缩+DFS]

    题目链接:https://hihocoder.com/problemset/problem/1334 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Given N wo ...

  2. 七种RAID技术

    想把好多硬盘组在一起使用的基本方式为:连接所有硬盘,先向第一个硬盘中写数据,满了之后,再向第二个硬盘上写数据,如此只是简单的连通了多个硬盘. 再此基础上发展了RAID技术:由独立磁盘组成的具有冗余特性 ...

  3. python 写入日志的问题 UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 0: illegal multibyte sequence

    最近,使用python的logging模块,因为这个写入日志写完后就没有管它.在存储日志信息的时候,一直提示: UnicodeEncodeError: 'gbk' codec can't encode ...

  4. Drip is a launcher for the Java Virtual Machine that provides much faster startup times than the java command. The drip script is intended to be a drop-in replacement for the java command, only faster

    小结: 1.初始化jvm: 2.第一次唤醒java命令不快,后续快: https://github.com/elastic/logstash Advanced: Drip Launcher Drip  ...

  5. FW Windows下DOS命令大全(经典收藏)---mklink

    dos command port-->PID: netstat -ano | findstr port | tasklist |findstr "" Windows SYST ...

  6. javaScript高级教程(二)Scope Chain & Closure Example

    <!DOCTYPE html> <html> <head> <meta charset=gb2312 /> <title>js</ti ...

  7. python-面向对象-11-异常

    异常 目标 异常的概念 捕获异常 异常的传递 抛出异常 01. 异常的概念 程序在运行时,如果 Python 解释器 遇到 到一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常 程序停止执 ...

  8. 007-Redi-命令-脚本命令、链接命令、服务器命令、事务、HyperLogLog

    Redis 脚本命令 下表列出了 redis 脚本常用命令: 序号 命令及描述 1 EVAL script numkeys key [key ...] arg [arg ...] 执行 Lua 脚本. ...

  9. 智能指针 - 现代C++新特性总结

    C++98中的智能指针通过一个模板类auto_ptr来实现,new操作符返回的指针可以交由它来管理,程序员不用再显式的调用delete,这在一定程度上避免了堆内存忘记释放的问题:不过auto_ptr有 ...

  10. github多人协同使用。

    点击 一:自己跟随别人的项目进行开发 1:首先登陆github,找到自己协同开发的项目. 例如:CrossMountain 的we-pay项目 ,点击  fork,该项目就在自己的账号下面了. 2:在 ...