201521123071 《JAVA程序设计》第十周学习总结
第十周-异常与多线程
1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容。



2. 书面作业:本次PTA作业题集异常、多线程
1. finally:题目4-2
1.1 截图你的提交结果(出现学号)

1.2 4-2中finally中捕获异常需要注意什么?
finally的执行之前必须先经过try语句。而在finally中也需要使用到try-catch,以防出现异常,所以会比较臃肿。
2. 用异常改进ArrayIntegerStack:题目4-3
2.1 截图你的提交结果(出现学号)

2.2 实验总结
这个比较简单啦,主要是自定义异常了,然后throw就好了。
3. 自定义异常:题目5-4
4.1 截图你的提交结果(出现学号)

4.2 自定义异常有哪几个关键点?
首先是继承已有的异常类,然后调用父类的方法。其次是一般自定义异常都是为了能让人一看到就知道是出了什么错误,所以类名也很有讲究。然后就是在使用的时候要利用throws和throw
5. 学会使用Eclipse进行调试:观看相关调试视频
5.1 简述使用Eclipse进行调试需要几步?
1. 在出错的地方设置断点
2. 启动调试模式
3. Eclipse有一个专门的debug perspective,专门用于调试
4. 查看状态值
5.2 调试时F5,F6,F7快键键各有什么不同?什么情况该使用哪个快捷键?
F5(step into):跳入,跳入某个函数内部进行调试
F6(step over):跳过,跳过某个函数,在执行时不进入某个函数
F7(step return):跳出,从某个函数内部跳出
5.3 除了Eclipse的调试器,你还使用什么方法调试程序?
使用System.out.println
6. 题集多线程
6.1 程序填空3-1、3-2。(截图提交结果,出现你的学号)

6.2 函数4-1(Thread)、4-2(Runnable)(截图提交结果,出现你的学号)

6.3 函数4-3(Runnable与匿名内部类)(截图提交结果,出现你的学号),并使用Labmda表达式改写。
new Thread(new Runnable(){
public void run() {
System.out.println(mainThreadName);
System.out.println(Thread.currentThread().getName());
System.out.println(Arrays.toString(getClass().getInterfaces()));
}
});
6.4 实验总结
这几个函数题其实做起来不难,就是理解题目有难度,包括异常的函数题也是这样子,题目看不懂,而且没有测试的数据,所以通不过也不知道少考虑了什么问题。就好比多线程的函数题4-2,我是没搞懂为啥部分正确。
3-1:这个是在线程中加一个flag,当flag的值改变了之后就退出
3-2:这个主要是join()方法的使用。
4-1:这个是通过定义Thread类的子类,覆盖Thread类的run()方法,然后创建该子类的实例,但一般不用该方法,开销大。
4-2:这个函数的关键是在于flag标识符,以此来终止线程。还有就是实现Runnable接口的一些概念吧。
4-3:匿名内部类与实现Runnable接口的综合性使用,既练习了现在学的知识,也不忘记之前学习的东西。
7. 源代码阅读:多线程程序BounceThread
7.1 哪个类是支持多线程的类,它实现了什么接口。这个类做了些什么?
BallRunnable支持了多线程并实现了Runnable接口。这个类是用于Ball移动,第一个Ball移动之后,先睡眠一段时间,再重新开始第二个Ball移动,循环。
7.2 Ball.java这个程序只做了两件事,这两件事分别是什么?
这是Ball的类,是用于设计Ball的大小,形状,以及他的位置和移动路线。
7.3 BallComponent也只做了两件事,这两件事分别是什么?
将Ball设置成“图形”,并将其置于容器中。
7.4 BounceThread中,什么时候启动了新线程?
当点击按钮“start”时,调用addBall()方法,生成一个新的Ball,然后就启动了新线程开始移动。
7.5 这个程序是如何实现?一个大致的执行流程是什么?
首先将图形界面架构出来,将其中的基本组件设置好。其次在点击按钮“start”时,新生成一定设置下的Ball(每点击一次就会新生成一个Ball),然后启动新线程,根据设计开始他的移动路线,在移动一定的步数后停下来。
8. 购物车系统中的多线程
8.1 购物车系统中可能存在哪些多线程问题?
顾客吧,每个顾客都可以同时操作购物车,搜索商品等。
3. 码云上代码提交记录
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图
很尴尬的是,不知道为什么我的码云提交不了代码上去,所以没有截图了。
201521123071 《JAVA程序设计》第十周学习总结的更多相关文章
- 201521123027 <java程序设计>第十周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 异常: 多线程: 2.书面作业 Q1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 ...
- Java程序设计第十周学习总结
Java课程知识梳理: 流的区分; 字符流与字节流的区别: 字节流是直接操作文件本身的,如果没有关闭字节流操作,文件会依然输出内容 而字符流在程序运行之后会发现文件没有任何的内容,这是因为字符流操作的 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20172325 2018-2019-2 《Java程序设计》第九周学习总结
20172325 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 图的定义 图是由顶点集(VertexSet)和边集(EdgeSet)组成,针对图G,顶点集和 ...
- 20155334 2016-2017-2 《Java程序设计》第九周学习总结
20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...
随机推荐
- Cox回归模型【生存分析】
参考:<复杂数据统计方法--基于R的应用> 吴喜之 在生存分析中,研究的主要对象是寿命超过某一时间的概率.还可以描述其他一些事情发生的概率,例如产品的失效.出狱犯人第一次犯罪.失业人员第一 ...
- selenium更加高效的PageObject 对象操作代码
重新封装了的selenium代码,包括click事件,sendkeys事件,select事件,以及对readonly日期控件的处理 package com.common; import java.ut ...
- JMeter之Throughput Controller详解(实验)
Throughput Contoller,直译是吞吐量控制器,它是用来控制该控制器下面元件的执行次数,与控制吞吐量的功能无关.(注:用Constant Throughput Timer可以控制吞吐量. ...
- Entity Framework入门教程:Oracle数据源访问
由于System.Data.OracleClient.dll从.NET Framework4.0之后已被弃用,所以我们无法在.NET Framework高版本中使用.一番搜索之后,发现好多文章提到.N ...
- 设计模式(6)--Adapter(适配器模式)--结构型
1.模式定义: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 2.模式特点: Adapter模式使原本因接口不匹配(或者不兼 ...
- How to execute tons of tasks parallelly with TPL method?
List<Task> taskList = new List<Task>(); // string currentNoStr = null; cannot define at ...
- 为什么我们要使用Async、Await关键字
前不久,在工作中由于默认(xihuan)使用Async.Await关键字受到了很多质问,所以由此引发这篇博文“为什么我们要用Async/Await关键字”,请听下面分解: Async/Await关键字 ...
- Cell
首先需要创建一个model类,继承于NSObject: 定义两个属性: @property(nonatomic,retain)NSString imageName; @property(nonatom ...
- Andrew Ng机器学习课程笔记--week9(下)(推荐系统&协同过滤)
本周内容较多,故分为上下两篇文章. 本文为下篇. 一.内容概要 1. Anomaly Detection Density Estimation Problem Motivation Gaussian ...
- Struts2流程分析与工具配置
1. 运行流程 请求 -- StrutsPrepareAndExecuteFilter 核心控制器 -– Interceptors 拦截器(实现代码功能 ) -– Action 的execuute - ...