没有合适的资源?快使用搜索试试~ 我知道了~
我们的Java面试资料是专门为Java开发者准备的全面指南,旨在帮助您在面试过程中脱颖而出,展示您的技术能力和经验。以下是我们Java面试资料的亮点和好处: 全面而深入的覆盖:我们的Java面试资料涵盖了Java编程语言的各个方面,包括基础知识、面向对象编程、多线程、集合框架、异常处理、IO操作、数据库连接、设计模式等。无论您是初学者还是经验丰富的开发者,我们的资料都将为您提供全方位的面试准备。 实战案例和问题集:我们的资料提供了大量实际案例和面试问题,让您可以通过解决实际问题来巩固和应用所学的知识。这将帮助您更好地理解Java的应用场景和解决方案,并为您在面试中展示解决问题的能力和创新思维。 重点关注面试热点:我们的资料密切关注当前面试的热点和趋势,包括Java 8新特性、函数式编程、微服务架构、云计算等。这将使您对当前行业发展趋势有更深入的了解,并在面试中表现出对新技术和新概念的理解和运用能力。 专业的面试策略和技巧:我们的资料还提供了一些专业的面试策略和技巧,例如如何回答常见的Java面试问题、如何处理技术挑战、如何在面试中展示项目经验和解决问题的能力等。
资源推荐
资源详情
资源评论
集合框架
1. ArrayList 和 Vector 的区别。
这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集
合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我
们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是
HashSet 之类的集合的最大不同处,HashSet 之类的集合不可以按索引号去检索其
中的元素,也不允许有重复的元素(本来题目问的与 hashset 没有任何关系,但为了
说清楚 ArrayList 与 Vector 的功能,我们使用对比方式,更有利于说明问题)。接
着才说 ArrayList 与 Vector 的区别,这主要包括两个方面。
• 同步性:
Vector 是线程安全的,也就是说是它的方法之间是线程同步的,而 ArrayList 是线
程序不安全的,它的方法之间是线程不同步的。如果只有一个线程会访问到集合,那
最好是使用 ArrayList,因为它不考虑线程安全,效率会高些;如果有多个线程会访问
到集合,那最好是使用 Vector,因为不需要我们自己再去考虑和编写线程安全的代
码。
备注:对于 Vector&ArrayList、Hashtable&HashMap,要记住线程安全的问题,
记住 Vector 与 Hashtable 是旧的,是 java 一诞生就提供了的,它们是线程安全
的,ArrayList 与 HashMap 是 java2 时才提供的,它们是线程不安全的。所以,我
们讲课时先讲老的。
• 数据增长:
ArrayList 与 Vector 都有一个初始的容量大小,当存储进它们里面的元素的个数超
过了容量时,就需要增加 ArrayList 与 Vector 的存储空间,每次要增加存储空间
时,不是只增加一个存储单元,而是增加多个存储单元,每次增加的存储单元的个数
在内存空间利用与程序效率之间要取得一定的平衡。Vector 默认增长为原来两倍,而
ArrayList 的增长策略在文档中没有明确规定(从源代码看到的是增长为原来的 1.5
倍)。ArrayList 与 Vector 都可以设置初始的空间大小,Vector 还可以设置增长的
空间大小,而 ArrayList 没有提供设置增长空间的方法。
总结:即 Vector 增长原来的一倍,ArrayList 增加原来的 0.5 倍。
2. 说说 ArrayList,Vector, LinkedList 的存储性能和特性。
ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数
据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组
元素移动等内存操作,所以索引数据快而插入数据慢,Vector 由于使用了
synchronized 方法(线程安全)。
通常性能上较 ArrayList 差,而 LinkedList 使用双向链表实现存储,按序号索引数
据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插
入速度较快 。
ArrayList 在查找时速度快,LinkedList 在插入与删除时更具优势。
3. 快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么?
Iterator 的安全失败是基于对底层集合做拷贝,因此,它不受源集合上修改的影响。
java.util 包下面的所有的集合类都是快速失败的,而 java.util.concurrent 包下面的
所有的类都是安全失败的。快速失败的迭代器会抛出
ConcurrentModificationException 异常,而安全失败的迭代器永远不会抛出这样的
异常。
4. hashmap 的数据结构。
在 java 编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针
(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap 也不例
外。Hashmap 实际上是一个数组和链表的结合体(在数据结构中,一般称之为 “链
表散列 “)
剩余11页未读,继续阅读
资源评论
数据搜集者
- 粉丝: 27
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功