20145324 《Java程序设计》第5周学习总结
20145324 《Java程序设计》第5周学习总结
教材学习内容总结
第八章
1、java中所有错误都会被包装成为对象
2、可以使用尝试(try)执行程序并捕捉代表错误的对象后做一些处理 try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后对比catch括号中声明的类型,是否符合被抛出的错误对象类型,如果是的话,就执行catch区块中的程序代码
3、Throwable定义了取得错误信息、堆栈追踪 (java.lang.Error 与 java.lang.Excepetion)
4、如果抛出了Throwable对象,而程序中没有任何catch捕捉到错误对象,最后由JVM捕捉到的话,那JVM基本处理就是显示错误对象包装的信息并中断程序
5、重新定义Override :在继承父类后,定义与父类中相同的方法部署,但执行内容不同
6、程序本身错误,使用Exception或其子类实例来表现,称错误处理为异常处理
7、Exception或其子对象,但非属于RuntimeException或其子对象,称为受检异常(受程序检查)
8、非受检异常:编译程序不会强迫一定得在语法上加以处理
9、catch括号中列出的异常不得有继承关系,会引发编译错误
10、操作对象的过程中如果会抛出受检异常,但目前环境信息不足以处理异常,必须使用throws声明此方法会抛出的异常类型或父类型
11、想要异常堆栈起点为重抛异常的地方,可以使用fillInStackTrace()
12、无论try区块中有无发生异常,若撰写有finally区块,则finally区块一定会被执行
13、一个异常被catch后的处理过程引发另一个异常,通常会抛出第一个异常作为响应,addSupperessed()方法可将第二个异常记录在第一个异常之中
14、尝试关闭资源语法可套用的对象必须操作java.lang.AutoCloseable接口
第九章
1、新增对象的add()方法、移除对象的remove()方法定义在java.util.Collectiion中
2、java.util.List 定义收集时记录每个对象的索引顺序,并可依索引取回对象
java.util.Set 定义收集对象不重复,具有集合行为
java.util.Queue 定义收集对象时已队列方式,收集的对象加入至尾端,取得对象时从前端
java.util.Deque 从Queue两端进行加入、移除等操作
3、List是一种Collection,作用是收集对象,并以索引方式保留收集的对象顺序,其操作类之一是java.util.ArrayList
4、P270 哈希桶
5、Queue定义了自己的offer()、poll()、peek()在操作失败时会返回特定值
6、堆栈结构是先进后出
7、
8、只要声明参考时有指定类型,那么创建对象时就不用再写类型了
9、Lambda表达方式p297
实例:
Request request =new Request(){
public void execute(){
out.printf("处理数据 %f%n",Math.random());
}
};
可以写为
Request request =()->out.printf("处理数据 %f%n",Math.random());
教材学习中的问题和解决过程
代码调试中的问题和解决过程
其他(感悟、思考等,可选)
这一周的两章内容感觉很难而且很多,所以看得很慢,第九章部分没有完成。上周的随堂测试反映了一些问题,看一遍书打一遍代码,对知识点有了印象,遇到选择题判断题还好,但是一旦遇到写代码这种题就完全懵逼。只能说明学的还不扎实,对编程没什么兴趣所以学起来还是蛮忧伤的,慢慢摸索适合自己的学习方式吧,争取早日建立对编程的好感。
德比输了很郁闷啊,今天就不继续看第九章了,下周继续
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 500行 | 16篇 | 220小时 | |
第一周 | 30/20 | 1/1 | 10/10 | |
第二周 | 82/102 | 1/2 | 10/20 | |
第三周 | 158/260 | 1/3 | 10/30 | |
第四周 | 223/483 | 1/4 | 10/40 | |
第五周 | 450/933 | 1/5 | 10/50 |