background image

finalize 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,
可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

5、 JAVA 中多线程有几种实现方法? 线程同步有几种实现方法,都是什么?
多线程有两种实现方法,分别是继承

Thread 类与实现 Runnable 接口

同步的实现方面有两种,分别是

synchronized,wait 与 notify

6、当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的
其它方法

?

不能,一个对象的一个

synchronized 方法只能由一个线程访问。

7、sleep() 和 wait() 有什么区别?

sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他

线程,但是监控状态依然保持,到时后会自动恢复。调用

sleep 不会释放对象锁。

wait 是 Object 类的方法,对此对象调用 wait 方法导致本线程放弃对象锁,进入等待此对
象的等待锁定池,只有针对此对象发出

notify 方法(或 notifyAll)后本线程才进入对象锁

定池准备获得对象锁进入运行状态
8、java 中有几种类型的流?JDK 为每种类型的流提供了一些抽象类以供继承,请说出他
们分别是哪些类?

字节流,字符流。字节流继承于

InputStream OutputStream,字符流继承于

InputStreamReader OutputStreamWriter。

9、java 中实现多态的机制是什么?

方法的重写

Overriding 和重载 Overloading 是 Java 多态性的不同表现。重写 Overriding 是

父类与子类之间多态性的一种表现,重载

Overloading 是一个类中多态性的一种表现。

10、JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally 分别代表什么意
义?在

try 块中可以抛出异常吗?

Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类, 并提供了良好的
接口。在

Java 中,每个异常都是一个对象,它是 Throwable 类或其它子类的实例。当一

个方法出现异常后便抛出一个异常对象,该对象 中包含有异常信息,调用这个对象的方
法可以捕获到这个异常并进行处理。

Java 的异常处理是通过 5 个关键词来实现的:try、

catch、throw、 throws 和 finally。一般情况下是用 try 来执行一段程序,如果出现异常,
系统会抛出(

throws)一个异常,这时候你可以通过它的类型来捕 捉(catch)它,或最

后(

finally)由缺省处理器来处理。