java 学习笔记
类别: JAVA教程
JAVA的多线程
一、线程基本概念
将1个程序转换成多个独立运行的子任务。每个子任务都叫做一个线程。
“进程”是指一种“自包容”的运行程序。有自己的地址空间。一个进程可以容纳多个同时执行的线程。
事实上,多线程最主要的一个用途就构建1个“反应灵敏”的用户界面。
二、线程的使用
1、 创建一个线程
最简单的方法就是从Thread类继承这个类,包含了创建和运行线程所需的一切东西。
Thread最重要的是run方法,继承类必须对之进行重载,使其按自己的意愿来做事。
2、线程的几个重要方法
(1) run方法
用start方法激活线程时,线程要运行的方法
(2) start方法
当线程创建后,处于待命状态,只有调用start方法才能激活,使之运行
(3) setpriority方法
设置线程的优先级,例:Thead.setpriority(5).
优先级高的线程先执行。
Java 的Error Handing with Exceptions
一、例外机制
1、 强制捕获错误
2、 便于将业务逻辑代码与例外控制代码分开。
二、基本的违例
1、 要区分“例外条件”(exceptional condition)与“普通问题”
1) 例外条件:没有足够的上下文来处理出现的问题。
2) 普通问题:有足够上下文来处理问题
2、 仍出一个例外时,Java将要做的事:
1) 在堆中,用new创建一个例外对象(exception object)
2) 程序停止正常的运行,并由例外控制器(exception handler)来解决发生的问题。
3、 Throwable对象
针对不同的错误类型,要求throw 不同的例外处理对象。
错误的信息在throwable 对象及throw 例外对象的对象中保存。
三、例外的捕获
1、 假如一个方法throw一个例外,它必须假定这个例外将被捕获(catch).
2、 警戒区域(guarded region)
可能出现例外的code region
try
{
guarded region
}
你可以将要检查错误的代码置于try块中,并在随后捕获可能出现的错误。
3、例外控制器(Exception Handlers)
try
{
//code that might generate exceptions
}
catch(Type id1)
{
//Handle exceptions of Type1
}
catch (Type id2)
{
//Hand exceptions of Type2
}
//etc
说明:有时catch clause 的参数在程序中并没有使用,但参数仍必须给出。
四、例外标准(规范)
1、 如果类的一个方法中,可能会“掷”出异常,则在类方法的定义时,要说明违例类型。
void f() throws tooBig,tooSmall,divZero
{
}
2、 如果一个方法声明时带了“throws”声明,则调用者必须对异常进行捕获,这是Java编译器所强制的。
3、即使,在方法中你实际没有“掷出”异常,你仍可以用”throws”关键字。
五、异常处理的几点说明
1、可以在一个abstract class类的方法声明中使用throws关键字
2、如果方法声明中带throws参数,调用者必须对之捕获。
3、catch 子句 :catch (异常类 异常类变量)
4、当重载一个方法时,你只能throw基础类中定义的异常类型。
这种限制,不适合类的构造函数。
5、违例匹配
(1) 掷出一个异常后,异常控制系统会按当初编写的顺序搜索最近的控制器
(2) 一个衍生类对象可与基础类的一个控制器相匹配
(3) 如果catch子句的基础类在前,会编译报错。
一、线程基本概念
将1个程序转换成多个独立运行的子任务。每个子任务都叫做一个线程。
“进程”是指一种“自包容”的运行程序。有自己的地址空间。一个进程可以容纳多个同时执行的线程。
事实上,多线程最主要的一个用途就构建1个“反应灵敏”的用户界面。
二、线程的使用
1、 创建一个线程
最简单的方法就是从Thread类继承这个类,包含了创建和运行线程所需的一切东西。
Thread最重要的是run方法,继承类必须对之进行重载,使其按自己的意愿来做事。
2、线程的几个重要方法
(1) run方法
用start方法激活线程时,线程要运行的方法
(2) start方法
当线程创建后,处于待命状态,只有调用start方法才能激活,使之运行
(3) setpriority方法
设置线程的优先级,例:Thead.setpriority(5).
优先级高的线程先执行。
Java 的Error Handing with Exceptions
一、例外机制
1、 强制捕获错误
2、 便于将业务逻辑代码与例外控制代码分开。
二、基本的违例
1、 要区分“例外条件”(exceptional condition)与“普通问题”
1) 例外条件:没有足够的上下文来处理出现的问题。
2) 普通问题:有足够上下文来处理问题
2、 仍出一个例外时,Java将要做的事:
1) 在堆中,用new创建一个例外对象(exception object)
2) 程序停止正常的运行,并由例外控制器(exception handler)来解决发生的问题。
3、 Throwable对象
针对不同的错误类型,要求throw 不同的例外处理对象。
错误的信息在throwable 对象及throw 例外对象的对象中保存。
三、例外的捕获
1、 假如一个方法throw一个例外,它必须假定这个例外将被捕获(catch).
2、 警戒区域(guarded region)
可能出现例外的code region
try
{
guarded region
}
你可以将要检查错误的代码置于try块中,并在随后捕获可能出现的错误。
3、例外控制器(Exception Handlers)
try
{
//code that might generate exceptions
}
catch(Type id1)
{
//Handle exceptions of Type1
}
catch (Type id2)
{
//Hand exceptions of Type2
}
//etc
说明:有时catch clause 的参数在程序中并没有使用,但参数仍必须给出。
四、例外标准(规范)
1、 如果类的一个方法中,可能会“掷”出异常,则在类方法的定义时,要说明违例类型。
void f() throws tooBig,tooSmall,divZero
{
}
2、 如果一个方法声明时带了“throws”声明,则调用者必须对异常进行捕获,这是Java编译器所强制的。
3、即使,在方法中你实际没有“掷出”异常,你仍可以用”throws”关键字。
五、异常处理的几点说明
1、可以在一个abstract class类的方法声明中使用throws关键字
2、如果方法声明中带throws参数,调用者必须对之捕获。
3、catch 子句 :catch (异常类 异常类变量)
4、当重载一个方法时,你只能throw基础类中定义的异常类型。
这种限制,不适合类的构造函数。
5、违例匹配
(1) 掷出一个异常后,异常控制系统会按当初编写的顺序搜索最近的控制器
(2) 一个衍生类对象可与基础类的一个控制器相匹配
(3) 如果catch子句的基础类在前,会编译报错。
- 上一篇: Java JDBC连接的一个例子
- 下一篇: 初学java应该注意的地方
-= 资 源 教 程 =-
文 章 搜 索