1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容。
2. 书面作业
本次PTA作业题集异常、多线程
1.finally
题目4-2
1.1 截图你的提交结果(出现学号)
1.2 4-2中finally中捕获异常需要注意什么?
答:try语句块先执行,finally语句块后执行。
2.用异常改进ArrayIntegerStack
题目4-3
2.1 截图你的提交结果(出现学号)
2.2 实验总结
答:用if语句作为判断语句判断栈空栈满,将之前的进行改造,用throw抛出三种异常。例如栈满异常FullStackException等等。
3.自定义异常
题目5-4
4.1 截图你的提交结果(出现学号)
4.2 自定义异常有哪几个关键点?
答:①自定义异常要醒目,让人一眼就能看出是什么异常。
②一般使用throw和if抛出异常,并且要显示异常信息。
③尽量使用已有的异常类。
4.读取文件并组装对象
实验任务书中中的题目3:读取文件并组装对象
给出关键代码(需出现你的学号)
答:不会。
5.学会使用Eclipse进行调试
观看相关调试视频
5.1 简述使用Eclipse进行调试需要几步?
答:①在正确的地方设置断点②启动调试模式③Eclipse有一个专门的debug perspective,专门用于调试④查看状态值⑤调试完结束程序。
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表达式改写。
答:有点难还在做
6.4 实验总结
答:①使用join()让出cpu,等待其他线程完成。
②3-1 t1为守护线程,在start之前调用。
③4-1 继承Thread类,按照题目要求改写run
④4-2 在调用stopMe()方法时,应注意将flag置为true。
⑤4-3 较难还在做
7.源代码阅读:多线程程序BounceThread
7.1 哪个类是支持多线程的类,它实现了什么接口。这个类做了些什么?
答:BallRunnable类是支持多线程的类,实现了Runnable接口。在这个类中调用小球移动的函数,移动之后,对界面进行重画,并睡眠一段时间。
7.2 Ball.java这个程序只做了两件事,这两件事分别是什么?
答:移动小球和得到小球的大小和坐标。
7.3 BallComponent也只做了两件事,这两件事分别是什么?
答:添加小球和画出小球
7.4 BounceThread中,什么时候启动了新线程?
答:调用addBall()方法,先加入一个小球,再启动新线程。
7.5 这个程序是如何实现?一个大致的执行流程是什么?
答:首先建立JFrame窗口,再加入和小球运动有关的组件,其次点击start小球就会开始移动,再建立Runnable对象,启动线程,最后退出系统。
8.购物车系统中的多线程
8.1 购物车系统中可能存在哪些多线程问题?
答:例如多个用户同时登陆系统,多个消费者购买相同的物品等等。
3. 码云上代码提交记录
题目集:异常、多线程(3-1, 3-2, 4-1, 4-2, 4-3)
3.1. 码云代码提交记录
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图