20145229吴姗珊 《Java程序设计》第5周学习总结

教材学习内容总结

第八章 异常处理

1.设计错误对象都继承自java.lang.Throwable类
2.Java中所有错误都会被打包为对象,运用try、catch,可以在错误发生时显示友好的错误信息
3.Throwable有两个子类:java.lang.Error与java.lang.Exception
4.catch括号中列出的异常不得有继承关系,否则会发生编译错误
5.catch语句可以有多个,分别处理不同类的例外。Java运行时系统从上到下分别对每个catch语句处理的例外类型进行检测,直到找到类型相匹配的catch语句为止
6.如果父类异常对象在子类异常前被捕捉,则catch子类异常对象的区块将永远不会被执行
7.可以用一个catch语句处理多个例外类型,这时它的例外类型参数应该是这多个例外类型的父类,程序设计中要根据具体的情况来选择catch语句的例外处理类型
8.Error与其子类实例代表严重系统错误(硬件层面错误、JVM错误、内存不足等)
9.如果抛出的是受检异常,表示你认为客户端有能力且应该处理异常,此时必须在方法上使用throws声明;如果抛出的异常是非受检异常,表示你认为客户端调用方法的时机错了,抛出异常是要求客户端修正这个漏洞再来调用方法,此时也就不用throws声明
10.Exception或其子对象,但非属于RuntimeException或其子对象,称为受检异常
11.try所限定的代码中,当抛弃一个例外时,其后的代码不会被执行
12.如果程序撰写的流程中先return了,而且也有finally区块,那finally区块会先执行完后,再讲将值返回
13.断言客户端调用方法前,已经准备好某些前置条件(通常在private方法之中)。断言客户端调用方法后,具有方法承诺的结果。断言对象某个时间点下的状态。使用断言取代批注。

第九章 Collection与Map

1.收集对象的行为,像是新增对象的add()方法、移除对象的remove()方法等,都是定义在java.util.Collection中。既然可以收集对象,也要能逐一取得对象,这就是java.lang.Iterable定义的行为,它定义了iterator()方法返回java.lang.Iterable操作对象,可以让你逐一取得收集的对象。
2.add(int index, E element):可以将指定的元素插入此列表中的指定位置。
set(int index, E element):用指定元素替换列表中指定位置的元素
3.收集时记录每个对象的索引顺序,并可依索引取回对象,定义在java.util.List接口
4.收集的对象不重复,具有集合的行为,定义在java.util.Set接口
5.List是一种Collection,作用是收集对象,并以索引方式保留收集的对象顺序,其操作类之一是java.util.ArrayList
6.若收集的对象经常会有变动索引的情况,也许考虑链接方式操作的List会比较好,像是随时会有客户端登录或注销的客户端List,使用LinkedList会有比较好的效率
7.跟顺序有关的行为,通常要不对象本身是Comparable,要不就是另行指定Comparator对象告知如何排序
8.Queue继承自Collection,所以也具有Collection的add()、remove()、element()等方法,然而Queue定义了自己的offer()、poll()与peek()等方法,最主要的差别之一在于:add()、remove()、element()等方法操作失败时会抛出异常,而offer()、poll()与peek()等方法操作失败时会返回特定值
9.一般常用Properties的setProperty()指定字符串类型的键值,getProperty()指定字符串类型的键,取回字符串类型的值,通常称为属性名称与属性值
10.Collections的sort()方法要求被排序的对象必须操作java.lang.Comparable接口,这个接口有个compareTo()方法必须返回大于0、等于0或小于0的数
11.接口只有一个方法必须操作时,可以使用Lambda表达式取代匿名类语法
12.如果想取得Map中所有的键,可以调用Map的keySet()返回Set对象。由于键是不重复的,所以用Set操作返回是理所当然的做法,如果想取得Map中所有的值,则可以使用values()返回Collection对象

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

Error与Exception到底有什么区别

Error与其子类实例代表严重系统错误(硬件层面错误、JVM错误、内存不足等)
Exception或其子类实例代表程序设计本身的错误,所以通常称错误处理为异常处理(Exception Handling)

本周代码托管截图




其他(感悟、思考等,可选)

学习了第八章第九章,知道了一些Error的解决,知道了关键字,由于清明放假,所以提前写了博客,希望java的学习中能够慢慢追上去,跟上大家的进度。知识点总是很散很凌乱,现在学会了做笔记,查找知识也更方便,学习更加高效

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 100/100 1/1 17/17
第二周 100/100 1/1 15/15
第三周 200/100 1/1 17/17
第四周 380/100 1/1 15/15
第五周 480/480 1/1 15/15

