当前位置: 首页 > article >正文

Java 高级特性高频面试题 30 道(含答案)【简洁版】

覆盖泛型、反射、注解、Lambda/Stream、函数式接口、动态代理、JDK8 新特性、线程池、JVM、IO/NIO、序列化等核心高频考点适合中高级 Java 工程师面试。一、泛型3 题什么是 Java 泛型泛型的作用是什么答案泛型是 JDK5 引入的参数化类型特性允许在定义类、接口、方法时使用类型参数在使用时指定具体类型。作用类型安全编译期检查类型避免运行时ClassCastException消除强制类型转换代码更简洁代码复用一套逻辑支持多种数据类型提高可读性明确数据类型。泛型中通配符​​?​​、​​? extends T​​、​​? super T​​的区别答案​​?​​无界通配符表示任意类型​​? extends T​​上界通配符只允许T及其子类只读不可写除了 null​​? super T​​下界通配符只允许T及其父类可写不可读除了 Object口诀extends读数据super写数据。Java 泛型是如何实现的什么是类型擦除答案Java 泛型采用编译期类型擦除实现编译时会擦除所有泛型类型信息字节码中不保留泛型参数无界泛型擦除为Object有界泛型擦除为边界类型编译器自动插入类型转换保证类型安全局限性泛型不能用于基本类型、不能创建泛型数组、运行时无法获取泛型类型。二、反射4 题什么是 Java 反射反射的核心类有哪些答案反射是 Java 的动态机制允许程序在运行时获取类的完整信息构造器、字段、方法并动态操作对象。核心类​​Class​​代表一个类​​Constructor​​构造方法​​Field​​成员变量​​Method​​成员方法。如何通过反射获取 Class 对象有几种方式答案3 种常用方式​​对象.getClass()​​new User().getClass()​​类名.class​​User.class​​Class.forName(全类名)​​Class.forName(com.entity.User)。反射可以访问私有成员吗如何实现答案可以。通过​​setAccessible(true)​​打破封装性Field field userClass.getDeclaredField(password); field.setAccessible(true); // 关闭安全检查 field.set(user, 123456);反射的优缺点答案优点动态创建对象、解耦、框架底层核心Spring/MyBatis缺点性能低绕过编译优化、破坏封装、代码复杂。三、注解2 题什么是注解元注解有哪些答案注解是 Java 的代码标记用于给类、方法、变量添加说明可在编译 / 运行时被解析。四大元注解修饰注解的注解​​Target​​指定注解使用位置​​Retention​​指定注解生命周期SOURCE/CLASS/RUNTIME​​Documented​​生成文档​​Inherited​​允许子类继承父类注解。自定义注解的格式如何解析注解答案自定义注解Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface Log { String value() default ; }解析注解通过反射获取注解信息。四、Lambda 表达式 Stream 流6 题什么是 Lambda 表达式语法格式答案Lambda 是 JDK8 的函数式编程语法用于简化匿名内部类。格式​​(参数) - { 执行语句 }​​简化规则单个参数可省略括号单行语句可省略大括号和 return类型可省略。什么是函数式接口常用函数式接口有哪些答案有且仅有一个抽象方法的接口用​​FunctionalInterface​​标记。常用 4 大接口​​ConsumerT​​消费型有参无返回​​SupplierT​​供给型无参有返回​​FunctionT,R​​函数型有参有返回​​PredicateT​​断言型返回 boolean。Lambda 和匿名内部类的区别答案语法Lambda 更简洁作用域Lambda 不会创建新作用域匿名内部类会使用限制Lambda 只能用于函数式接口匿名内部类可用于任意类 / 接口性能Lambda 底层用invokedynamic性能更高。Stream 流的特点常用操作分类答案特点惰性求值、一次性使用、不存储数据、不修改原数据。操作分类中间操作filter、map、sorted、limit链式调用终止操作forEach、collect、count、reduce执行后流关闭。map 和 flatMap 的区别答案​​map​​一对一转换将元素映射为新元素​​flatMap​​一对多转换将嵌套容器扁平化如 ListListInteger → ListInteger。Stream 并行流的原理使用注意事项答案并行流底层使用ForkJoinPool线程池多线程并行处理数据。注意事项避免在并行流中操作共享变量线程不安全无状态操作适合并行有状态操作不适合小数据量不推荐使用。五、动态代理3 题什么是动态代理Java 中有几种动态代理实现答案动态代理是在运行时生成代理类无需手动编写代理类实现 AOP、事务等功能。两种实现JDK 动态代理基于接口CGLIB 动态代理基于继承代理类继承目标类。JDK 动态代理和 CGLIB 的区别答案JDK必须实现接口生成接口实现类CGLIB无需接口生成子类不能代理 final 类 / 方法Spring 选择目标类有接口用 JDK无接口用 CGLIB。动态代理的应用场景答案Spring AOP、事务管理、日志记录、权限校验、远程调用MyBatis Mapper。六、JDK8 新特性3 题JDK8 接口新特性答案默认方法default修饰有方法体子类可重写静态方法static修饰直接通过接口调用。什么是 Optional 类作用答案​​Optional​​是 JDK8 提供的空指针处理工具类避免​​NullPointerException​​。常用方法​​ofNullable()​​、​​isPresent()​​、​​orElse()​​、​​ifPresent()​​。什么是方法引用语法答案方法引用是 Lambda 的简化写法直接引用已有方法。四种语法​​对象::实例方法​​​​类::静态方法​​​​类::实例方法​​​​类构造器::new​​七、多线程 / 并发高级4 题ThreadLocal 的原理和使用场景答案原理每个线程拥有独立的​​ThreadLocalMap​​存储线程私有数据线程隔离。场景线程安全的参数传递如用户信息、事务上下文。注意使用完必须​​remove()​​避免内存泄漏。线程池的核心参数拒绝策略有哪些答案核心参数​​corePoolSize​​、​​maximumPoolSize​​、​​keepAliveTime​​、​​workQueue​​、​​threadFactory​​、​​handler​​。4 种拒绝策略AbortPolicy抛出异常默认CallerRunsPolicy调用者线程执行DiscardPolicy丢弃任务DiscardOldestPolicy丢弃最老任务。volatile 关键字的作用原理答案作用保证可见性线程修改后立即刷新到主内存禁止指令重排序不保证原子性。原理内存屏障 缓存一致性协议。synchronized 和 Lock 的区别答案synchronizedJVM 实现自动加解锁不可中断非公平锁LockAPI 实现手动加解锁可中断支持公平 / 非公平锁支持条件变量。八、IO/NIO2 题BIO、NIO、AIO 的区别答案BIO同步阻塞 IO一请求一线程NIO同步非阻塞 IO基于 Channel/Buffer/Selector单线程管理多连接AIO异步非阻塞 IO完成后通知回调。NIO 三大核心组件答案Channel通道双向传输数据Buffer缓冲区存储数据Selector选择器监听多个通道事件。九、序列化 其他高级特性2 题什么是 Java 序列化transient 关键字作用答案序列化将对象转为字节流用于网络传输 / 持久化。​​transient​​修饰的变量不参与序列化。浅拷贝和深拷贝的区别如何实现深拷贝答案浅拷贝基本类型复制引用类型共享地址深拷贝所有层级独立复制。实现序列化 / 反序列化递归拷贝引用对象工具类Apache Commons。Java 中为什么不推荐使用序列化替代方案答案缺点效率低、体积大、安全漏洞、跨语言差。替代方案JSON、Protobuf、Thrift、Kryo。总结这 30 道题覆盖Java 中高级面试 90% 高频考点重点掌握泛型、反射、Lambda、Stream、动态代理、并发答案简洁精炼适合背诵 理解面试直接使用结合实际项目经验Spring、MyBatis、线程池回答加分效果更好。

