20145234黄斐《Java程序设计》第七周学习总结
教材学习内容总结
Lambda语法
- Lambda去可以重复,符合DRY原则,而且Lambda表达式可读性更好,操作更简单
- 匿名类型最大的问题就在于其冗余的语法,lambda表达式是匿名方法,它提供了轻量级的语法,从而解决了匿名内部类带来的冗余问题。
- 接口默认方法:在JDK8中,interface定义时可以加入默认操作,或者称为默认方法(Default methods),forEach()方法本身已有操作,所以不会破坏Iterable现有的其他操作。在默认方法中不能使用数据成员,因为接口本身不能定义数据成员,也就是默认方法中不能用直接变更状态的流程。 
Functional与Stream API
- 使用Optional代替null
- 标准API的函数接口
- Consumer:一个参数,无返回值
- Function:一个参数,有返回值
- Predicate:一个参数,有返回值,返回值必须是boolean类型的
- Supplier:无参数,有返回值
 
- Stream与管道
Lambda与并行处理
第十三章部分 - 时间与日期
认识时间与日期
- 时间的度量
- 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)
 格里高利历将儒略历1582年10月4日星期四的隔天,订为格里高利历1582年10月15日星期五。
- ISO8601 标准
 ISO 8601并非年历系统,而是时间日期表示方法的标准,用意统一时间日期的数据交换格式。在ISO 8601标准的定义中,19世纪是指1900年到1999年,而格里高利历的19世纪是指1801年到1900年。
 
- 儒略历(Julian Calendar)
认识Date与Calendar
- 时区:考虑了UTC偏移的时间表示上,通常会标识Z符号。
- Date与DateFormat
- Date:使用System.currentTimeMillis()方法,返回的是long类型的整数,代表1970年1月1日00:00:00至今经过的毫秒数,只用来获取epoch毫秒数。
- DateFormat是个抽象类,其操作类是java.text.SimpleDateFormat,用来格式化成人类理解的年月日时分秒。
 
- Calendar: 时间的运算
- getInstance(): 要取得某个时间日期资讯,或者是对时间日期进行操作,可以使用Calendar实例,通过Calendar的getInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例
- getTime():取得Calendar实例后,可以使用getTime()取得Date实例
- get():如果想要取得年月日等日期时间字段,可以使用get()方法指定Calender上的字段枚举常数
- add():改变实例的时间
- roll():如果打算只针对日期中某个字段加减,则可以使用roll()方法
- after():比较两个实例的日期先后
- before():比较两个实例的日期先后
- ...
 
JDK8新时间日期API
- 机器时间 Instant
- Calendar的getTime()返回false实例,取得Date实例,下一步应该获取时间信息,应该是通过Date的getTime()取得epoch毫秒数
- 用以代表自定义的Java epoch之后的某个时间点历经的毫秒数,精确度基本上是毫秒。使用Instant的静态方法now()取得代表Java epoch毫秒数的Instant实例,取得Instant实例后,可以使用plusSeconds()、plusMillis()、plusNanos()、minusSeconds()、minusMillis()、minusNanos()来做时间轴上的运算,Instant实例本身不会变动,这些操作会返回新的Instant实例,代表运算后的瞬时
 
- LocalDateTime:包括日期与时间
- LocalDate:只有日期
- LocalTime:只有时间
- ZonedDateTime:时区的日期与时间
- OffsetdateTime:代表UTC偏移量
- Year:表示年
- YearMonth:表示年月
- Month:表示月
- MonthDay:表示月日
人类时间(ISO8601 标准)
20145234黄斐《Java程序设计》第七周学习总结的更多相关文章
- 201521123027 <java程序设计>第七周学习总结
		1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ... 
- 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结
		201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ... 
- 20155334 2016-2017-2 《Java程序设计》第九周学习总结
		20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ... 
- 20155321 2016-2017-2 《Java程序设计》第九周学习总结
		20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ... 
- 20145213《Java程序设计》第九周学习总结
		20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ... 
- 21045308刘昊阳 《Java程序设计》第九周学习总结
		21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ... 
- 20145236 《Java程序设计》第九周学习总结
		20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ... 
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
		20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ... 
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
		20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ... 
- 20145237 《Java程序设计》第九周学习总结
		20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ... 
随机推荐
- RBTree和AVL
			红黑树和AVL的相同:都是平衡二叉树,所以插入删除修改查询都非常高效. 红黑树和AVL的区别: 红黑树: 不是要求绝对平衡,付出的代价是要着色,查询次数可能会多一层,好处是减少旋转次数. AVL ... 
- ThinkPHP最新版本SQL注入漏洞
			如下controller即可触发SQL注入: code 区域 public function test() { $uname = I('get.uname'); $u = M('user')-> ... 
- mongoDB学习之旅(一)
			首先自己去https://www.mongodb.org/官网下载哦~ 我的是64位的 安装就简单讲下吧...下载个安装包, 随便安装, 只要你找到的... cmd进去你的安装目录下/bin文件夹.. ... 
- 代码大全读书笔记 Part 1
			简单的看了前言,印象最深的还是这本书崇尚"绝不注水"的原则.现实生活中,不仅仅有注水牛肉,瘦肉精的猪肉,很多书籍也是东拼西凑来的内容,不注水的厚书,是十分令人期待的. 第一章:欢迎 ... 
- D3——基本知识点
			选择器: d3.select - 从当前文档中选择一个元素 d3.selectAll - 从当前文档中选择多个元素 selection.append - 创建并追加一个新元素 selection.at ... 
- AngularJs学习笔记--E2E Testing
			原版地址:http://docs.angularjs.org/guide/dev_guide.e2e-testing 当一个应用的复杂度.大小在增加时,使得依靠人工去测试新特性的可靠性.抓Bug和回归 ... 
- Android(java)学习笔记208:Android下的属性动画高级用法(Property Animation)
			1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ... 
- Type Systems
			This section deals with more theoretical aspects of types. A type system is a set of rules used by a ... 
- js算法排序
			一.选择算法排序(算法时间复杂度为O(n²)级别) 选择排序就是选择数组中的最小的树,依次排序.第一次选择最小的数放在第一位,第二次从剩余的元素中寻找最小的元素放在第二位,第三次在剩余的数中选择最小的 ... 
- star组件
			一.star组件 <template> <div class="star" :class="starType"> <span v- ... 
