java一些面试题

来源:互联网 发布:考研网络班 编辑:程序博客网 时间:2024/05/16 14:57

1、final、finally、finalize的区别

final是可以声明一个变量和方法,表示在使用中不能被改变,而且必须在声明时、构造器或者代码块中初始化,在以后的代码中只能读,不能修改!final修饰的类也一样不能再派生为一个子类不能和abstract一起使用

finally是抛出异常时的最后执行的代码块

try

{  ............  }catch(){ ............  }finally{ .........   }

finalize是一个垃圾回收器的方法名,它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。注意:finalize不一定被jvm调用,只有当垃圾回收器要清除垃圾时才被调用。

2、java中collection与collections的区别

collections是java.utils中的一个类,包含很多的方法

collection是Java.utils的一个接口,是许多集合的父接口,List,Set继承collection接口,map不是

3、ArrayList与Vector的区别

ArrayList不是线程安全的,Vector是线程安全的即是同步的。

数据增长:当需要增长时,ArrayList增长为原来的一半,而Vector则增长为原来的一倍。

4、hashmap与hashtable的区别

HashMap不是线程安全的,而Hashtable是线程安全的

只有HashMap可以将空值作为一个表的头目的key或value。

Hashtable是基于陈旧的Dictionary类,而HashMap是java1.2引进Map的一个实现。

5、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名类本身就是通过继承类或者接口来实现的。但是不能再显式的extends 或者implements了

6、&和&&的区别
  &是位运算符。&&是布尔逻辑运算符。

7、什么是GC

GC是垃圾收集器,java程序员不用担心内存管理,因为垃圾收集器会自动进行管理,调用System.gc(),

8、SELECT * FROM TABLE 和
  SELECT * FROM TABLE 
  WHERE NAME LIKE '%%' AND ADDR LIKE '%%' 
  AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%' 
  OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' )   的检索结果为何不同?

SELECT * FROM TABLE查出表中所有的数据,而like‘%%’查出的结果不包含空值。即name 有数据,不包含null   2 ,addr 有数据,不包含null      3 ,1_addr,2_addr,3_addr,4_addr 至少其中之一有数据,不包含null

0 0