相关文章:

Java 高级特性高频面试题 30 道(含答案)【简洁版】

覆盖泛型、反射、注解、Lambda/Stream、函数式接口、动态代理、JDK8 新特性、线程池、JVM、IO/NIO、序列化等核心高频考点,适合中高级 Java 工程师面试。一、泛型(3 题)什么是 Java 泛型?泛型的作用是什么?答案&#…...

今年小满不一般,老辈农谚里藏着农事提醒

2026 年的小满节气在 5 月 21 日 8:36:28 交节,不少人说今年小满不一般,老辈农谚里总结了三个特点,对农事有不少参考意义。1. 白天小满,昼夜温差变化大“白天小满凉嗖嗖,晚上小满热死牛”这句农谚是说,如果…...

2026年如何向 GPT-5.5 提问,拿到更高质量的技术解释和方案

摘要: 2026年的工具生态正在从“追大模型”转向“讲效率、讲成本、讲合规”。本文结合当前小模型高效化、国产工具崛起、多模型聚合的趋势,分享一套面向 GPT-5.5 的高质量提问方法,帮助开发者和普通用户更快拿到清晰、可执行、可落地的技术答…...

一个月 SQL 学习总结:LeetCode 高频 SQL 50 题刷题心得

最近花了一个月时间系统学习 SQL,主要是跟着 LeetCode 的「高频 SQL 50 题(基础版)」进行练习。 回过头来看,这一个月的学习虽然不算特别长,但让我对 SQL 的理解比以前清晰了很多,也积累了一些适合初学者的…...

