Java笔试重点:final,finally,finalize与集合类解析

需积分: 3 3 下载量 143 浏览量 更新于2024-07-28 收藏 185KB DOC 举报
"java笔试之九阴真经" Java笔试中涉及的知识点广泛且深入,这里主要探讨几个关键概念:final、finally、finalize的区别,匿名内部类的特性,&和&&的差异,HashMap与Hashtable的不同,以及Collection和Collections的区別,还有关于垃圾收集器(GC)的基本知识。 1. final、finally、finalize的区别: - final:final是一个修饰符,用于声明类、方法或变量。对于类,final表示该类不能被继承;对于方法,final意味着该方法不能被重写;对于变量,final则表示变量一旦初始化后就不能修改。 - finally:在异常处理中,finally块确保无论是否发生异常,都会执行一段代码。它通常用于释放资源或进行必要的清理工作。 - finalize:这是Object类中的一个方法,当垃圾收集器准备回收对象时,会调用该方法进行对象的清理。不过,不应依赖finalize进行资源清理,因为它的工作时机不确定且性能开销大。 2. AnonymousInnerClass(匿名内部类): - 匿名内部类没有名称,可以在需要使用类的地方直接定义。它可以实现接口,但不能直接继承其他类。不过,一个内部类可以作为接口,然后由另一个内部类实现。 3. &和&&的区别: - & 是位运算符,用于按位与操作,它会计算两个操作数的每一位,并返回一个新的位模式。在逻辑表达式中,&也是短路与运算符,只有当第一个操作数为真时,才会计算第二个操作数。 - && 是布尔逻辑运算符,它也是短路与,只有在第一个条件为真时才会评估第二个条件。 4. HashMap和Hashtable的区别: - HashMap是非同步的,允许null键和null值,效率较高,适用于大多数情况。 - Hashtable是同步的,不允许null键和null值,速度相对较慢,适合多线程环境。 5. Collection和Collections的区别: - Collection是接口,它是所有集合类的父接口,定义了集合的基本操作。 - Collections是工具类,提供了许多静态方法,用于对集合进行操作,如排序、搜索、填充等。 6. GC是什么?为什么要有GC? - GC是Garbage Collector的缩写,是Java虚拟机的一部分,负责自动回收不再使用的对象所占用的内存,避免内存泄漏。 - 之所以需要GC,是因为Java程序员无需手动管理内存,这样可以避免因手动内存管理导致的错误,如内存泄漏和悬挂指针。GC使得程序更加健壮和易于维护。 这些知识点是Java笔试中常见的考察点,理解并掌握它们对于Java程序员来说至关重要。在准备面试或笔试时,不仅要记住这些概念,还需要理解其背后的原理和使用场景。