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

  • 怎么防止死锁?
    怎么防止死锁?
    死锁的四个必要条件是互斥、占有且等待、不可剥夺和循环等待,只有当这四个条件同时满足时才会发生死锁。因此,破坏其中任一条件即可预防死锁。互斥指资源一次只能被一个线程占用;占有且等待指线程持有资源的同时还在申请新资源;不可剥夺指线程未释放资源前不能被强行夺走;循环等待指多个线程形成等待环路。为预防死锁,可采用资源排序法,即规定线程必须按固定顺序申请资源,从而打破循环等待。例如,始终先获取lockA再获取lockB,避免交叉持有。但该方法需预先定义资源顺序,在复杂或动态系统中可能难以实施。另一种方法是
    Java面试题 . Java 236 2025-10-30 11:52:02
  • 如何做mysql 的性能优化?
    如何做mysql 的性能优化?
    答案:MySQL性能优化需从慢查询日志分析入手,结合索引优化、SQL语句优化、数据库结构优化、配置参数调整及硬件升级等手段,通过监控QPS、TPS等指标评估效果,并根据实际场景选择合适的存储引擎与主从复制、读写分离方案以提升整体性能。
    Java面试题 . Java 355 2025-10-30 10:55:01
  • rabbitmq 有哪些重要的角色?
    rabbitmq 有哪些重要的角色?
    生产者通过publisherconfirms机制确保消息可靠发送,交换机类型包括Direct、Fanout、Topic和Headers,分别用于精确匹配、广播、模式匹配和头部匹配路由,保证消息顺序需将相关消息发送至同一队列并由同一消费者处理。
    Java面试题 . Java 766 2025-10-30 10:28:02
  • java 中.Iterator 和 ListIterator 有什么区别?
    java 中.Iterator 和 ListIterator 有什么区别?
    ListIterator是Iterator的增强版,支持双向遍历、元素增删改及索引获取,仅适用于List集合;Iterator为单向遍历,通用性强,适用于所有Collection集合。
    Java面试题 . Java 161 2025-10-29 10:29:02
  • 创建线程有哪几种方式?
    创建线程有哪几种方式?
    创建线程主要有三种方式:继承Thread类、实现Runnable接口、使用Callable与ExecutorService线程池。继承Thread类简单但受限于单继承,不利于扩展;实现Runnable接口更灵活,实现任务与线程分离,推荐使用;Callable配合ExecutorService可获取返回值和异常处理,结合线程池提升系统性能与稳定性,适用于高并发场景。线程池通过复用线程降低开销,提高响应速度和资源管理能力,是现代Java并发编程的首选方案。
    Java面试题 . Java 608 2025-10-29 09:29:02
  • 什么是 spring boot?
    什么是 spring boot?
    SpringBoot通过自动配置、内嵌服务器、起步依赖和生产就绪特性实现开箱即用,1.根据依赖智能配置组件,2.内置Tomcat等服务器直接运行jar,3.提供starter简化依赖管理,4.通过Actuator支持监控与运维,提升开发效率。
    Java面试题 . Java 310 2025-10-29 08:24:02
  • Java中如何实现跨域?
    Java中如何实现跨域?
    解决跨域问题的核心是服务器支持CORS,常见Java实现方式包括:1.使用Filter添加CORS响应头,适用于所有JavaWeb项目;2.SpringBoot中用@CrossOrigin注解在Controller或方法上启用跨域;3.配置WebMvcConfigurer的addCorsMappings全局管理跨域规则,推荐生产环境使用;4.通过Nginx反向代理使前后端同源,规避跨域。选择方案需结合技术栈与部署结构,注意处理OPTIONS预检请求和凭证传递。
    Java面试题 . Java 413 2025-10-28 08:49:01
  • java 中并行和并发有什么区别?
    java 中并行和并发有什么区别?
    并发是任务交替执行,关注资源共享与协调,通过线程实现;并行是任务同时执行,利用多核提升效率,适用于计算密集型场景。
    Java面试题 . Java 729 2025-10-28 08:17:02
  • redis 是什么?都有哪些使用场景
    redis 是什么?都有哪些使用场景
    Redis典型应用场景包括缓存、会话管理、消息队列、计数器、排行榜和地理位置服务;其中缓存通过存储热点数据减轻数据库压力,会话管理利用Redis集中存储实现集群环境下的会话共享,消息队列可通过列表或发布/订阅模式实现简单异步通信,计数器依赖原子操作确保准确性,排行榜使用有序集合按分数排序,地理位置服务则借助Geospatial功能支持LBS应用。
    Java面试题 . Java 788 2025-10-27 08:32:02
  • get()和 load()的区别?
    get()和 load()的区别?
    get()立即查询数据库,查不到返回null,适合需即时判断对象是否存在的场景;load()采用延迟加载,返回代理对象,真正使用时才查询,若数据不存在则抛异常,适用于确信对象存在或仅需引用的关联操作,性能更高但需注意会话生命周期与异常处理。
    Java面试题 . Java 429 2025-10-27 08:22:02
  • 什么是双亲委派模型?
    什么是双亲委派模型?
    双亲委派模型确保类加载的统一与安全:类加载器先委派父类加载,直至启动类加载器,仅当上级无法加载时才自行加载,防止核心类被篡改并避免重复加载;其通过loadClass流程实现,但SPI和Tomcat等场景会通过线程上下文类加载器或优先自身加载等方式打破该模型以满足特殊需求。
    Java面试题 . Java 755 2025-10-26 10:12:02
  • redis 持久化有几种方式?
    redis 持久化有几种方式?
    RDB和AOF持久化方式各有优劣,选择需根据场景权衡。RDB以快照形式实现,恢复速度快、适合冷备,但可能丢失数据;AOF记录每次写操作,数据安全性高,但恢复慢、文件大。RDB通过BGSAVE非阻塞生成快照,配置save规则触发自动持久化;AOF通过appendfsync控制刷盘策略,推荐everysec以平衡性能与安全。AOF可重写压缩文件体积。两者可同时开启,优先用AOF恢复以保障数据完整。最佳实践:高安全性要求用AOF或双开,定期重写与备份;高恢复速度需求用RDB。最终选择应基于数据安全与性
    Java面试题 . Java 613 2025-10-26 10:07:02
  • 说一下jvm 调优的工具?
    说一下jvm 调优的工具?
    答案:JVM调优需结合监控、分析与诊断工具组合使用。首先利用jstat、jps等JDK命令行工具进行实时GC和内存监控;当出现性能问题时,通过jstack抓取线程堆栈分析阻塞或高CPU原因,用jmap生成堆快照并结合MAT或VisualVM分析内存泄漏;GC日志配合GCViewer解析可判断FullGC频繁或老年代增长异常等问题;对于复杂场景,选用JProfiler、YourKit等专业工具深入剖析CPU与内存;生产环境可集成APM系统实现长期监控。整个过程应从宏观指标入手,逐步深入到线程与内存
    Java面试题 . Java 329 2025-10-25 10:20:01
  • java 中sleep() 和 wait() 有什么区别?
    java 中sleep() 和 wait() 有什么区别?
    sleep()属于Thread类,不释放锁;wait()属于Object类,需在同步块中调用并释放锁,二者调用方式与锁处理机制不同。
    Java面试题 . Java 607 2025-10-25 08:59:02
  • 说一下jvm 有哪些垃圾回收器?
    说一下jvm 有哪些垃圾回收器?
    根据应用场景选择合适的JVM垃圾回收器可优化性能,Serial适用于单核小应用,Parallel提升吞吐量,CMS降低延迟但有碎片问题,G1平衡延迟与吞吐量并减少碎片,ZGC和Shenandoah实现亚毫秒级停顿,适合大堆低延迟场景;需结合应用类型、堆大小、CPU核心数等选择,并通过监控工具调优,避免FullGC频繁触发和内存泄漏。
    Java面试题 . Java 936 2025-10-24 09:34: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

