JavaSE复习(三)异常与多线程】的更多相关文章

△子父类涉及的异常问题:      1.子类在覆盖方法时,父类的方法如果抛出了异常,那么子类的方法只能抛出父类的异常或者该异常的子类,且只能抛出异常的子集      2.如果父类抛出了多个异常,子类只能抛出父类异常的子集,如果父类的方法没有抛出异常,那么子类重写方法时一定不能抛,只能捕捉 △throw和throws:      1.throw声明在方法内部,抛出的是异常的对象.      2.throws生命在方法上,抛出的是异常类 △编译异常和运行时异常:编译异常必须对其进行处理,而运行时异常…
1.异常的体系结构  注:Throwable是一个类,不是一个接口,这个类里面是描述的一些Error和Exception的共性,如图所示: 异常 / 错误是什么意思? 定义:指的是程序运行过程中,可能会发生一些不被期望的效果,它会阻止我们的程序按照指令去执行 而这种不被预期出现的结果,肯定需要抛出来告诉我们 而在java中,有一个定义好的规则--就是前面所提到的:Throwable( 意思是:可抛出的 ) Error又是什么意思? 错误:指的是物理上的问题,如:JVM虚拟机本身的问题 Excep…
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图开始讲起.线程状态转换图.图很简单不要想得太复杂.了解了线程的基本的生命周期,那么我们要使用好它,就离不开了经常使用的几个方法:先来一段代码: public class TestSleep { public static void main(String[] args){ MyThread t =…
线程其实就是程序执行的一条路径,一个进程中可以包含多条线程,多线程并发执行可以提高程序效率,可以同使完成多项任务 多线程的应用场景 迅雷多线程一起下载 服务器同时处理多个客户请求 多线程原理(单核CPU) 在电脑上运行多个程序时,其实cpu一次只能做一个事,做一段时间后然后换另一个另一个做一段时间,只是cpu的速度太快了,看起来就是同时做很多事,也就是说多线程其实只是表面上的多线程,底层cpu还是一次只能做一个事,但是这有个前提,那就是那个cpu是单核cpu,如果事多核cpu,那么就可以真正的达…
异常 分类 编译时期异常:checked异常. 在编译时期,就会检查,如果没有处理异常,则编译失败.(如日期格式化异常) 运行时期异常:runtime异常. 在运行时期,检查异常.在编译时期,运行异常不会编译器检测(不报错).(如数学异常) 处理 五个关键字:try,catech,finally,throw,throws 捕获异常try-catch try{ 编写可能会出现异常的代码 }catch(异常类型 e){ 处理异常的代码 //记录日志/打印异常信息/继续抛出异常 } finally 代…
△wait()和sleep()的区别:  1.wait():没有等待时间,而sleep()需要有等待时间作为参数.  2.在同步中对于CPU的执行权和锁的处理不同:   wait()会释放执行权和锁.醒来后需要重新竞争锁.   sleep():释放执行权和,不会释放锁 void show(){ Synchronized(this){ wait() //可以同时有三个线程在此等待.只有拿到锁后,才能继续向下运行 } } void start(){ notifyAll(); //唤醒后,三个线程都具…
/* * Java也学了好久了,抽个时间整理了一下课堂笔记,也有些是我刚开始学会犯的一些错误.在这里浅谈一下JavaSE的基础内容,对我来说也是一种不错的复习方式. * * 那好,对于初学者来说,学习java基础需要准备些什么呢? * 首先,你得安装java和vim(编辑软件,我目前学习所用的); * 其次需要对安装好的软件进行一些配置(如环境变量)和测试,这里就不多说了; * * 如果这些都已经做好,就已经可以进行java的编码操作了: * 首先先创建一个文本文档,将名字改为'*.java'的…
之前匆匆忙忙学完了java,后来又接着学习ee,然而,越是想要快一点最后反而会更慢一点.因为匆忙间 我几乎什么都没学会.在后面的学习中实在非常吃力.就把javase 的视频大部分又重新看了一遍.真的收获挺大的.但是我有一个坏毛病,心浮气躁,还是在赶进度.于是好不容易理解的东西又快忘了.se已经复习完.赶快整理一下. 1.方法的重载: 方法的重载是方法名相同,方法的参数列表不同(参数的个数不同或者参数的类型不同,或者两者都不相同).与返回值类型无关. 这里可以想到:类的有参和无参构造方法就用到了重…
一.ConcurrentModificationException ArrayList源码看为什么出现异常: public class ArrayList<e> extends AbstractList<e> implements Cloneable, Serializable, RandomAccess { @Override public boolean remove(Object object) { Object[] a = array; int s = size; if (…
C++异常处理和RTTI技术 20130930 1.异常处理的基本知识 C语言中是没有内置运行时错误处理机制,对于错误发生的时候使用的几种处理机制: 函数返回彼此协商后统一定义的状态编码来表示操作成功.失败或者是其他类型的错误:使用全局变量来保存错误编码,每一个使用到他的函数在开始的时候都会检查他的值,并且每一个函数的操作结果都会写到这个全局变量中,如使用errno表示任何一个函数调用返回后产生的错误码:出错的时候终止程序的运行. 但是这些传统的方法村下载一些问题:没有形成统一的标准:将正常的代…