20155315 2016-2017-2 《Java程序设计》第七周学习总结
教材学习内容总结
第12章 Lambda语法
Lambda定义
- 一个不用被绑定到一个标识符上,并且可能被调用的函数。
- 在只有Lambda表达式的情况下,参数的类型必须写出来,如果有目标类型的话,在编译程序可推断出类型的情况下,就可以不写出Lambda表达式的参数类型。
- Lambda表达式本身是中性的,不代表任何类型的实例,可用来表示不同目标类型的对象操作。
- Lambda表达式在平行设计的时候,能够进行并行处理。
第13章:
1.时间
- 世界时:又称UT时间,借由观测远方星体跨过子午线而得
- 国际原子时:又称TAI时间,将秒的国际单位定义为铯原子辐射震动9192631770周耗费的时间
- 世界协调时间:又称UTC时间由于TAI时间每秒是固定的,然而地球自转会越来越慢,为了保持TAI和UT时间不要差距过大,提出了折中的世界协调时间
- Unix时间:以1970年1月1日00:00:00为起点
- epoch:不少Unix的系统、平台、软件都选择这个时间作为时间表的起点
2.年历
- 儒略历:如今公历的前身,用来取代罗马历,四年一闰年
- 格里高利历:改革了儒略历
- ISO 8601标准:ISO 8601并非年历系统,而是时间日期表示方法的标准,用统一时间日期的数据交换格式,如yyyy-mm-ddTHH:MM:SS.SSS
- 认识时区:一般是经度偏移15度偏移一个小时,然而许多国家领土广阔,有多个时间反而困扰,如中国就只采用单一时区
3.Date和Calendar
- 时间轴上瞬间的date:使用Date实例的各getTime可以获得epoch毫秒数,Data实例只用来当做时间轴上的某一瞬间
- DateFormat:DataFormat可以对字符串格式进行处理,分别有getDateInstance()、getTimeInstance()、getDateTimeInstance()等静态方法 ,SimpleDateFormat还有个parse()方法,可以按构建SimpleDateFormat时指定的格式将指定字符串改为Date实例
- Calendar:格式化时间日期需要DateFormat,如果想取得某个时间日期信息,对时间日期进行操作,需要使用Calendar实例
- Timezone:一般都会使用默认时区,若要修改,可以使用java.util.Timezone中的getDefault()来取得默认时区信息
4.新时间日期API
机器时间观点:Date实例应该只代表了机器观点的时间信息,真正可靠的只有内含的epoch毫秒数
- localDateTime、LocalTime和LocalTime只有对时间的描述,并没有时区信息,如果定义了不存在的日期,就会跑出DateTimeException
- ZoneDateTime和OffsetDateTime:如果时间日期需要带有时区,可以基于localDateTime、LocalTime和LocalTime等来不齐缺少的信息
- Year YearMonth Month和MonthDay:如果要取得想要的月份数则需要使用getValue()方法
- 对时间的运算:使用Calendar可以进行时间运算,jdk8中也提供了更加方便的时间运算方法以及输出格式,操作相应的temporal类即可
年历设计系统:java.time中的类在需要实行年历系统时都是采用单一的ISO8601系统,如果需要其他年历系统则需要java.time.chrono操作java.time.chrono.Chronology接口的类
教材学习中的问题和解决过程
- 问题: 如何取得系统时间和时区信息
- 解决:
- 若需要时区信息,可基于上述三个时间描述的ZoneDateTime和OffsetDateTIme。
想要取得系统时间,方法之一是使用System.currentTimeMillis()方法
代码调试中的问题和解决过程
- 代码链接
- 编译后运行

将
.format(DateTimeFormatter.ofPattern("E MM/DD/YYYY"))删掉

代码托管
用statistics脚本查看代码行数

代码提交结果

