自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2124)
  • 收藏
  • 关注

原创 2024最全 Java 面试八股文(真实,高频,有详细答案)

2024 年的互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完面试宝典,奈何难抽出时间,这套 1000+道的 Java 面试手册我整理了整整 1 个月,上传到 Git 上目前 star 数达到了 30K+这套互联网 Java 工程师面试题包括了:MyBatis、ZK、Dubbo、EL、Redis、MySQL、并发编程、Java 面试、Spring、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题(共 485 页,32W 字)

2024-02-19 15:21:18 26646 9

原创 不愧是Github 点赞 120k 的 Java 八股文面试笔记,面面俱到太全了!

作为一个 Java 程序员,你平时总是陷在业务开发里,每天噼里啪啦忙敲着代码,上到系统开发,下到 Bug 修改,你感觉自己无所不能。然而偶尔的一次聚会,你听说和自己一起出道的同学早已经年薪 50 万,而自己却囊中羞涩。于是你也想看看新机会,找个新平台,好好发展。但是面试的时候,当那个笑眯眯的面试官问出那些你再熟悉不过的 Java 问题时,你只是感觉似曾相识,却怎么也回答不到点上。比如 HashMap 的工作原理,再或者 volatile 的使用场景。

2025-04-03 14:05:46 723

原创 重生之MySQL 索引失效六大陷阱

类型精确律:WHERE条件与字段类型绝对匹配函数绝缘体:禁止在索引列包裹函数左前缀铁律:复合索引首字段必须参与查询字符集统一场:全库字符集强制校验范围右侧禁区:范围查询后字段不进索引优化器驯化术:FORCE INDEX与覆盖索引联用。

2025-04-03 14:03:36 226

原创 2025 年 Java 八股文高级面试指南(1 到 5 年 Java 面试者必备)

对于这些问题我都整理了答案,记录在这个 Java 学习笔记里,这份笔记包括了 Spring,JVM,java 基础,Java 集合,Java 并发编程,微服务,网络,Kafka,分布式,Redis,大厂面试解决方案,分布式事务,设计模式,算法,数据结构,MySQL 等详细内容有很多,为了不影响阅读,可看整理的《Java 架构进阶笔记》,每个知识点都有左侧导航书签页,看的时候十分方便,由于内容较多,这里就截取一部分图吧。

2025-04-02 13:54:48 644

原创 Excel高性能导入方案!

如何高效导入百万级Excel数据。去年有家公司找到我,他们的电商系统遇到一个致命问题:每天需要导入20万条商品数据,但一执行就卡死,最长耗时超过3小时。更魔幻的是,重启服务器后前功尽弃。经过半天的源码分析,我们发现了下面这些触目惊心的代码...决不允许全量加载数据到内存→ 使用SAX流式解析避免逐行操作数据库→ 批量插入加持永远不要让用户等待→ 异步处理+进度查询横向扩展比纵向优化更有效→ 分片+分布式计算内存管理是生死线→ 对象池+避免临时大对象合理配置连接池参数→ 杜绝瓶颈在数据源。

2025-04-02 13:52:20 520

原创 2025互联网大厂Java面试最常被问的1000道题目及参考答案

文章到这里篇幅已经很长了,就不做过多的展示了,希望看到这篇文章的小伙伴都能抓住机会,拿到自己想要的 Offer!

2025-04-01 15:32:47 663

原创 明明加了唯一索引,为什么还是产生重复数据?

前段时间我踩过一个坑:在mysql8的一张innodb引擎的表中,加了唯一索引,但最后发现数据竟然还是重复了。到底怎么回事呢?本文通过一次踩坑经历,聊聊唯一索引,一些有意思的知识点。

2025-04-01 15:31:47 824

原创 2025版Java工程师面试宝典:核心原理/场景题/架构设计超详细拆解

Java 无疑是当今最热门的编程语言之一,多年来一直稳坐程序员最爱的编程语言宝座,这也导致了每年都有大量的新鲜血液加入到 Java 程序员的队伍中。对于新入职的 Java 程序员来说,他们究竟是踏入了这个行业的门槛,还是仅仅停留在表面,很大程度上取决于他们对 Java 语言的理解和态度。不论如何,面试是他们进入职场前必须跨越的一道门槛。