参考资料

20145229吴姗珊 《Java程序设计》第5周学习总结的更多相关文章

  1. 20145229吴姗珊 《Java程序设计》课程总结

    20145229吴姗珊 <Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/20145229ss/p/5248728.htm ...

  2. 20145229吴姗珊 《Java程序设计》第9周总结

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

  3. 20145229吴姗珊 《Java程序设计》第8周学习总结

    20145229吴姗珊 <Java程序设计>第8周总结 教材学习内容总结 第十四章 NIO与NIO2 NIO: InputStream.OutputStream的输入输出,基本上是以字节为 ...

  4. 20145229吴姗珊 《Java程序设计》2天小总结

    20145229吴姗珊 <Java程序设计>2天小总结 教材学习内容总结 由于这周学的内容比较简单,主要是关于日期.日期之类的东西.所以自己从书上看了一些内容 总结了第四章 认识对象 和第 ...

  5. 20145229吴姗珊 《Java程序设计》第7周学习总结

    20145229吴姗珊 <Java程序设计>第7周学习总结 教材学习内容总结 第13章时间与日期 即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix时间)时间. 秒的单位定 ...

  6. 20145229吴姗珊《java程序设计》第2次实验报告

    20145229吴姗珊<java程序设计>第2次实验报告 实验名称 Java面向程序设计,采用TDD的方式设计有关实现复数类Complex. 理解并掌握面向对象三要素:封装.继承.多态. ...

  7. 20145229吴姗珊 《Java程序设计》两天小总结

    20145229吴姗珊 <Java程序设计>两天小总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.从应用程序 ...

  8. 20145229吴姗珊 《Java程序设计》第6周学习总结

    20145229吴姗珊 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.输入串 ...

  9. 20145229吴姗珊《Java程序设计》2天总结

    20145229吴姗珊<Java程序设计>2天总结 教材学习内容总结 异常处理 1.使用try.catch Java中所有错误都会被包装成对象,可以尝试(try)执行程序并捕捉(catch ...

随机推荐

  1. 获取 Android 版本

    var a = /Android(.+?);/.exec(window.navigator.userAgent) if (a) { this.AndroidVersion = +(a[1].trim( ...

  2. STM32 寄存器库和固件库

    寄存器和固件库开发的差别和联系 固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道.向上提供用户函数调用的接口(API). 在 51 的开发中我们经常的作法是直接操作寄存器,比方要控制 ...

  3. ubuntu 16.04查询文件安装目录

    dpkg -L filename dpkg -l | grep filename whereis filename find / -name filename

  4. RecyclerView 踩坑

    一.RecyclerView设置拖动后怎么监听拖动的开始和结束 ItemTouchHelper helper = new ItemTouchHelper(new ItemTouchHelper.Cal ...

  5. java并发阻塞队列

    Java 并发编程利用 Condition 来实现阻塞队列 You are here:  开发&语言 - Java 文章 发布于 2017年06月26日  阅读 944 并发编程   什么是阻 ...

  6. 图像处理之基础---傅立叶c实现

    http://blog.csdn.net/lzhq28/article/details/7847047 http://blog.csdn.net/lishizelibin/article/detail ...

  7. esper 附录A

    A2 select irstream symbol, volume, price from MarketDate.win.time(5.5 sec) seconds seconds seconds s ...

  8. Linux mail发送邮件

    发送前一天的监控日志#!/bin/bash source /etc/profile time=`date -d '-1 day' "+%Y%m%d"` #判断服务是否已经启动 se ...

  9. 信号量semaphore解析

    1 基础概念 信号量在创建时须要设置一个初始值,表示同一时候能够有几个任务能够訪问该信号量保护的共享资源.初始值为1就变成相互排斥锁(Mutex),即同一时候仅仅能有一个任务能够訪问信号量保护的共享资 ...

  10. 阿里巴巴产品实习生N天

    时间貌似有些太遥远,已经没办法从刚来时的日子一天一天数.连上内网打开内外.看到45天,每一次不经意的邂逅总会让人认为奇妙而微妙,每一次的巧合总会让人认为是神在显灵(但愿天津安好,这里也曾在我心中滋润过 ...