医用超声图像灰阶图算法:原理、实现与应用

引言 医用超声成像作为一种无创、实时、无辐射的影像学检查手段,在临床诊断中扮演着至关重要的角色。超声设备采集到的原始信号是射频(RF)信号,而最终呈现在医生面前的,是经过一系列复杂算法处理后的灰阶图像(B-mode图像)。灰阶图算法正是将原始超声回波信号转换为可视…...

医用超声图像干扰处理方法:原理、技术与实践

引言 超声成像作为一种无创、实时、无辐射的医学影像技术,在临床诊断中发挥着至关重要的作用。然而,超声图像在采集过程中极易受到各种物理和电子干扰,导致图像质量下降,影响医生的诊断准确性。常见的干扰包括斑点噪声、混响伪影、声影、镜面伪影以及由患者呼吸、运动引起…...

Perseus补丁:碧蓝航线全皮肤解锁完整指南与快速配置教程

Perseus补丁:碧蓝航线全皮肤解锁完整指南与快速配置教程 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus 还在为碧蓝航线中那些精美皮肤需要付费而烦恼吗?想要免费体验所有舰娘的不…...

Office Custom UI Editor终极指南:30秒打造专属Office工作界面

Office Custom UI Editor终极指南:30秒打造专属Office工作界面 【免费下载链接】office-custom-ui-editor Standalone tool to edit custom UI part of Office open document file format 项目地址: https://gitcode.com/gh_mirrors/of/office-custom-ui-editor …...

Windows 11终极优化指南:用Win11Debloat一键清理系统,性能提升51%

Windows 11终极优化指南:用Win11Debloat一键清理系统,性能提升51% 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other chang…...

G-Helper终极指南:如何用免费开源工具彻底替代Armoury Crate

G-Helper终极指南:如何用免费开源工具彻底替代Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbo…...

IO、NIO、Netty实战

目标 客户端和服务端互相通信,本文主要是实战练习,照着敲,然后debug看为什么就行 前置理解模型核心类特点简述BIOServerSocket / Socket一个连接一个线程,accept() 和 read() 都会阻塞简单但连接多了线程爆炸NIOSelector / Server…...

Taotoken助力企业级AI应用开发,统一管理多个Agent的API成本与用量

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken助力企业级AI应用开发,统一管理多个Agent的API成本与用量 当团队同时运行多个基于不同大模型的智能体应用时&a…...

水葫芦生长周期生长阶段早晚期检测数据集VOC+YOLO格式1029张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1029标注数量(xml文件个数):1029标注数量(txt文件个数):1029标注类别…...

夏天来了TEMU爆单指南:我用凌风工具箱“标签模板“搞定夏季爆款

嘿,我是小彭,一个在跨境电商圈摸爬滚打的老玩家🙋♂️。这周在朋友圈晒出单周GMV破300万的成绩单,评论区直接炸了:"你这波操作可以啊""啥时候开个课教教我们"。说实话,真没什么高深技巧…...

抖音下载工具终极指南:如何免费保存视频、直播和合集内容

抖音下载工具终极指南:如何免费保存视频、直播和合集内容 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…...

第37天:SQL详解之DDL

Python学习100天(从入门到精通系列文章) 文章目录 Python学习100天(从入门到精通系列文章) 前言 一、SQL概述 1.1 建库建表 1.2 DDL关键注意事项 二、存储引擎对比 三、数据类型选择 四、删除表和修改表 4.1 删除表 4.2 修改表 总结 前言 在前一篇文章中,我们了解了关系型…...

通过Taotoken审计日志功能追踪团队API使用情况的实际案例

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken审计日志功能追踪团队API使用情况的实际案例 1. 背景与需求 在团队协作开发中,多个成员或项目共享大模型…...