2025-03-31 13:04:04 666

原创 Java 判空新写法!干掉 if else 啦

先介绍一下API,与其他文章不同的是,本文采取类比的方式来讲,同时结合源码。而不像其他文章一样,一个个API罗列出来,让人找不到重点。

2025-03-31 13:00:52 296

原创 2025年Java面试高频考点整理|金三银四跳槽必备(附答案)

不论是技术经理还是架构师,没有绝对地说哪条路是对还是错,适合自己才是最重要。小公司的可能没有架构师这个概念,大公司的架构师职位又不是那么容易拿下。但不管怎样,不断去学习新的技术,提升自己的层次是很有必要的,无论你在哪一家公司,过硬的技术水平才能吃得开。

2025-03-28 15:06:24 554

原创 消息队列技术选型:这 7 种消息场景一定要考虑!

消息队列技术选型,要考虑的因素很多,本文主要从业务场景来分析需要考虑的因素,同时技术上也需要考虑运维复杂度、业务规模、社区活跃度、学习成本等因素。希望本文对你使用消息队列有所帮助。

2025-03-28 14:25:13 633

原创 2025年Java面试八股文大全(附PDF版)

你可以讨厌这模式,但你一定要去背,因为不背你就进不了大厂。国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,行为面试问题)。那么为什么国内面试不采取这样的考察方式呢?

2025-03-27 15:20:54 998

原创 聊聊接口性能优化技巧

本文是笔者对工作中遇到的性能优化问题的一个简单的总结,可能有不完备的地方,欢迎大家讨论交流。

2025-03-27 14:02:12 902

原创 2025最新Java面试题库(1000+真题+答案,金三银四必备)

我相信大多 Java 开发的程序员或多或少经历过 BAT 一些大厂的面试,也清楚一线互联网大厂 Java 面试是有一定难度的,小编经历过多次面试,有满意的也有备受打击的。因此呢小编想把自己这么多次面试经历以及近期的面试真题来个汇总分析,阐述下如何去准备,去回答面试官的提问,可以和面试官有个愉快的交谈。小编分享的这份 BAT 必考 Java 真题合集包含了性能调优、并发编程。

2025-03-26 15:00:58 681

原创 Spring核心高级面试题汇总

答案要点Spring中的类型转换机制是通过和Converter接口来实现的。用于将字符串转换为其他类型的对象,而Converter则提供了更通用的类型转换方法。在Spring 3.0之后,推荐使用Converter接口进行类型转换,因为它提供了更灵活和强大的类型转换能力。要在Spring中进行自定义类型转换,可以创建实现Converter接口的类,并在配置文件中将其注册为Spring容器中的Bean。然后,在需要转换类型的地方,Spring会自动使用注册的转换器进行转换。

2025-03-26 14:57:02 441

原创 2025面试八股文终极整理版(附答案详解)

线程上下文切换当一个线程被剥夺cpu使用权时,切换到另外一个线程执行死锁死锁指多个线程在执行过程中,因争夺资源造成的一种相互等待的僵局CAS锁CAS锁可以保证原子性,思想是更新内存时会判断内存值是否被别人修改过,如果没有就直接更新。如果被修改,就重新获取值,直到更新完成为止。这样的缺点是(1)只能支持一个变量的原子操作,不能保证整个代码块的原子操作(2)CAS频繁失败导致CPU开销大。

2025-03-25 14:35:23 879

原创 滥用 ! = null 判空了!!!太 low 了

所以说,代码习惯很重要!如果你近期准备面试跳槽,建议在ddkk.com在线刷题,涵盖 一万+ 道 Java 面试题,几乎覆盖了所有主流技术面试题,还有市面上最全的技术五百套,精品系列教程,免费提供。如果你近期准备面试跳槽,建议在ddkk.com在线刷题,涵盖 一万+ 道 Java 面试题,几乎覆盖了所有主流技术面试题,还有市面上最全的技术五百套,精品系列教程,免费提供。这种情况下,null是个”看上去“合理的值,例如,我查询数据库,某个查询条件下,就是没有对应值,此时null算是表达了“空”的概念。

