Java 基础笔试题目
1.
Java 中的异常处理机制的简单原理和应用。 当 java 程序违反了 java 的语义规则时,java 虚拟机就会将发生的错误表示为一个异常。违 反语义规则包括 2 种情况。一种是 java 类库内置的语义检查。例如数组下标越界,会引发 indexoutofboundsexception;访问 null 的对象时会引发 nullpointerexception。另一种情况就是 java 允许程序员扩展这种语义检查, 程序员可以创建自己的异常, 并自由选择在何时用 throw 关键字引发异常。所有的异常都是 java.lang.thowable 的子类。 2. 在 java 中,程序员能否实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收? java 语言中一个显著的特点就是引入了垃圾回收机制,使 c++程序员最头疼的内存管理的问 题迎刃而解,它使得 java 程序员在编写
程序的时候不再需要考虑内存管理。由于有个垃圾 回收机制,java 中的对象不再有“作用域”的概念,只有对象的引用才有“作用域” 。垃圾 回收可以有效的防止内存泄露, 有效的使用可以使用的内存。 垃圾回收器通常是作为一个单 独的低级别的线程运行, 不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对 象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回 收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 3. error 与 exception 有什么区别? error 表示系统级的错误和程序不必处理的异常, exception 表示需要捕捉或者需要程序进行处理的异常。 4. 在 java 中一个类被声明为 final 类型,表示了什么意思? 表示该类不能被继承,是顶级类。 5 下段脚本是否有错?如有错,请指出;若无错,请说明输出内容。 1)class Something { 2)int i; 3)public void doSomething() { 4)System.out.println("i = " + i); 5)} 6)} 正确。输出的是"i = 0"。int i 属於 instant variable (实例变量,或叫成员变量)。instant variable 有 default value。int 的 default value 是 0。 6 谈谈 final, finally, finalize 的区别。 final—修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类, 不能作为父类被继承。因此一个类不能既被声明为 abstract 的,又被声明为 final 的。将变 量或方法声明为 final,可以保证它们在使用中不被改变。被声明为 final 的变量必须在声明 时给定初值,而在以后的引用中只能读取,不可修改。被声明为 final 的方法也同样只能使
用,不能重载。 finally—异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相 匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话) 。 finalize—方法名。 java 技术允许使
用 finalize() 方法在垃圾收集器将对象从内存中清除 出去之前做必要的清理工作。 这个方法是由垃圾收集器在确定这个对象没有被引用时对这个 对象调用的。它是在 object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方 法以整理
系统资源或者执行其他清理
工作。finalize() 方法是在垃圾收集器删除对象之前对 这个对象调用的。 7 &;和&;&;的区别。 &;是位运算符。&;&;是布尔逻辑运算符。 gc 是什么? 程序中如何调用 gc? 。 gc 是垃圾收集器。java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。 要请求垃圾收集,可以调用下面的方法之一: system.gc() runtime.getruntime().gc() 8 9 math.round(11.5)等於多少? math.round(-11.5)等於多少? math.round(11.5)返回(long)12,math.round(-11.5)返回(long)-11; 10 short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1;有错,s1 是 short 型,s1+1 是 int 型,不能显式转化为 short 型。 可修改为 s1 =(short)(s1 + 1) 。short s1 = 1