当前位置:首页 > 技术文章 > Java > Java面试题

  • 哪些集合类是线程安全的?
    哪些集合类是线程安全的?
    线程安全的集合类是指在多线程环境下能保证数据一致性和完整性的集合,Java中主要包括Vector、Hashtable、Collections.synchronizedXxx包装集合以及java.util.concurrent包下的并发集合。1.Vector和Hashtable通过方法级别的synchronized实现线程安全,但性能较差;2.Collections.synchronizedXxx提供对非线程安全集合的同步包装,但复合操作仍需外部同步;3.java.util.concurrent包
    Java面试题 . Java 973 2025-08-12 21:19:01
  • ArrayList 和 LinkedList 的区别是什么?
    ArrayList 和 LinkedList 的区别是什么?
    ArrayList基于动态数组,LinkedList基于双向链表;2.ArrayList随机访问快(O(1)),中间插入/删除慢(O(n)且需移动元素);3.LinkedList随机访问慢(O(n)),但插入/删除节点本身为O(1)(查找位置仍O(n));4.频繁读取或遍历时选ArrayList,频繁中间修改选LinkedList;5.ArrayList内存更紧凑,LinkedList每个节点额外存储前后引用;6.LinkedList实现Deque接口,适合用作队列或栈;7.两者均非线程安全,需
    Java面试题 . Java 276 2025-08-11 22:44:01
  • HashMap 和 Hashtable 有什么区别?
    HashMap 和 Hashtable 有什么区别?
    HashMap非线程安全、允许一个null键和多个null值,性能高,适合单线程或外部同步场景;2.Hashtable线程安全、不允许null键或值,性能较低,适用于需内置线程安全的多线程环境;3.ConcurrentHashMap使用分段锁机制,提供更高并发性能,是现代开发中替代Hashtable的首选。
    Java面试题 . Java 598 2025-08-08 12:49:01
  • ArrayList 和 Vector 的区别是什么?
    ArrayList 和 Vector 的区别是什么?
    ArrayList和Vector最核心的区别在于线程安全性:Vector是线程安全的,ArrayList不是;2.Vector因所有方法加synchronized导致性能较差,ArrayList更高效但需手动同步;3.Vector是早期类,API冗长,ArrayList设计更现代且符合List接口规范;4.Vector默认扩容翻倍易浪费内存,ArrayList扩容1.5倍更平衡;5.现代开发推荐用ArrayList配合Collections.synchronizedList、CopyOnWrit
    Java面试题 . Java 777 2025-08-07 18:27:01
  • 说一下 HashSet 的实现原理?
    说一下 HashSet 的实现原理?
    HashSet内部使用HashMap存储元素,元素作为key,值为固定占位符,利用HashMap键的唯一性保证元素不重复;2.其add、remove、contains操作依赖hashCode()和equals()方法正确实现,否则会导致逻辑重复或查找失败;3.性能平均O(1),适用于需快速判断存在性且无需顺序的场景;4.与ArrayList(有序可重复,索引访问快)和TreeSet(有序唯一,O(logn)性能)相比,HashSet在无序唯一集合中查找最快。
    Java面试题 . Java 784 2025-08-06 17:07:01
  • 迭代器 Iterator 是什么?
    迭代器 Iterator 是什么?
    迭代器是一种按需访问集合元素的机制,它通过提供统一接口解决内存效率和通用性痛点;2.可迭代对象(如列表)实现__iter__返回迭代器,迭代器实现__iter__和__next__方法控制遍历过程;3.自定义迭代器需在__next__中返回元素并在耗尽时抛出StopIteration异常,从而实现惰性求值和高效遍历。
    Java面试题 . Java 485 2025-08-05 10:44:01
  • List, Set, Map Z#XÆIT4?
    List, Set, Map Z#XÆIT4?
    List是有序且允许重复的集合,适用于需要索引访问和顺序存储的场景;Set是无序且不允许重复的集合,适用于确保元素唯一性的场景;Map是键值对集合,适用于通过唯一键快速查找值的场景。List常用实现有ArrayList(随机访问快)和LinkedList(插入删除快);Set常用实现有HashSet(快速存取)、LinkedHashSet(保持插入顺序)和TreeSet(有序);Map常用实现有HashMap(高性能)、LinkedHashMap(保持插入顺序)和TreeMap(按键排序)。使用
    Java面试题 . Java 986 2025-08-03 08:06:02
  • lterator 怎么使用?有什么特点?
    lterator 怎么使用?有什么特点?
    迭代器是一种统一访问集合元素的标准接口,1.核心是通过Symbol.iterator获取迭代器对象并调用next()方法返回{value,done}结构;2.for...of循环基于此协议自动遍历可迭代对象如数组、字符串等;3.自定义可迭代对象需实现Symbol.iterator方法且返回含next()的迭代器;4.常见坑是迭代器为一次性使用,遍历完成后需重新获取新实例才能再次遍历,否则将无法获取数据。
    Java面试题 . Java 368 2025-08-01 12:23:01
  • java 容器都有哪些?
    java 容器都有哪些?
    Java容器主要分为Collection和Map两大类:1.Collection用于存储单个对象,包括List(有序可重复,如ArrayList、LinkedList)、Set(无序不重复,如HashSet、TreeSet)和Queue(先进先出,如ArrayDeque、PriorityQueue);2.Map用于存储键值对,key唯一,value可重复,常见实现有HashMap、TreeMap和Hashtable;3.ArrayList基于数组,查询快增删慢,LinkedList基于链表,增删
    Java面试题 . Java 630 2025-07-31 11:33:01
  • 在 Queue 中 poll()和 remove()有什么区别?
    在 Queue 中 poll()和 remove()有什么区别?
    poll()和remove()的核心区别是:队列为空时,remove()抛NoSuchElementException异常,而poll()返回null;2.remove()适用于队列不应为空的场景,用于快速暴露逻辑错误;3.poll()适用于允许队列为空的场景,支持非阻塞、优雅处理空状态;4.Queue接口统一采用两种错误处理风格:抛异常(add/remove/element)或返回特殊值(offer/poll/peek);5.多线程下poll()更安全灵活,尤其在并发队列和阻塞队列中配合tak
    Java面试题 . Java 1053 2025-07-30 14:46:01
  • 如何决定使用 HashMap 还是 TreeMap?
    如何决定使用 HashMap 还是 TreeMap?
    若只需快速存取且无需排序,选HashMap,因其平均O(1)性能优势明显;2.若需按键排序或范围查询,必须选TreeMap,因其支持有序操作如subMap且保证O(logn)稳定性能;3.还需考虑null值处理(HashMap允许null键,TreeMap不允许)、线程安全(两者均非线程安全,应选用ConcurrentHashMap或ConcurrentSkipListMap)及内存开销(TreeMap节点额外指针占用更高)。
    Java面试题 . Java 610 2025-07-29 14:10:02
  • 如何实现数组和 List 之间的转换?
    如何实现数组和 List 之间的转换?
    数组转列表应使用newArrayList(Arrays.asList(array))或Arrays.stream(array).collect(Collectors.toList())创建可修改列表,避免Arrays.asList()返回固定大小列表的坑;2.列表转数组必须用list.toArray(newT[0])保证类型安全,不可直接强转Object[];3.转换常见坑包括Arrays.asList()返回不可变列表和List.toArray()无参方法类型错误;4.性能上小数据量可忽略开销
    Java面试题 . Java 344 2025-07-28 11:30:02
  • Collection 和 Collections 有什么区别?
    Collection 和 Collections 有什么区别?
    Collection是接口,定义集合基本行为;2.Collections是工具类,提供静态方法操作集合;3.常见子接口有List(有序可重复)、Set(无重复)、Queue(FIFO);4.Collections常用功能包括排序、查找、线程安全包装、不可变集合、最值计算;5.分离设计实现职责清晰、代码复用、易于扩展和维护,体现面向接口编程思想。
    Java面试题 . Java 847 2025-07-25 12:13:02
  • Iterator 和 Listlterator 有什么区别?
    Iterator 和 Listlterator 有什么区别?
    Iterator适用于所有Collection子类,仅支持单向遍历和删除;2.ListIterator仅用于List,支持双向遍历、添加、修改元素及获取索引;3.List需要ListIterator因其有序性和索引特性,能实现更灵活的操作如插入、替换和双向移动;4.实际开发中,当需双向遍历、修改元素或获取索引时应优先使用ListIterator;5.常见陷阱包括ConcurrentModificationException(应使用迭代器自身方法修改集合)、remove()调用前必须调用next(
    Java面试题 . Java 187 2025-07-24 09:41:02
  • 说一下 HashMap 的实现原理?
    说一下 HashMap 的实现原理?
    HashMap的实现原理简单来说,就是一个“数组+链表/红黑树”的结构。它通过计算键的哈希值来确定键值对在数组中的位置,如果多个键的哈希值相同(哈希冲突),就将这些键值对以链表或红黑树的形式存储在同一个数组位置。解决方案:HashMap的核心在于如何高效地存储和检索键值对。它使用了哈希表的数据结构,哈希表是一个数组,数组的每个元素被称为桶(bucket)。哈希函数:当你put(key,value)时,HashMap首先会调用key的hashCode()方法计算key的哈希值。这个哈希值会被Has
    Java面试题 . Java 260 2025-07-23 14:23:02

PHP讨论组

组员:3305人话题:1500

PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是

学习途径

工具推荐

jQuery企业留言表单联系代码

jQuery企业留言表单联系代码是一款简洁实用的企业留言表单和联系我们介绍页面代码。
表单按钮
2024-02-29

HTML5 MP3音乐盒播放特效

HTML5 MP3音乐盒播放特效是一款基于html5+css3制作可爱的音乐盒表情,点击开关按钮mp3音乐播放器。
播放器特效
2024-02-29

HTML5炫酷粒子动画导航菜单特效

HTML5炫酷粒子动画导航菜单特效是一款导航菜单采用鼠标悬停变色的特效。
菜单导航
2024-02-29

jQuery可视化表单拖拽编辑代码

jQuery可视化表单拖拽编辑代码是一款基于jQuery和bootstrap框架制作可视化表单。
表单按钮
2024-02-29

MLM营销系统

管理员用户名:xuanfeng管理员密码:888
电商源码
2025-11-09

六七企业网站管理系统(67CMS)2.0

经过一年的开发更新与升级,67CMS2.0版正式上线67cms 2.0的变革1.不再需要授权,商业用户免费使用!!2.栏目分类的级别添加至四级3.单页的级别添加至四级4.新增加人才招聘模块,招聘也可进行分类检索,采用公用的分类调用5.图集采用新的js效果调用6.英文版后台已翻译完毕,可无限添加语言包7.其他N多细节修改,与Bug修复不做详细介绍了
企业站源码
2025-11-09

若冰企业商务平台.net

集企业自助建站、网络营销、商品推广于一体的系统 功能说明: 1、系统采用Microsoft SQL Server大型数据库支持,查询数据库用的全是存储过程,速度和性能极好。开发环境是vs.net,采用4层结构,具有很好的可维护性和可扩冲性。 2、用户注册和登陆 未注册用户只具备浏览商品、新闻和留言功能;要采购商品,需接受服务协议并填写相关注册信息成为正式用户后方可进行,以尽可能减少和避免无效订单,提高管理效率。 3、最新加入商品由系统自动按产品添加日期生成,使网站随时处于更新变化状态,也为老客
电商源码
2025-11-09

08cms企业建站系统 1.0 正式版

08cms企业建站系统是基于08cmsv3.4核心程序,通过系统架构,模板制作,并根据此系统的功能和操作流程进行了代码优化。由08cms官方团队开发。安装链接:install.php、管理后台链接:admina.php日常管理请不要使用创始人帐号(admin),系统内置有内容管理帐号08cms:密码08cms系统特点:1、系统可自动生成静态页面;2、根据企业系统的特点,基于08cms V3.4核心开发的企业系统,对后台的操作界面和流程进行了优化,加强管理员维护站点的使用体验;3、优化前台代码,更利于搜索
企业站源码
2025-11-09

手绘咖啡器具插图矢量素材

手绘咖啡器具插图矢量素材适用于咖啡主题、咖啡教学等相关视觉场景设计的由AI生成的Ai格式素材。
矢量素材
2025-11-09

彩色海洋珊瑚礁合集矢量素材

彩色海洋珊瑚礁合集矢量素材适用于生物科普插图等相关视觉场景设计的由AI生成的Ai格式素材。
矢量素材
2025-11-09

绿色农场主题宣传海报源文件设计下载

绿色农场主题宣传海报源文件设计适用于农场宣传海报设计 本作品提供绿色农场主题宣传海报源文件设计的图片会员免费下载,格式为PSD,文件大小为12.8M; 请使用软件Photoshop进行编辑,作品中文字及图均可以通过软件修改和编辑;
psd素材
2025-11-09

极简风格宠物店商务名片设计下载

极简风格宠物店商务名片设计适用于宠物店商务名片设计 本作品提供极简风格宠物店商务名片设计的图片会员免费下载,格式为PSD,文件大小为1.2M; 请使用软件Photoshop进行编辑,作品中文字及图均可以通过软件修改和编辑;
psd素材
2025-11-09

驾照考试驾校HTML5网站模板

驾照考试驾校HTML5网站模板是一款适合提供驾驶培训和组织驾照考试服务机构宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
前端模板
2025-06-10

驾照培训服务机构宣传网站模板

驾照培训服务机构宣传网站模板是一款适合提供一般驾驶和计划培训的驾校宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
前端模板
2025-01-07

新鲜有机肉类宣传网站模板

新鲜有机肉类宣传网站模板是一款适合提供各种新鲜有机肉类食材宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
前端模板
2025-01-06

HTML5房地产公司宣传网站模板

HTML5房地产公司宣传网站模板是一款适合从事房地产服务行业宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
前端模板
2025-01-06
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号