2025-03-25 14:28:53 272

原创 从Github火到牛客网!这份Java面试题终于有人分享出来了

作为一个 Java 程序员,你平时总是陷在业务开发里,每天噼里啪啦忙敲着代码,上到系统开发,下到 Bug 修改,你感觉自己无所不能。然而偶尔的一次聚会,你听说和自己一起出道的同学早已经年薪 50 万,而自己却囊中羞涩。于是你也想看看新机会,找个新平台,好好发展。但是面试的时候,当那个笑眯眯的面试官问出那些你再熟悉不过的 Java 问题时,你只是感觉似曾相识,却怎么也回答不到点上。比如 HashMap 的工作原理,再或者 volatile 的使用场景。

2025-03-24 14:20:11 816

原创 if 判断泛滥?试一试规则执行器,太香了!

规则执行器的优点和缺点。

2025-03-24 14:17:53 169

原创 程序员面试必备:2025最新最全面Java复习路线(含P5-P8)!已收录 GitHub

小编整理出一篇 Java 进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java 集合、JVM、多线程并发、spring 原理、微服务、Netty 与 RPC 、Kafka、日记、设计模式、Java 算法、数据库、Zookeeper、分布式缓存、数据结构等等

2025-03-23 14:11:40 570

原创 几行代码搞定RPC服务注册和发现

在日常的工作或者学习编码过程中,我们一定要习惯面向接口编程,这样做有助于增强代码可扩展性。服务注册register/*** 注册服务信息* @param serviceInfo 待注册的服务* @throws Exception 异常*/服务向注册中心注册,注册的内容定义一个类来封装。/*** 服务名称*//*** ip 地址*//*** 端口号*//*** class 对象*/> clazz;/*** bean 对象*/

2025-03-23 13:56:37 512

原创 2025年大厂高频精选Java面试八股文整理(附答案)

但是随着这个从事行业的人数逐渐增多,行业竞争也越来越大,招聘的企业和程序员们都想招聘到自己需要的人才/找到自己理想的岗位;导致现在 Java 面试越来越难,内卷早就是大势所趋,万物皆可卷,卷的我们都见怪不怪了,LZ 很多时候都想直接躺平做一个躺平族了(手动狗头)。以前 Java 岗位人才的空缺,而需求量又大,所以这种人才供不应求的现状,就是 Java 工程师的薪资待遇相对优厚的原因所在。很多时候,面试官问的问题会和自己准备的“题库”中的问题不太一样,即使做了复盘,下次面试还是不知道该从何处下手。

2025-03-21 15:53:19 301

原创 图解 6 种常见负载均衡算法!

其思路是在服务器选择过程中,根据服务器的处理能力或负载情况为服务器分配不同的权重,以便处理能力更强或负载较轻的服务器能够接收更多请求。其思路是在服务器选择过程中,根据服务器的处理能力或负载情况为服务器分配不同的权重,以便处理能力更强或负载较轻的服务器能够获得更多请求。然而,它没有考虑服务器的实际负载情况,可能导致一些服务器承担过重的负载,而其他服务器则处于空闲状态。通常要求服务实例是无状态的。需要注意的是,如果服务器宕机或网络链路中断,负载均衡器将需要重新计算服务器的连接数,这将延长响应时间并影响性能。

2025-03-21 15:27:56 515

原创 七天吃透Java面试八股文(2025金三银四最新整理)

值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量。引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本,并不是原对象本身,两者指向同一片内存空间。所以对引用对象进行操作会同时改变原对象。java中不存在引用传递,只有值传递。即不存在变量a指向变量b,变量b指向对象的这种情况。StringJoiner是 Java 8 新增的一个 API,它基于 StringBuilder 实现,用于实现对字符串之间通过分隔符拼接的场景。

2025-03-20 14:47:59 683

原创 慎用!不要在事务中嵌套发送 MQ 消息和 RPC 调用!

