20145315 《Java程序设计》第五周学习总结

教材学习内容总结

第八章

8.1语法与继承架构

8.1.1使用try,catch

所有的错误都会被打包为对象,使用try,catch可以对错误进行一些后期处理,使得错误发生时显示更友好的错误信息。

如果发生错误,执行流程会跳离错误发生点,然后比较catch中声明的类型,如果符合就执行catch中语句。

8.1.2异常继承架构

错误的对象继承java.lang.Throwable类,Throwable有两个子类Java.lang.Error与java.lang.Exceptions.

  1. Erroe与其子类实例代表严重系统错误。

  2. Exception与其子类实例是异常处理。必须明确使用try,catch语法加以处理,或者用throw声明这个方法会抛出异常,否则会编译失败。

    受检异常:一定要处理Exception,但不属于RuntimeException.

    非受检异常:程序不强迫处理。RuntimeException是客户端引发的,属于客户端有关修改的内容,如果一定要处理,建议是呈现友好信息。

注意:如果父类异常对象在子类异常对象前被捕捉,则catch子类异常对象区块将永远不会被执行。所以要先捕捉子类。

多重捕捉语法:区块内容重复时使用。(不得有继承)

8.1.3要抓还是要抛

throw:如果抛出受检异常,但是以面前信息无法处理异常,可有客户端依据当时调用的环境信息进行处,使用throw声明。

如果是非受检异常,应该改善程序逻辑来避免引发错误。

在catch区块中进行完部分错误处理以后,可以使用throw将异常再抛出。如果抛出的是受检异常,必须在方法上使用throw声明.

可以使用异常继承,子类可以重新定义异常。

8.1.4

Java使用受检异常的目的是文件化和提供编程信息。

8.1.5

若想得知异常发生的根源,以及多重方法调用下的堆栈传播,可以利用异常对象自动收集的堆栈追踪来取得相关信息。

printStackTrace()

堆栈信息中显示了异常类型,最顶层的是异常根源,以下是调用的顺序。

如下:

java.lang.NullPointerException

at StackTraceDemo.a(StackTraceDemo.java:20)
at StackTraceDemo.b(StackTraceDemo.java:16)
at StackTraceDemo.c(StackTraceDemo.java:13)
at StackTraceDemo.main(StackTraceDemo.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)java:14)
at StackTraceDemo.main(StackTraceDemo.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

java.lang.NullPointerException

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

可以使用fillInStackTrace()方法将起点设在重抛异常的地方。

java.lang.NullPointerException

at StackTraceDemo.a(StackTraceDemo.java:26)
at StackTraceDemo.b(StackTraceDemo.java:22)
at StackTraceDemo.c(StackTraceDemo. at StackTraceDemo.c(StackTraceDemo.java:17)
at StackTraceDemo.main(StackTraceDemo.java:7)

第九章

9.1使用collection与Map

9.1.1认识架构

收集对象时,会依据需求使用不同的接口操作对象。

9.1.2索引List

  1. ArrayList特性:数组特性
  2. LinkedList特性:连接结构

9.1.3 Set

若有重复,则不再收集

9.1.4 Queue

收集的对象加入尾端,取得对象时从前端。

9.1.5泛型语法

表示支持泛型

9.1.6简介lambda

键值对应的MAP

根据某个键来取得对应的值

常用MAP操作类

  1. HashMap
  2. TreeMap
  3. Properties

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

没有什么问题。。。

代码调试中的问题和解决过程

本周代码托管截图

加入小组应该就不用放截图了吧

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

感觉现在还是跟着书上走,照着书上的代码打,虽然能看懂,但是完全不会自己编。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第五周 1000/1000 1/1 40/40

参考资料

20145315 《Java程序设计》第五周学习总结的更多相关文章

  1. 201521123025<java程序设计>第五周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...

  2. Java程序设计第五周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...

  3. 20145315 《Java程序设计》第九周学习总结

    20145315 <Java程序设计>第九周学习总结 教材学习内容总结 第16章--整合数据库 16.1.1JDBC简介 应用程序通过通信协议对数据库进行指令交换,以进行对数据的的增删查找 ...

  4. 20145315 《Java程序设计》第二周学习总结

    20145315 <Java程序设计>第二周学习总结 教材学习内容总结 类型 类型:整数分为short,int,long形. 字节:长度为一字节. 浮点数:储存小数,float和doubl ...

  5. 20145315 《Java程序设计》第一周学习总结

    20145315 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 java原来以橡树为名,后来才改成java,灵感是咖啡. 作者戏称JDK为java developer ki ...

  6. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  9. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  10. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

随机推荐

  1. JS AJAX传递List数组到后台(对象)

    今天在写代码的时候,碰到的问题,百度了一下,发现原来AJAX传递List数据是可以的,之前还一直用JSON序列化(new Array()数组设置)进行传值的. var _list = {}; //等价 ...

  2. Linux命令行常用光标移动快捷键

    Linux 命令行快捷键 涉及在Linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令.Bang(!)命令.控制命令等.让basher更有效率. 常用 ctrl+左右键:在单词之间跳转 ct ...

  3. CentOS7安装Openvswitch 2.3.1 LTS

    CentOS7安装Openvswitch 2.3.0 LTS,centos7openvswitch 一.环境: 宿主机:windows 8.1 update 3 虚拟机:vmware 11 虚拟机操作 ...

  4. Java可视化JVM监控软件

    jdk自带.jdk安装目录下 1.JConsole 选择 不安全 可用不多 2.VisualVM

  5. 【BZOJ4554】[Tjoi2016&Heoi2016]游戏 二分图最大匹配

    [BZOJ4554][Tjoi2016&Heoi2016]游戏 Description 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看 ...

  6. 【BZOJ1915】[Usaco2010 Open]奶牛的跳格子游戏 DP+单调队列

    [BZOJ1915][Usaco2010 Open]奶牛的跳格子游戏 Description 奶牛们正在回味童年,玩一个类似跳格子的游戏,在这个游戏里,奶牛们在草地上画了一行N个格子,(3 <= ...

  7. Jmeter性能测试实践之java请求

     前言 Apache Jmeter是开源.易用的性能测试工具,之前工作中用过几次对http请求进行性能测试,对jmeter的基本操作有一些了解.最近接到开发的对java请求进行性能测试的需求,所以需要 ...

  8. SaltStack实现Haproxy Nginx+php MySQL主从

    构建图如下 参考文档:https://github.com/unixhot/saltbook-code/tree/master

  9. Haskell中cabal install glib遇到的问题

    1. 运行命令cabal install glib时出现错误: Cannot find gtk2hsC2hs Please install `gtk2hs-buildtools` first and ...

  10. Oracle Schema Objects——View

    Oracle Schema Objects Oracle视图View 普通视图.物化视图 视图(视图不包含数据,不是段对象,不占用空间,只是一个代码.) 作用: 简化SQL 为安全,不暴露表的名称 视 ...