佰牛网络企业网站管理系统3.0

佰牛企业网站管理系统(红色)是专业为个人和企业网站建设而开发的一款智能化程序。该程序基于ASP+ACCESS环境开发,拥有完善的网站前台和后台全智能化管理功能,完全由后台操作(如添加、修改网站基本信息、产品、企业新闻动态等),是个人和企业智能化网站建设首选!
企业站源码
2025-11-04

时尚起义php精品免费淘宝客源码

本程序为ecshop系统所建提供给用户程序加数据,安装步骤如下
电商源码
2025-11-04

易通cmseasy免费的企业建站程序2.0 UTF-8 build 201000510 中文版

易通(企业网站管理系统)是一款小巧,高效,人性化的企业建站程序.易通企业网站程序是国内首款免费提供模板的企业网站系统.§ 简约的界面及小巧的体积:后台菜单完全可以修改成自己最需要最高效的形式;大部分操作都集中在下拉列表框中,以节省更多版面来显示更有价值的数据;数据的显示以Javascript数组类型来输出,减少数据的传输量,加快传输速度。 § 灵活的模板标签及模块组合能力:基于XML名字空间样式的模板标签,会让仅懂得基本html语法的站长迅速掌握标签的使用方法;灵活的调
企业站源码
2025-11-04

动感购物HTML

修正了V1.10的一些BUG感购物HTML系统是集合目前网络所有购物系统为参考而开发,代码采用DIV编号,不管从速度还是安全我们都努力做到最好,此版虽为免费版但是功能齐全,无任何错误,特点有:专业的、全面的电子商务解决方案,使您可以轻松实现网上销售;自助式开放性的数据平台,为您提供充满个性化的设计空间;功能全面、操作简单的远程管理系统,让您在家中也可实现正常销售管理;严谨实用的全新商品数据库,便于查询搜索您的商品。网站管理地址:http://你的网址地址/ADMINN/ 网站管理初始用户名:admin网
电商源码
2025-11-04

一组海洋贝壳合集矢量素材

一组海洋贝壳合集矢量素材适用于海洋主题装饰、海滨度假村宣传、博物馆图鉴、夏季主题设计等相关视觉场景设计由AI生成的Ai格式素材。
矢量素材
2025-11-04

丛林动物园宣传材料矢量素材

丛林动物园宣传材料矢量素材适用于动物园宣传材料、儿童房墙贴或冒险主题等相关视觉场景设计的AI格式素材。
矢量素材
2025-11-04

3D柔和阴影天气图标矢量素材

3D柔和阴影天气图标矢量素材适用于天气App UI、新闻广播、儿童教育卡片、智能家居界面等相关视觉场景设计的AI格式素材。
矢量素材
2025-11-04

一组野生蘑菇插画矢量素材

一组野生蘑菇插画矢量素材适用于儿童书籍、植物书籍插图等相关视觉场景设计的AI格式素材。
矢量素材
2025-11-04

驾照考试驾校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号