【Java基础】 1. JDK包含了JRE,是Java开发工具包,包含了编译器、调试器等工具,而JRE只是Java运行环境,用于执行Java程序。 2. `==`比较的是变量引用是否相同,而`equals()`方法比较的是对象内容是否相等,对于基本类型和String对象尤其需要注意。 3. 不一定。两个对象的`hashCode()`相同并不代表它们相等,只有当`hashCode()`相同且`equals()`也返回true时,两个对象才是等价的。 4. `final`关键字用于声明常量或使类、方法、变量不可改变。 5. `Math.round(-1.5)`会返回-1,因为`round()`方法将浮点数四舍五入到最接近的整数。 6. String不是基础数据类型,它是类,但Java提供了类似基础类型的用法。 7. Java中操作字符串的类有String、StringBuilder和StringBuffer,String是不可变的,StringBuilder和StringBuffer是可变的,后者在多线程环境下更安全。 8. `String str="i"`和`String str=new String("i")`不同,前者是在常量池中创建,后者在堆中创建。 9. 使用`StringBuilder`或`StringBuffer`的`reverse()`方法可以反转字符串。 10. String类的常用方法包括`length()`、`charAt()`、`substring()`、`indexOf()`、`replace()`等。 11. 抽象类不必有抽象方法,但至少有一个抽象方法的类必须声明为抽象类。 12. 普通类可以实例化,有构造器;抽象类不能实例化,通常用于被继承。 13. 抽象类不能声明为`final`,因为`final`表示不能被继承。 14. 接口没有方法体,全由抽象方法组成,可以多继承;抽象类可以有具体方法,只能单继承。 15. Java中的IO流分为字节流和字符流,以及输入流和输出流。 16. BIO是阻塞IO,NIO是非阻塞IO,AIO是异步IO。BIO适合小规模、同步、阻塞的IO操作;NIO适用于大规模、高并发的IO操作;AIO更适合服务端接收大量连接请求。 17. `Files`类提供了许多文件操作的方法,如`createFile()`, `delete()`, `exists()`, `readAllBytes()`等。 【容器】 18. Java容器包括集合框架,如List、Set、Map以及Queue等。 19. Collection是所有集合类的父接口,Collections是针对集合操作的工具类。 20. List有序可重复,Set无序不重复,Map存储键值对。 21. HashMap允许null键和null值,线程不安全;Hashtable不允许null键和null值,线程安全。 22. 使用HashMap追求效率,TreeMap追求有序性(按照键排序)。 23. HashMap基于哈希表实现,插入和查找的平均时间复杂度为O(1)。 24. HashSet内部基于HashMap实现,不存储键值对的值。 25. ArrayList基于动态数组,LinkedList基于双向链表。ArrayList随机访问快,插入删除慢;LinkedList插入删除快,随机访问慢。 26. 使用`ArrayList.addAll()`或`System.arraycopy()`实现数组与List的转换。 27. ArrayList和Vector都是基于数组实现,但ArrayList是非线程安全的,性能更好;Vector是线程安全的,但性能较差。 28. Array是C/C++的概念,指针数组;ArrayList是Java的集合类,存储对象。 29. Queue中,`poll()`移除并返回队头元素,若为空则返回null;`remove()`移除并返回队头元素,若为空则抛出异常。 【多线程】 30. 线程安全的集合类有Vector、Stack、ConcurrentHashMap等。 31. Iterator用于遍历集合,提供`hasNext()`和`next()`方法。 32. Iterator特点是只能单向遍历,不能修改集合元素,否则会抛`ConcurrentModificationException`。 33. Iterator仅用于遍历,ListIterator可以双向遍历,还可以插入和删除元素。 34. 使用`Collections.unmodifiableList()`等方法创建只读集合,或在集合上加`synchronized`关键字。 【多线程继续...】 【反射】 【对象拷贝】 【Java Web】 【异常】 【总结】 本篇涵盖了Java面试中常见的知识点,包括基础语法、容器、多线程、反射、对象拷贝、Java Web、异常处理等多个方面。深入理解这些概念和原理,有助于提升编程能力,为面试和实际工作打下坚实基础。





剩余63页未读,继续阅读


























- 粉丝: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 吴恩达机器学习公开课程作业中文版本及 Python 实现内容
- 论文针对航空发动机控制问题,提出了一种基于切换系统方法的固定时间控制器设计(含详细代码及解释)
- 电力系统电动汽车参与电量与备用市场联合风险调度:基于合约机制与多场景优化的收益最大化模型设计(含详细代码及解释)
- 这篇文章详细探讨了小电流接地系统中单相接地故障选线的新原理和技术实现,旨在解决传统选线方法在面对参数变化和高阻故障时准确率低的问题(含详细代码及解释)
- 基于C语言的码元同步程序
- 解决裂缝型储层压裂后复杂人工裂缝网络难以定量诊断的问题(含详细代码及解释)
- 机器学习基于SVM的糖尿病数据分类模型构建与分析:从数据预处理到模型评估的全流程实践(含详细代码及解释)
- ROS、工业自动化、OpenCV、3D 点云与机器学习在机械臂中的应用
- 【金属增材制造】高强铝合金电弧增材制造工艺研究及优化:从理论建模到工业应用的全面解析(含详细代码及解释)
- 【电力系统调频】基于VMD的储能辅助火电机组二次调频控制策略及容量优化配置研究(含详细代码及解释)
- 2025电赛备赛-Maixcam视觉模块
- 【自然语言处理】基于扩散模型的DiffusionSL序列标注方法:非自回归标签生成与优化usionSL(含详细代码及解释)
- Coursera 平台林轩田教授主讲的机器学习课程
- 【无刷直流电动机】基于PWM调制策略的换相转矩脉动抑制技术实现与分析:三相协同调制算法在全速域的应用(含详细代码及解释)
- 【航空市场竞争结构分析】基于进入与定价决策的计量经济学模型:Python代码实现与反事实分析(含详细代码及解释)



评论0