⑵java面试笔试题大汇总很全面.doc

preview
需积分: 0 21 下载量 180 浏览量 更新于2008-05-23 收藏 520KB DOC 举报
在Java编程语言中,面试和笔试题经常涉及各种核心概念和技术。以下是对这些知识点的详细解释: 1. **final, finally, finalize的区别**: - `final`:用于声明一个变量不可变,一个类不能被继承,或者一个方法不能被重写。 - `finally`:用于异常处理,无论是否发生异常,`finally`块中的代码总会被执行。 - `finalize`:是Object类的一个方法,用于在对象被垃圾收集之前执行清理工作,但不保证一定会调用。 2. **匿名内部类**: - 可以继承其他类或实现接口。匿名内部类通常用于简化代码,创建临时的、简单的类实现。 3. **Static Nested Class 和 Inner Class的区别**: - Static Nested Class(静态嵌套类)不持有对外部类的引用,可以直接创建实例,可以声明为静态成员。 - Inner Class(内部类)持有对外部类的隐含引用,需要外部类实例才能创建,不能声明为静态成员。 4. **&和&&的区别**: - `&`是位运算符,用于按位与操作;在逻辑表达式中,`&`两边的表达式都会被计算。 - `&&`是逻辑与运算符,如果左侧表达式为假,不会计算右侧表达式,这是一种短路逻辑运算。 5. **HashMap和Hashtable的区别**: - HashMap是非同步的,而Hashtable是同步的,因此在多线程环境下,Hashtable更安全。 - HashMap允许null键和null值,而Hashtable不允许。 6. **Collection 和 Collections的区别**: - Collection是所有集合框架的顶级接口,代表一组元素。 - Collections是工具类,提供了一系列静态方法,用于对集合进行操作,如排序、查找、填充等。 7. **assert**: - 用于断言,用于在开发阶段检查程序的状态,生产环境中默认关闭。 8. **GC(Garbage Collector)**: - GC是Java自动内存管理机制,负责回收不再使用的对象占用的内存,避免内存泄漏。 9. **String s = new String("xyz")创建了几个String Object?**: - 创建了两个对象,一个在常量池,一个在堆内存。 10. **Math.round(11.5)和Math.round(-11.5)**: - Math.round(11.5)返回12,Math.round(-11.5)返回-11。 11. **short s1 = 1; s1 = s1 + 1;和s1 += 1;**: - 前者会创建一个新的int对象,可能导致编译错误,因为int不能直接赋值给short。 - 后者是复合赋值操作,会自动类型转换,是合法的。 12. **sleep() 和 wait()的区别**: - sleep()是Thread类的方法,使当前线程暂停指定时间,不会释放锁。 - wait()是Object类的方法,使线程等待,释放对象的锁,直到被notify()或notifyAll()唤醒。 13. **Java是否有goto**: - Java中没有goto关键字,其设计原则之一是避免无尽的循环和复杂的控制流。 此外,面试中还会涉及到面向对象的四大特性:抽象、继承、封装和多态。例如,抽象关注的是接口而非实现,继承允许类之间的层次关系,封装确保数据安全,多态允许不同的对象对相同的消息做出反应。在Java中,String不是基本数据类型,而是对象,而Integer是int的封装类,提供了一些额外功能。int和Integer在存储和性能上有所不同。String和StringBuffer的区别在于,String是不可变的,而StringBuffer是可变的,适合在字符串频繁修改的情况下使用。运行时异常和一般异常在处理方式上不同,运行时异常无需显式捕获。Servlet的生命周期包括加载、初始化、服务、销毁等阶段,与CGI相比,Servlet更高效,因为CGI每次请求都会创建新的进程,而Servlet是在服务器进程中持续存在的。 这些知识点涵盖了Java基础、集合框架、异常处理、并发编程以及Web开发等多个领域,是面试中常见的考察点。理解并掌握这些概念对于成为一名合格的Java开发者至关重要。
yean342
  • 粉丝: 4
  • 资源: 6
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源