并发和并行
并发: (交替执行) 指两个或多个事件在"同一时间段内"发生
并行: (同时执行) 指两个或多个事件在"同一时刻"发生 (同时发生)
进程: 一个应用程序在内存中的一次执行过程
每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程 进程也是程序的一次执行过程,是系统运行程序的基本单位 系统运行一个程序即是一个进程从创建、运行到消亡的过程
每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程 进程也是程序的一次执行过程,是系统运行程序的基本单位 系统运行一个程序即是一个进程从创建、运行到消亡的过程
异常的两种处理方式
throw 声明抛出,交给方法调用者处理
在方法内,try---catch--finally捕获并直接处理
异常: 指的是程序在执行过程中, 出现的非正常的情况, 最终会导致JVM的非正常停止
在Java中, 每种异常都有对应的"类"来描述. 发生了一个异常, 就是出现了这个异常类的"对象" 异常不是语法错误
throw制作异常
1. throw 必须写在方法的内部
2. throw 后面new的异常对象, 必须是 "Exception" 或 "Excetion的子类" 的对象
3. 一个方法内部 throw 了一个异常对象, 则该方法可以分为2种情况来处理该异常:
如果 throw 的是"运行时异常"(RuntimeException及其子类)对象, 那么可以不处理
该异常最终会交给JVM处理, 结果就是: 打印异常信息到控制台, 并立刻结束程序
如果 throw 的是"编译时异常"(Exception及其子类), 则必须处理:
处理方式1: throws 抛出
处理方式2: try...catch 捕获
格式: throw new 异常类名("异常原因字符串");
try,catch捕获异常
注意:
1. try 中可能会抛出多种异常, 就可以写多个 catch 分别处理每种异常
2. 如果 try 中产生了异常, 就会从产生异常的那一行代码直接跳转到对应的 catch 中执行处理代码, 然后 继续执行 try...catch 之后的其他代码; 如果 try 中没有产生异常, 那就不会执行 catch , 执行完 try 中 的代码后, 继续执行 try...catch 之后的其他代码
1. 多个异常分别 try...catch 处理
2. 一个 try 多个 catch
如果异常存在继承关系, 子类异常在上, 父类异常在下
3. 多个异常, 一次捕获一次处理 用Exception多态捕获
finally代码块
1. finally 必须和 try...catch 一起使用
2. finally 一般用于释放资源 (IO流时用到)
|