上周考试错题总结
- 5.以下()方法会使线程进入阻塞状态?
- A.Thread.sleep()
- B.wait()
- C.notify()
- D.interrupt()
正确答案: A B
理解情况:
Thread.sleep()使程序进入睡眠状态以减缓线程,使线程进入阻塞状态;java.lang.Object.wait()这个对象使当前线程等待,直到其他线程调用notify()方法或notifyAll()方法。
- 7.调用线程的interrupt()方法 ,会抛出()异常对象?
- A.IOException
- B.IllegalStateException
- C.RuntimeException
- D.InterruptedException
- E.SecurityException
正确答案: D E
理解情况:
1.interrupt()的作用是中断本线程的执行。
2.本线程中断自己是被允许的;其它线程调用本线程的interrupt()方法时,会通过checkAccess()检查权限。这有可能抛出SecurityException异常。
3.如果本线程是处于阻塞状态:调用线程的wait(), wait(long)或wait(long, int)会让它进入等待(阻塞)状态,或者调用线程的join(), join(long), join(long, int), sleep(long), sleep(long, int)也会让它进入阻塞状态。若线程在阻塞状态时,调用了它的interrupt()方法,那么它的“中断状态”会被清除并且会收到一个InterruptedException异常。
10.Given an instance of a Stream, s, and a Collection, c, which are valid ways of creating a parallel stream? (Choose all that apply.)
给定一个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
理解情况:没有ParallelStream等类,所以A和E是不正确的。 流类中定义的方法来创建一个平行流从现有流平行();因此C F是正确的,是不正确的。 集合类中定义的方法来创建一个平行流从收集parallelStream();因此B D是正确的和错误的。
- 11.Which of the following statements about the Callable call() and Runnable run() methods are correct? (Choose all that apply.)
- A .Both can throw unchecked exceptions.
- B .Callable takes a generic method argument.
- C .Callable can throw a checked exception.
- D .Both can be implemented with lambda expressions.
- E .Runnable returns a generic type.
- F .Callable returns a generic type.
- G .Both methods return void
正确答案: A C D F
理解情况:A C D F
- 17.• 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.
正确答案: C D
理解情况:一个控制台JVM创建对象。 因为只有一个存在,它是一个单例,mak - 荷兰国际集团(ing)选项C正确的。 如果程序运行的环境中没有一个控制台,系统。 控制台()返回null,D也正确。 其他报表控制台 不正确的。
结对及互评
评分标准(满分10分)
- 从0分加到10分为止
- 正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
- 模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
6 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
7 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
-
点评过的同学博客和代码
- 20155237
- 20155308
- 20155209
- 20155304
体会
这一周主要看的是时间与日期,对计算机的工作原理及程序所需要的基本要素都有进一步的理解。这周的实验是基础操作,尽管简单,但是在编辑代码的时候还是会出错。之前都是用的JDB调试,但是实验要求用IDEA,不是很习惯。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 20/20 | 1/1 | 10/10 | 安装了JDK、IDEA和Git,写了第一个Java程序 |
| 第二周 | 97/117 | 2/3 | 20/30 | 用Linux上传代码,熟悉修改文件的命令行 |
| 第三周 | 336/453 | 2/4 | 35/65 | 在Linux上安装JDK和IDEA,更熟悉vi的操作指令以及修改时需要注意的地方。 |
| 第四周 | 851/1304 | 1/5 | 25/90 | 学习用JDB调试程序 |
| 第五周 | 834/2138 | 1/7 | 32/122 | 能自己设计简单的程序,遇到问题也基本上能通过前面的学习和查资料解决,还有问题没有得到解决。 |
| 第六周 | 573/2711 | 1/8 | 15/137 | 理解课本中的内容并自己把之前的代码加以改正,更理解程序的作用,继续学习用JDB调试程序 |
| 第七周 | 400/3111 | 2/10 | 20/157 | 用IDEA编辑并调试程序,设置断点,完成了实验一 |
- 计划学习时间:25小时
- 实际学习时间:20小时
参考资料
20155315 2016-2017-2 《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 ...
- 20155336 2016-2017-2《JAVA程序设计》第九周学习总结
20155336 2016-2017-2<JAVA程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBase Connectivity)即java数据库连接 ...
- 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
随机推荐
- 使用unity3d和tensorflow实现基于姿态估计的体感游戏
使用unity3d和tensorflow实现基于姿态估计的体感游戏 前言 之前做姿态识别,梦想着以后可以自己做出一款体感游戏,然而后来才发现too young.但是梦想还是要有的,万一实现了呢.趁着p ...
- (1) English Learning
1. no-brainer 不必花脑筋的事物 This tool is really no-brainer that almost everyone can use it. 这个工具太简单用了,不会 ...
- Linux读书笔记第五章
主要内容: 什么是系统调用 Linux上的系统调用实现原理 一个简单的系统调用的实现 1. 什么是系统调用 简单来说,系统调用就是用户程序和硬件设备之间的桥梁. 用户程序在需要的时候,通过系统调用来使 ...
- 《Linux内核--分析Linux内核创建一个新进程的过程 》 20135311傅冬菁
20135311傅冬菁 分析Linux内核创建一个新进程的过程 一.学习内容 进程控制块——PCB task_struct数据结构 PCB task_struct中包含: 进程状态.进程打开的文件. ...
- 读书笔记(chapter5)
系统调用 5.1与内核通信 1.系统调用在用户空间进程和硬件设备之间添加一个中间层.作用有三个:它为用户空间提供了一种硬件的抽象接口:系统调用保证了系统的稳定和安全:系统调用是用户空间访问内核的唯一手 ...
- LeetCode 638 Shopping Offers
题目链接: LeetCode 638 Shopping Offers 题解 dynamic programing 需要用到进制转换来表示状态,或者可以直接用一个vector来保存状态. 代码 1.未优 ...
- 作业6小学生四则运算测试APP的NABCD模型
小学生四则运算测试NABCD模型 组员:李新,朱浩龙,叶煜稳,陈俊金,林德麟 (1) N (Need 需求) 需求分析: 四则运算是小学生学习数学的核心和基础,必须经过大量的练习才能熟练掌握,但是一 ...
- 对MP4一些概念的理解
首先,对视频一些基本概念的理解: I帧:i帧又称为内编码帧,是一种自带全部信息的独立帧,可独立解码,可理解为一张静态图片,视频序列中的第一个帧始终是i帧,因为它是关键帧. P帧:P帧又称为帧间预测编码 ...
- canvas实现五子棋界面
1.获取canvas画布 var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); ...
- JS基础(五)自定义函数
作用:是为了让重复使用的语句,方便进行调用. 定义格式: function 自定义函数名 (参数1, 参数2,...) { 执行的语句 } 函数的封装:把语句放到函数中去的过程. 参数:通过参数的改变 ...
