【译】Java 核心内容相关面试题

原文地址 http://www.instanceofjava.com/2014/12/core-java-interview-questions.htmlhtml

一、什么是 transient 变量?

transient 变量是指不会被序列化的变量。java

二、什么是同步(synchronization)?

在多线程环境中,同步是指控制多个线程访问共享资源的方式。没有同步的话,可能出现一个线程正在读取或使用共享资源,同时另外一个线程却在修改它的状况,这会形成严重的错误。数组

三、在 JDK 1.2 中,stop(), suspend()resume() 这三个方法有什么变化?

它们都被标注为 "deprecated",也就是应该避免使用。多线程

四、null 是一个关键字吗?

不是。this

五、线程中止运行后是什么状态?

线程中止运行后,就变成 DEAD 状态。线程

六、什么是集合 API(Collection API)?

集合 API 是指一组用于帮助处理对象集合的类和接口。code

七、List 接口是作什么的?

List 接口是用来处理有序且容许重复的对象集合的接口。htm

八、Vector 类是作什么的?(译注:如今没人用这个类了)

Vector 是一个可增加的对象数组。对象

九、抽象类能够实例化么?

抽象类不能直接实例化,而只能经过建立其子类对象,来间接实例化。继承

10. Java 程序中用到的第一个关键字是什么?

package

11. 何时应该将类定义为 final

  1. 不但愿有子类的时候;

  2. 不但愿功能被扩展的时候。

12. 可否将抽象方法声明为静态的?

不容许,这样作会致使编译错误:illegal combination of modifiers abstract and static

13. 可否将接口声明为抽象的?

能够。声明接口的时候加不加上 abstract 没有区别。

14. 可否声明一个内容为空的接口?

能够。

15. 可否将接口声明为 final

不容许,这样作会致使编译错误。由于接口必需要有子类。

16. 如何处理 ClassCastException?

在强制类型转换以前用 instanceof 判断是否能够转换。

17. "xyz"是基本型别(Primitive)类型的值吗?

不是,"xyz"是一个字符串,不是基本型别类型的值。

18. 一个对象何时能够被回收(garbage collection)?

当程序不可访问(unreachable)该对象的时候,该对象能够被回收。

19. 全部线程都要实现的一个方法是什么?

run() 方法,不论该线程是继承自 Thread 类或是实现了 Runnable 接口。

20. 当异常没有被捕获时,会发生什么?

当前线程所在的线程组会执行一个叫 uncaughtException() 的方法,最后程序会异常退出。

21. 构造方法中如何使用 this()super()

前者用来调用当前类的其余构造方法;后者用来调用父类的构造方法。

22. 什么状况下垃圾收集器会执行对象的 finalize() 方法?

当垃圾收集器检测到该对象不可访问(unreachable)时,会执行该对象的 finalize() 方法。

23. 方法重载(overloading)有什么要求?

方法的名称必须同样;方法的参数声明必须不同。

24. 编译器什么状况下会提供缺省构造方法(default constructor)?

当一个类没有其余构造方法的时候,编译器会为其提供缺省的构造方法。

25. 非静态内部类可使用哪些修饰符(modifier)?

非静态内部类可使用 finalabstract 修饰符。

相关文章
相关标签/搜索