回到开头提到的问题,在业务低谷期,MQ 消息会出现反查无法查询到数据的情况,这是因为在低谷期 MQ 消息能够被及时消费,其延迟几乎和 RPC 请求一样,这就使得消费者会在事务提交前执行反查操作,从而出现和 RPC 请求相同的问题。而在高峰期,由于 MQ 消费不及时,反查操作被“延后”了,在事务提交后才开始消费,所以可以查询到数据。实际上还存在一个问题,即事务提交成功,但 MQ 消息发送失败,无法保证本地事务和消息发送的原子性,也就是无法实现要么都成功,要么都失败的目标。总体而言,这种方法的弊端远大于益处。

2025-03-20 14:46:14 821

原创 Java 高频面试题 (2025年金三银四最新含答案)

在运行过程中,对于任何一个类都能获取它的属性和方法,任何一个对象都能调用其方法,动态获取信息和动态调用,就是反射。

2025-03-19 14:54:07 1015

原创 彻底理解SPI 机制 (Java SPI 、Spring SPI、Dubbo SPI)

1SPI 全称为,是一种服务发现机制。SPI 的本质是将的中,并由。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。

2025-03-19 14:17:49 802

原创 2025 面试跳槽宝典:BATJ互联网大厂核心面试解析 600 题

最近很多粉丝问我有没有最新的面试题?于是,我就把我见过的以及遇到过的,还有根据读者反馈的大厂面试真题,进行了汇总整理。于是就有了这份互联网大厂 Java 高级工程师核心面试 498 题解析,并且按照细分了下面这九个方面Java 集合 22 题及答案解析JVM 与调优 21 题及答案解析并发编程 28 题及答案解析Spring 25 题及答案解析23 种设计模式解析Spring Boot25 题及答案解析分布式高并发架构解析(消息队列,分库分表,事务,高可用,微服务架构)MySQL 高频 20 题解析Redi

2025-03-14 14:32:24 785

原创 万字解析 mysql innodb 锁机制实现原理

锁的作用是限制临界资源的并发访问. 而在今天,我们所探讨的 mysql innodb 中,广义上的“锁”工具实际上包含下述两种类型:•限制数据库内容并发访问的锁工具•限制 mysql程序中内存数据结构访问的锁工具lock(锁)latch(闩)由谁执行事务线程保护对象数据库内容内存数据结构持续时间整个事务过程临界资源访问过程模式行锁、表锁...读写锁、互斥量死锁探测机制waits-for graph、time out 机制无本篇内容围绕数据库内容的加锁行为展开,因此我们所。

2025-03-14 14:21:42 872

原创 2025最新Java高频面试题(含答案整理)

ZK 集群的机制是只要超过半数的节点正常,集群就能正常提供服务。如今互联网行业用的最多就是 MySQL,然而对于高级 Web 面试者,尤其对于寻找 30k 下工作的求职者,很多 MySQL 相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基本大多稍好公司的面试官,基本也不会对你有兴趣,毕竟稍微量大的项目,最终都会让你去深入数据库,而且最终的大多瓶颈首先也会出现在数据库。我们与其羡慕他人的成功,不如从此刻开始,积累足够多的知识和面试经验,为将来进入更好的公司做充分的准备!

2025-03-13 14:39:48 806

原创 关于分布式事务,你知道多少?如何落地?

你项目中有解决过分布式事务问题吗?怎么解决的?如果项目中有分布式事务处理经验的话,这个问题就可以理解为是送分题,说实话有实际分布式事务经验的朋友估计不到40%。如果没有呢!这个没有,还要分两种:一种是真的没接触过,这部分应该占40%,另外一种是接触到了,但是自己并不知道,这部分人大概占20%。很容易被认为不是分布式事务的:采用消息队列、消息表(临时表、中间表)、定时任务等实现的最终一致性,很多都是分布式事务的解决方案。

2025-03-13 13:41:13 734

原创 2025最新版Java面试题1000+附答案大全(合适各级Java开发人员)

