Java技术支持面试必备知识点总结

需积分: 34 38 下载量 200 浏览量 更新于2024-07-28 收藏 819KB DOC 举报
"Java技术支持面试题" 面试题涵盖了Java基础知识,包括面向对象的特性、数据类型、异常处理、集合框架、内存管理、多线程、类与接口的区别、字符串操作、数学运算以及构造器和switch语句的使用等方面。以下是对这些知识点的详细解释: 1. 面向对象的特征:封装、继承、多态。 2. String不是基本数据类型,而是对象,属于引用类型。 3. int是基本数据类型,Integer是int的包装类,两者在使用和内存分配上有区别,如int无需实例化,Integer则需要。 4. String是不可变的,而StringBuffer是可变的,因此在大量字符串拼接时,StringBuffer更高效。 5. 运行时异常(Unchecked Exception)通常不需显式捕获,而一般异常(Checked Exception)需要捕获或声明抛出。 6. ArrayList、Vector和LinkedList都是List接口的实现,ArrayList和Vector都是基于数组实现,但Vector是线程安全的;LinkedList基于双向链表,适合插入和删除操作。 7. Collection是所有集合接口的父接口,Collections是针对集合类的一个工具类,提供了一系列静态方法用于对集合进行操作。 8. &是位运算符,&&是逻辑运算符,前者总是计算两边的操作数,后者在左操作数为假时,不会计算右操作数。 9. HashMap非线程安全,允许null键值对;Hashtable线程安全,不允许null键值对。 10. final用于声明常量,finally确保代码块始终执行,finalize是对象被垃圾回收前调用的方法。 11. Override重写方法,不能改变返回值类型;Overload重载方法,可以通过参数列表不同进行区分。 12. error是严重错误,通常程序无法恢复,exception是可处理的异常,程序可以继续运行。 13. 同步(Synchronized)确保同一时间只有一个线程访问,适用于多线程环境中的共享资源;异步则允许并发执行,适用于提高并行性。根据具体需求选择使用。 14. abstract class可以有方法实现,interface只能声明方法,不能有实现。抽象类可以有构造器,接口不能。 15. 堆是动态内存区域,存放对象;栈是局部变量和函数调用,执行速度快但空间有限。 16. GC是垃圾收集器,自动回收不再使用的对象以释放内存,避免内存泄漏。 17. shorts1=1;s1=s1+1;会导致编译错误,因为s1+1的结果是int型;s1+=1正确,会自动转换类型。 18. Math.round(11.5)等于12,Math.round(-11.5)等于-11。 19. "Strings=newString("xyz");"创建了1个String对象,"xyz"常量池中可能已有。 20. Java没有goto关键字。 21. 接口可以继承接口,抽象类可以实现接口,但抽象类不能继承实体类(concrete class)。 22. List、Set、Map分别继承自Collection、Set和Map接口。 23. abstract method不能是static、native或synchronized,因为它们的特性与抽象方法相冲突。 24. 数组有length属性,不是方法;String有length()方法。 25. Set中的元素比较使用equals(),不使用==,因为==比较的是引用,equals()比较的是内容。 26. 构造器不能被override,但可以重载;Java中不能继承String类,它是final的。 27. switch不能作用于byte,Java 7及以后版本支持char和枚举类型,Java 14及以后版本支持switch表达式,但不支持long和String。 28. ...(这部分未给出具体问题,省略) 这些题目全面地考察了Java程序员的基础知识和理解深度,是准备Java技术支持面试的重要参考。