Java大数据面试常见问题.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Java 大数据面试常见问题 本文总结了 Java 大数据面试中常见的问题和答案,涵盖了字符串操作、集合框架、HashMap 和 Hashtable 的区别、final、finally 和 finalize 的区别、switch 语句的使用、多线程实现方法、Java 流类型、main 方法的声明、Java 引用和值传递的区别、equals 方法的重写、Java 平台独立性的实现等多个方面,旨在帮助读者更好地掌握 Java 大数据开发的知识点。 1. String 和 StringBuffer 的区别 Java 平台提供了两个类:String 和 StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。String 类提供了数值不可改变字符串,而 StringBuffer 类提供的字符串进行修改。当你知道字符数据要改变的时候,你就可以使用 StringBuffer。典型地,你可以使用 StringBuffers 来动态构造字符数据。 2. ArrayList, Vector, LinkedList 的存储性能和特性 ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢。Vector 由于使用了 synchronized 思路方法(线程安全),通常性能上较 ArrayList 差。而 LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项前后项即可,所以插入速度较快。 3. HashMap 和 Hashtable 的区别 HashMap 是 Hashtable 的轻量级实现(非线程安全的实现),它们都完成了 Map 接口,主要区别在于 HashMap 允许空(null)键值(key),由于非线程安全,效率上可能高于 Hashtable。HashMap 允许将 Null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。HashMap 把 Hashtable 的 contains 思路方法去掉了,改成 containsValue 和 containsKey,因为 contains 思路方法容易让人引起误解。 4. final, finally, finalize 的区别 final 用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally 是异常处理语句结构的一部分,表示总是执行。finalize 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 5. switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上? switch 中只能用 byte, short, int, char。 6. 多线程有几种实现方法,都是什么?哪一种方式比较优秀? 多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口。实现 Runnable 接口比较好,因为实现类可以实现多个接口,而只能继承一个类。 7. Java 中有几种类型的流?JDK 为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 字节流,字符流。字节流继承于 InputStream/OutputStream,字符流继承于 Reader/Writer。 8. 如果 main 方法被声明为 private 会怎样? 答案:能正常编译,但运行的时候会提示”main 方法不是 public 的”。 9. Java 里的传引用和传值的区别是什么? 答案:传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。 10. 如果要重写一个对象的 equals 方法,还要考虑什么? 答案:hashCode。 11. Java 的”一次编写,处处运行”是如何实现的? 答案:Java 程序会被编译成字节码组成的 class 文件,这些字节码可以运行在任何平台,因此 Java 是平台独立的。 12. 说明一下 public static void main(String args[])这段声明里每个关键字的作用 答案:public: main 方法是 Java 程序运行时调用的第一个方法,因此它必须对 Java 环境可见。所以可见性设置为 public。static: Java 平台调用这个方法。
- 粉丝: 1w+
- 资源: 6万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助