作为一个“好兵”,我从不打无准备的仗,毕竟知己知彼才能游刃有余。无论现在的你处于什么水平,技术拥有怎样的深度,都不得不承认,任何时候都需要你能够主动地去学习,面试也要提前做准备。如果你的职业发展有更长远的打算和规划,那就更应该沉稳下来,脚踏实地,一步一步。今年的金三银四,若你有需要面试的打算,那么先考察一下自己准备了多少吧?以上这份「Java面试考点大全」+「互联网面试真题」送给你,祝你一切顺利。

2025-03-12 13:57:56 510

原创 面试官:单核 CPU 支持 Java 多线程吗?为什么?

由于现在大多计算机都是多核CPU,多线程往往会比单线程更快,更能够提高并发,但提高并发并不意味着启动更多的线程来执行。更多的线程意味着线程创建销毁开销加大、上下文非常频繁,你的程序反而不能支持更高的TPS。

2025-03-12 13:55:46 760

原创 2025突击金三银四必备:互联网大厂1000 道 Java 面试清单!限时分享

我相信大多 Java 开发的程序员或多或少经历过 BAT 一些大厂的面试,也清楚一线互联网大厂 Java 面试是有一定难度的,小编经历过多次面试,有满意的也有备受打击的。因此呢小编想把自己这么多次面试经历以及近期的面试真题来个汇总分析,阐述下如何去准备,去回答面试官的提问,可以和面试官有个愉快的交谈。

2025-03-11 14:09:03 504

原创 面试官:线程池执行过程中遇到异常会发生什么,怎样处理?

2、通过设置ThreadFactory的UncaughtExceptionHandler可以对未捕获的异常做保底处理,通过execute提交任务,线程依然会中断,而通过submit提交任务,可以获取线程执行结果,线程异常会在get执行结果时抛出。新建一个只有一个线程的线程池,每隔0.1s提交一个任务,任务中是一个1/0的计算。当线程池中线程频繁出现未捕获的异常,那线程的复用率就大大降低了,需要不断地创建新线程。原因是因为出现了未捕获的异常。原因是通过submit提交的线程,当发生异常时,会将异常保存,待。

2025-03-11 14:05:54 328

原创 牛客网Java 高频面试题 (2025年金三银四最新含答案)

在运行过程中,对于任何一个类都能获取它的属性和方法,任何一个对象都能调用其方法,动态获取信息和动态调用,就是反射。

2025-03-10 14:36:58 796

原创 Kafka 为什么会丢消息?如何保证消息不丢失?

引入MQ消息中间件最直接的目的:系统解耦以及流量控制(削峰填谷)系统解耦: 上下游系统之间的通信相互依赖,利用MQ消息队列可以隔离上下游环境变化带来的不稳定因素。流量控制: 超高并发场景中,引入MQ可以实现流量 “削峰填谷” 的作用以及服务异步处理,不至于打崩服务。引入MQ同样带来其他问题:数据一致性。在分布式系统中,如果两个节点之间存在数据同步,就会带来数据一致性的问题。消息生产端发送消息到MQ再到消息消费端需要保证消息不丢失。图片所以在使用MQ消息队列时,需要考虑这 3 个问题:图片。

2025-03-10 14:34:58 1076

原创 生产环境又 OOM 了,这次Mybatis 的锅!

继上次线上CPU出现了报警,这次服务又开始整活了,风平浪静了没几天,看生产日志服务的运行的时候,频繁的出现,就是我们俗称的OOM,这可还行!频繁的OOM直接会造成服务处于一个不可用的情况,通过Skywalking查看链路调用,基本全报红了,基本处于一个瘫痪状态,因为生产该服务是分布式部署,运维当即立断对该服务进行重启,因为是B端的产品,先让公司业务能用起来了,保证服务的正常使用,然后紧急查看问题,当然这个问题就来到了我这里,既然分配给我了,咱高低给它查出来,并且修复了。

2025-03-07 14:17:25 522

原创 Java面试题及答案整理(2025年金三银四最新版,持续更新)

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。

2025-03-07 14:16:10 544

原创 2025年春招阿里巴巴最新版Java面试八股文汇总(附答案解析)

这份面试总结比较多,就不一一的详细介绍了,粗略地将主要内容展示一下,其中含有20+的知识点:目录总览目录详览。

2025-03-06 14:17:02 418

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除