上班族开例会懒得记要点?2026年这3款AI总结工具,会后自动整理纪要

做互联网运营四年,开会已经成了每天的常态。部门周例会、项目复盘会、线上培训课、远程沟通会,大大小小的视频会议一场接一场。以前最让我头疼的不是参会,而是会后整理纪要。开会时既要认真听讨论、跟进工作进度,又要低头飞速记笔…...

RabbitMQ 入门与安装

RabbitMQ 入门与安装:从 MQ 概念到环境搭建 一、开篇:学习 RabbitMQ 前需要准备什么 RabbitMQ 属于消息中间件,是 Java 后端开发中非常常见的一类基础组件。学习它之前,最好已经具备以下基础: 具备一定 Java 基础&…...

用 Excel 手算一个 1-6-1 MLP:前向传播、损失、反向传播与参数更新

计算示例:本文用一个单输入、6 个隐藏神经元、单输出的多层感知机(MLP)作为例子,展示如何用 Excel 公式完整复现一次训练迭代。配套 Excel 文件中的“MLP计算过程”工作表已经把前向传播、损失计算、反向传播梯度和参数更新全部写…...

3步快速上手:抖音去水印批量下载器完整指南

3步快速上手:抖音去水印批量下载器完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批…...

B站视频下载终极指南:5步掌握免费批量下载技巧

B站视频下载终极指南:5步掌握免费批量下载技巧 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…...

百考通:AI一键生成期刊论文写作,全流程智能化支撑,让学术创作更高效

在学术研究领域,期刊论文的撰写是成果输出的关键环节,却也让众多科研工作者与学生倍感压力:选题迷茫、逻辑梳理困难、格式规范复杂、内容提炼耗时,严重拖慢了学术成果的发表节奏。百考通(https://www.baikaotongai.com…...

Midscene.js技术深度解析:视觉驱动UI自动化的架构演进与实践路径

Midscene.js技术深度解析:视觉驱动UI自动化的架构演进与实践路径 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 在传统UI自动化测试领域&#xff0c…...

深信服发布AI算力网关,聚焦AI算力治理,让AI算力效能更高

中国AI产业正在全面爆发,各行业的Agent应用发展更是迅猛。对企业来说,管好这些Agent并不容易,首先难算清的就是“成本账”——算力使用情况看不清、Token资源浪费管不住、AI投入省不下。为了帮助各行业用户实现AI模型和算力的高效治理&#x…...

Spek音频频谱分析器:如何免费快速可视化音频频率的秘密世界

Spek音频频谱分析器:如何免费快速可视化音频频率的秘密世界 【免费下载链接】spek Acoustic spectrum analyser 项目地址: https://gitcode.com/gh_mirrors/sp/spek Spek是一款功能强大的开源音频频谱分析工具,能够将复杂的音频信号转换为直观的彩…...

+86环境下“纸飞机“登录异常排查:第三方开源客户端的认证与网络适配测试

近期在针对一款基于 MTProto 协议的即时通讯工具进行客户端适配测试时,发现其官方版本在 86 号段环境下存在较为突出的登录与连接稳定性问题。本文记录问题复现过程,以及基于开源代码二次开发的优化实践。一、登录异常现象在 86 手机号、新设备登录场景下…...

SQL 排序分页精讲!ORDER BY+LIMIT 全套用法,报表分页

前言学会了条件查询、模糊查询之后,日常业务还有两个刚需场景:查出来的数据杂乱无章,想按年龄、时间、金额从小到大 / 从大到小排序;数据有成千上万条,一次性加载全部卡死,需要分页展示,一页只展…...

曼德勃罗集的 Three.js 实现

效果预览 经典的曼德勃罗集(Mandelbrot Set)分形渲染,配合动态缩放动画探索分形边界的无限细节。使用线性插值平滑着色,呈现出彩虹般的色彩过渡。 👉 点击查看《曼德勃罗集的》完整源码与效果演示 Shader 实现原理…...

SQL 模糊查询 + NULL 空值。LIKE 通配符 % 和_、IS NULL

前言学会精准条件查询后,工作中又会遇到新难题:需要按关键词模糊搜索,比如搜姓张、名字带 “明” 的用户,不会写 LIKE;分不清 % 和 _ 两个通配符到底有什么区别,经常用错;数据表有空值 NULL&…...