java 面试题

来源:互联网 发布:信息学奥赛c语言试题 编辑:程序博客网 时间:2024/06/12 19:28

一、谈谈final、finally、finalize的区别

        final 用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

        finally 是异常处理语句结构的一部分,表示总是执行。

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

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

        可以继承其他类或完成其他接口,在swing编程中常用此方法。

三、静态内部类和内部类的不同,说的越多越好

        静态内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化

四、&和&&的区别

        &是位运算符,表示按位与运算,&&是逻辑运算符,短路与,表示逻辑与

五、HashMap和Hashtable的区别

        HashMap是hashtable的轻量级实现(非线程安全的实现),他们都完成了map接口,主要区别在于hashmap允许空(null)键值(key),由于非线程安全,效率上可能高于hashtable。

六、Collection和collections的区别

        Collection是集合类的上级接口,继承于它的接口主要有Set和List。

        Collections是针对于集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

七、GC是什么?为什么要有GC?

        GC是垃圾收集的意思(gabage collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的。

        Java语言没有提供释放已分配内存的显示操作方法