java 学习笔记

发表于:2007-07-04来源:作者:点击数: 标签:
JAVA的多线程 一、线程基本概念 将1个程序转换成多个独立运行的子任务。每个子任务都叫做一个线程。 “进程”是指一种“自包容”的运行程序。有自己的地址空间。一个进程可以容纳多个同时执行的线程。 事实上,多线程最主要的一个用途就构建1个“反应灵敏”的
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子句的基础类在前,会编译报错。


原文转自:http://www.ltesting.net