- 博客(374)
- 收藏
- 关注
原创 Java面试题及答案整理( 2025年 4 月最新版,持续更新)
如果直接调用run(),其实就相当于是调用了一个普通函数而已,直接待用run()方法必须等待run()方法执行完毕才能执行下面的代码,所以执行路径还是只有一条,根本就没有线程的特征,所以在多线程执行时要使用start()方法而不是run()方法。wait():wait()是Object类的方法,当一个线程执行到wait方法时,它就进入到一个和该对象相关的等待池,同时释放对象的机锁,使得其他线程能够访问,可以通过notify,notifyAll方法来唤醒等待的线程。不一样,因为内存的分配方式不一样。
2025-04-03 14:31:58
1274
原创 优雅~~Spring Boot 整合多数据源的姿势
最常见的单一应用中最多涉及到一个数据库,即是一个数据源(Datasource那么顾名思义,多数据源就是在一个单一应用中涉及到了两个及以上的数据库了。urlusernamepassword这三个属性已经唯一确定了一个数据库了,DataSource则是依赖这三个创建出来的。则多数据源即是配置多个DataSource(暂且这么理解)。动态数据源简单的说就是能够自由切换的数据源,类似于一个动态路由的感觉,Spring 提供了一个抽象类是一个Map结构,所有需要切换的数据源都存放在其中,根据指定的。
2025-04-03 14:28:21
468
原创 2025金三银四互联网大厂Java面经总结(附答案解析)
你好!请先做一下自我介绍!先介绍 SpringCloud 核心组件及其作用SpringCloud 由以下 5 个核心组件构成...另外,SpringCloud 的工作流程是这样子的↓嗯,不错,工作流程都说出来了。那介绍一下 springcloud 心跳机制当一个服务器启动,会将它的 IP 地址等信息注册到 Eureka...但是 Eureka 有....等缺点...额~缺点?小伙子,你是怎么得到我们公司面试题的啊?什么意思?
2025-04-02 14:01:43
898
原创 美团面试:如何设计一个注册中心?
关于如何设计一个注册中心,无非重点关以下几点:服务是如何注册消费端如何获取服务如何保证注册中心的高可用动态感知服务的上下线。
2025-04-02 13:56:36
504
原创 互联网 Java 面试八股文汇总(2025 最新整理,持续更新)
3、finally 是在 return 后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管 finally 中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在 finally 执行前确定的;6、冒泡排序算法、插入排序算法、快速排序算法、希尔排序算法、归并排序算法 7、K-Means 或 KNN 中,通常使用欧式距离来表示最近的数据点之间的距离,有时候也使用曼哈度距离,对比两者的区别。Dao 接口里的方法,参数不同时,方法能重载吗?
2025-04-01 15:29:20
725
原创 我真的沦陷在这个支持 AI 的终端里面了
平常工作需要频繁使用终端工具,有一个好的命令行终端工具是非常重要的。尤其是使用mac的小伙伴,估计不少人都觉得iterm2才是最好的终端工具。其实起初我也是这么觉得的,但是最近直到我使用了这款开源的终端工具,我可以负责任的说,iterm2可以放在角落吃灰去了。我重度使用了2天,无论从颜值,性能,效率和创新上,都碾压同类的终端工具。我完全找不到任何理由来放弃这么优秀的一款工具。整个使用的体验非常舒服,甚至于觉得,这,就是我心中现代化终端工具该有的样子!这款终端工具叫:Warp。
2025-04-01 15:23:13
944
原创 2025 年 Java 后端开发最全面试攻略,不管你工作几年,都得看看
互联网公司的面试,从形式上说,一般分为 2~3 轮技术面 +1 轮 HR 面,不过某些公司没有 HR 面试。在技术面试中,面试官一般会就你所应聘的岗位进行相关知识的考察,也叫基础知识和业务逻辑面试,只要回答的不是特别差,面试官通常会继续跟你聊聊项目,这个时候就开始了项目面试。也就是说,。据粉丝的反映,这两年 Java 面试的难度越来越高,尤其是大厂,考察的技术点越来越细、越来越全。为此我花了很长时间搜集整理出来了这套 Java 面试题大全~
2025-03-31 13:13:31
650
原创 为什么 MyBatis 源码中,没有我那种 if···else
这里用到的就是装饰器模式,也叫俄罗斯套娃模式。就像MyBatis 中的MapperProxy 实现类, 代理工厂实现的功能就是完成DAO 接口的具体实现类的方法,配置的任何一个DAO 接口调用的CRUD 方法,都会被MapperProxy 接管,调用到方法执行器等,并返回最终的数据库执行结果。正是因为有太多的日志框架,包括Log4j、Log4j2 和Slf4J 等,而这些日志框架的使用接口又各有差异,为了统一这些日志框架的接口,MyBatis 定义了一套统一的接口,为所有的其他日志框架的接口做相应的适配。
2025-03-31 13:05:17
668
原创 2025最新Java面试八股文|金三银四快速突击版(含答案+技巧)
每个程序员心中都有一个大厂梦,无论是阿里还是腾讯,对于程序员的技术要求都是比较高的,抛开学历不谈,你的技术水平是否达到了阿里的标准和要求?如果你与其他同行存在着较大的技术差距,而且还没有改变现状的想法,那么被市场所淘汰,只是时间问题。所以,不管你是否想要进入大厂,或是想要拥有一份满意的薪资,都需要认真对待自己。
2025-03-28 14:23:58
526
原创 SpringBoot 发送邮件的三种方式
不如 JavaMail API灵活: 虽然简化了API,但相比JavaMail API,Apache Commons Email 库可能在某些高级场景下的灵活性有所减弱。简化API: Apache Commons Email 库提供了更简单的API,相比JavaMail API,可以更容易地发送各种类型的电子邮件,包括HTML邮件等。如果你希望在简洁的API和灵活性之间取得平衡,并且不介意引入外部库,那么Apache Commons Email库可能是一个中间的选择。代码获取方式拉到文末。
2025-03-28 14:19:01
1008
原创 如何在Nginx 中实现动态封禁IP
以上,便是 Nginx+Lua+Redis 实现的 IP 黑名单功能,具有如下优点:配置简单轻量,对服务器性能影响小。多台服务器可以通过共享 Redis 实例共享黑名单。动态配置,可以手工或者通过某种自动化的方式设置 Redis 中的黑名单。
2025-03-27 15:45:45
253
原创 SpringBoot 最大连接数及最大并发数是多少?
每个Spring Boot版本和内置容器不同,结果也不同,这里以Spring Boot 2.7.10版本 + 内置Tomcat容器举例。
2025-03-27 15:36:07
362
原创 2025Java面试TOP1000问:源码级解答+避坑指南+性能优化
程序员一步入中年,不知不觉便会被铺天盖地的“危机感”上身,曾经的那个少年已经不在,时间就是这样公平。就算你能发明 Java 语言,随着时间的推移,你注定还是要成为慢慢变蔫的茄子,缓缓变黑的葡萄。已经来到2025看着金三银四就要来临的消息,吓得我周末赶紧拿出了面试资料,只读了一小部分我就发现一个事实,果然有很多的知识点都模棱两可,相信很多的人都跟我一样有这样的危机感。怎么办呢???今天给大家分享一份阿里 P9 架构师推荐的 Java 后端领域巅峰之作。
2025-03-26 14:40:25
894
原创 面试题:总结OOM的三大场景,原因及解决方案
使用线程池来管理线程的创建和销毁,避免创建过多的线程。同时,注意合理配置线程池的参数,以满足应用程序的需求。:使用缓存策略、对象池等技术来管理对象,确保长时间存活的对象是真正需要的,及时释放不再使用的对象。:自定义的类加载器未正确实现或第三方库导致的类加载器泄露,无法释放已加载的类。:减少不必要的对象创建,使用合适的数据结构来存储数据,避免过大的集合和数组。:应用程序创建了大量的线程,并且每个线程的栈内存分配过多,导致系统资源耗尽。:应用程序加载了大量的类,并且这些类的元数据占用了过多的方法区内存。
2025-03-26 14:35:28
225
原创 2025BAT大厂Java面试2000题精选(附答案+考点分析)
就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:互联网行业竞争越来越严峻,面试也是越来越难,不少大厂,如阿里、腾讯、华为的招聘名额明显减少,面试门槛却一再拔高,其实,要想生存下去,势必要有淘汰,优胜劣汰,适者生存,这是千古不变的法则;你我要做的就是不断地深耕,把技术深度和广度提升上来,跟着大环境走,才不至于被淘汰,更好地适应社会与各大企业的发展相信大家都知道现在的面试越来越难了,要背的面试题越来越多了,考察得越来越细,越来越底层,明摆着就是想让我们徒手造航母嘛!实在是太为难我们这些程序员了。
2025-03-25 14:38:42
965
原创 你还在使用websocket实现实时消息推送吗?
在日常的开发中,我们经常能碰见服务端需要主动推送给客户端数据的业务场景,比如数据大屏的实时数据,比如消息中心的未读消息,比如聊天功能等等。本文主要介绍SSE的使用场景和如何使用SSE。
2025-03-25 14:36:42
714
原创 2025年Java面试八股文最全攻略
小编分享的这份 Java 后端开发面试总结包含了 JavaOOP、Java 集合容器、Java 异常、并发编程、Java 反射、Java 序列化、JVM、Redis、Spring MVC、MyBatis、MySQL 数据库、消息中间件 MQ、Dubbo、Linux、ZooKeeper、 分布式 &数据结构与算法等 25 个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份 PDF 拿下众多大厂的 offer,今天在这里总结分享给到大家!JavaOOP 面试题Java 集合/泛型面试题。
2025-03-24 14:10:43
838
原创 SpringBoot引入 liteflow 规则引擎,太香了!
liteflow中的绝大部分是在启动时完成的,包括规则解析、注册组件以及组装信息,其执行性能很高,同时也可以打印每个业务环节的耗时以及统计信息。在本文中,介绍了liteflow。
2025-03-24 14:02:56
552
原创 2025金三银四阿里五面艰苦经历(已拿offer定薪25K)附面经分享
3月准备跳槽,先后面试了各大小公司,拿了一些offer,有阿里,滴滴,快手,达达,得物等公司。面试的公司大部分都能过,也给自己做个归档,希望能给正在准备跳槽,找工作的朋友一点帮助,
2025-03-23 14:15:38
1162
原创 京东一面:MySQL 主备延迟有哪些坑?主备切换策略
高可用性(high availability,缩写 HA),指系统无中断地执行其功能的能力,代表系统的可用性程度。高可用性通常通过提高系统的容错能力来实现。MySQL 的高可用是如何实现的呢?首先,我们来看张图过程:开始时,处理流程主要是场景一客户端读、写,访问的是主库主库通过某种机制,将数据实时同步给备库当主库突然发生故障(如:磁盘损坏等),无法正常响应客户端的请求。此时会自动主备切换,进入场景二客户端读写,访问的是备库(此时备库升级为新主库)看似天衣无缝,那是不是可以高枕无忧了呢???
2025-03-23 14:13:14
1061
原创 大厂Java面试题汇总,作为 Java 程序员必须要掌握的技术栈
这里没有介绍进阶很深入的技术点,就是为了方便想在“金三银四”突击面试的朋友,能更好更快的掌握在面试场上占据较高分量的技术点。当然,如果要达到 95%甚至更高的面试通过率,仅仅把上面介绍出来的技术点搞清楚是不够的,你还得把第二张脑图(Xmind 图)里面大多数的知识点过一遍,至少可以保证,在简历上多写一些“熟悉”、“掌握”等字眼。沉下心来学习,建立一些自己的核心竞争力,才能把面试官摁在自己的手中。
2025-03-21 15:25:40
319
原创 你还在使用websocket实现实时消息推送吗?
在日常的开发中,我们经常能碰见服务端需要主动推送给客户端数据的业务场景,比如数据大屏的实时数据,比如消息中心的未读消息,比如聊天功能等等。本文主要介绍SSE的使用场景和如何使用SSE。
2025-03-21 15:24:36
742
原创 2025年金三银四Java面试八股文(真实、高频、含答案解析)
线程池就是提前创建若干个线程,如果有任务需要处理,线程池里的线程就会处理任务,处理完之后线程并不会被销毁,而是等待下一个任务。由于创建和销毁线程都是消耗系统资源的,所以当你想要频繁的创建和销毁线程的时候就可以考虑使用线程池来提升系统的性能。java 提供了一个 java.util.concurrent.Executor 接口的实现用于创建线程池。CAS 是 compare and swap 的缩写,即我们所说的比较交换。cas 是一种基于锁的操作,而且是乐观锁。在 java 中锁分为乐观锁和悲观锁。
2025-03-20 14:55:19
898
原创 线上 Linux CPU 100% 故障排查总结
排查后发现,在逻辑层使用时,并没有使用该方法返回的set集合中的内容,而是简单的用set的size数值。昨天下午突然收到运维邮件报警,显示数据平台服务器cpu利用率达到了98.94%,而且最近一段时间一直持续在70%以上,看起来像是硬件资源到瓶颈需要扩容了,但仔细思考就会发现咱们的业务系统并不是一个高并发或者CPU密集型的应用,这个利用率有点太夸张,硬件瓶颈应该不会这么快就到了,一定是哪里的业务代码逻辑有问题。细节是魔鬼,技术的同学需要有刨根问题的求知欲和追求卓越的精神,只有这样,才能不断的成长和提升。
2025-03-20 14:50:35
807
原创 2025金三银四最全 Java 面试八股文(持续更新)
线程上下文切换当一个线程被剥夺cpu使用权时,切换到另外一个线程执行死锁死锁指多个线程在执行过程中,因争夺资源造成的一种相互等待的僵局CAS锁CAS锁可以保证原子性,思想是更新内存时会判断内存值是否被别人修改过,如果没有就直接更新。如果被修改,就重新获取值,直到更新完成为止。这样的缺点是(1)只能支持一个变量的原子操作,不能保证整个代码块的原子操作(2)CAS频繁失败导致CPU开销大。
2025-03-19 14:15:53
735
原创 Spring Boot + CRaC 启动速度提升了10倍!
在 Java 应用程序的开发与运行过程中,启动和预热时间过长一直是个令人头疼的难题。目前,业界也提出了不少解决思路,之前我和大家探讨过的 AOT 技术,能在一定程度上缓解启动慢的问题。今天,咱们要聊的 CRaC 技术,为这个问题提供了另一种全新的解决方案。
2025-03-19 14:11:06
477
原创 2025Java面试题及答案整理,金三银四面试必备
我相信大多 Java 开发的程序员或多或少经历过 BAT 一些大厂的面试,也清楚一线互联网大厂 Java 面试是有一定难度的,小编经历过多次面试,有满意的也有备受打击的。因此呢小编想把自己这么多次面试经历以及近期的面试真题来个汇总分析,阐述下如何去准备,去回答面试官的提问,可以和面试官有个愉快的交谈。
2025-03-14 15:01:25
921
原创 什么是MySQL锁?有哪些锁类型?
先看下这一连串的MySQL锁问题你能接住几个先!• 面试官👨⚖️:你好呀,小伙子• 我🧑💻:嗯嗯,你好你好• 面试官👨⚖️:简历上说熟悉MySQL锁,那你讲讲MySQL有哪些锁• 我🧑💻:表锁、行锁...,心想我这是背过多少遍了• 面试官👨⚖️:什么是意向锁、auto-inc锁,有啥作用呢?• 我🧑💻:我知道,但为什么要加呢、、、• 面试官👨⚖️:那换一个好吧,举个说说行锁的加锁原理?• 我🧑💻:完了、我还不知道呀,对呀,既然加了锁,那。
2025-03-14 14:39:23
654
原创 牛客网Java面试题及答案整理(2025年最新版,持续更新)
我们都知道一场完整的 Java 面试考察的点不仅仅是技术硬实力,还有你的面试软实力。即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!学习如逆水行舟,尤其是 IT 行业有着日新月异的节奏,我们更要抓紧每一次可以学习和进步的机会。、拼多多、京东、滴滴、腾讯等等大厂真实面试经历以及自我总结和反省!同时在今年的面试当中其实来来回回就是问那么几个知识点:JVM、、源码等几个方面,今天lz这里系统的整理了一套面试突击宝典!、数据库、微服务、分布式、
2025-03-13 14:14:16
168
原创 高频面试题:有没有线上问题解决经验
1 :线上问题不一定是要什么OOM什么CPU飙高 2:自己回想一下解决过什么线上相对比较难的问题,可以是代码问题也可以是业务问题 3:如果线上没有,再想想测试环境遇到的问题 4:实在不行,你身边同时解决的问题,你看看能不能搞过来说成是你解决的到这里,相信你应该心里有底了吧,如果还不行,那就真的没法玩了。
2025-03-13 14:10:08
202
原创 牛客网最全的互联网大厂JAVA面试教程 (限时分享)
程序员一步入中年,不知不觉便会被铺天盖地的“危机感”上身,曾经的那个少年已经不在,时间就是这样公平。就算你能发明Java语言,随着时间的推移,你注定还是要成为慢慢变蔫的茄子,缓缓变黑的葡萄。看着金三银四就要来临的消息,吓得我周末赶紧拿出了面试资料,只读了一小部分我就发现一个事实,果然有很多的知识点都模棱两可,相信很多的人都跟我一样有这样的危机感。怎么办呢???今天给大家分享一份阿里P9架构师推荐的Java后端领域巅峰之作,我看完这份PDF之后彻底颠覆了我对Java的认知。
2025-03-12 13:46:28
705
原创 Netty 如何做到单机百万并发?
客户端socket怎么管理这块解决了,接下来,当有socket有数据需要进行读写事件处理的时候,系统会将已经就绪的socket添加到双向链表中,然后通过epoll_wait方法检测的时候,其实检查的就是这个双向链表,由于链表中都是就绪的数据,所以避免了针对整个客户端socket列表进行遍历的情况,使得整体效率大大提升。但是需要注意的是,当有成千上万个客户端连接上来开始进行数据发送,由于LT的特性,内核会频繁的处理通知操作,导致其相对于ET来说,比较的耗费系统资源,所以,随着客户端的增多,其性能也就越差。
2025-03-12 13:37:27
667
原创 面试官:说一下Spring Boot的自动配置原理?
那么所有其他的和这个类相关的属性都可以在全局配置文件中定义,也就是说,真正“限制”我们可以在全局配置文件中配置哪些属性的类就是这些XxxxProperties类,它与配置文件中定义的prefix关键字开头的一组属性是唯一对应的。除了官方文档为我们提供了大量的属性解释,我们也可以使用IDE的相关提示功能,比如IDEA的自动提示,和Eclipse的YEdit插件,都可以很好的对你需要配置的属性进行提示,下图是使用Eclipse的YEdit插件的效果,Eclipse的版本是:STS 4。
2025-03-11 14:21:52
1009
原创 金三银四程序员面试必备:2025 最新 最全面 Java 复习路线
partition 的数据文件(offset,MessageSize,data)Supervisor(slave-管理 Worker 进程的启动和终止)数据存储(CommitLog、MemTable、SSTable)数据文件分段 segment(顺序读写、分段命令、二分查找)二级索引(对要索引的 value 摘要,生成 RowKey)volatile 关键字的作用(变量可见性、禁止重排序)编程模型(spout->tuple->bolt)Worker(具体处理组件逻辑的进程)
2025-03-11 14:20:27
476
原创 互联网大厂最新整理 Java 面试合集(1000 道附答案解析)
2025年金三银四来了,总结了上半年各类 Java 面试题,初中级和中高级都有,包括 Java 基础,JVM 知识面试题库,开源框架面试题库,操作系统面试题库,多线程面试题库,Tcp 面试题库,架构设计与分布式面试题库,算法面试题库,数据库面试题库,消息队列面试题库,缓存面试题库;
2025-03-10 14:25:23
485
原创 把数据库放入 Docker是一个好主意吗?
容器技术与编排技术对于运维而言是非常有价值的东西,它实际上弥补了从软件到服务之间的空白,其愿景是将运维的经验与能力代码化模块化。容器技术将成为未来的包管理方式,而编排技术将进一步发展为“数据中心分布式集群操作系统”,成为一切软件的底层基础设施Runtime。当越来越多的坑被踩完后,人们可以放心大胆的把一切应用,有状态的还是无状态的都放到容器中去运行。但现在起码对于数据库而言,还只是一个美好的愿景与鸡肋的选项。需要再次强调的是,以上讨论仅限于生产环境数据库。
2025-03-10 13:25:14
581
原创 2025春招、金三银四最新互联网大厂1000道Java面试题及答案整理
一线互联网公司都比较注重实际的项目中解决问题的能力,另外面试点主要围绕 JVM、多线程相关、基础知识的底层原理、处理高并发的能力。这里也不扯什么面试技巧了,轻松发挥就好,祝大家金三银四季能有个高薪满意的工作!你的支持,我的动力;祝各位前程似锦,offer 不断!!!
2025-03-08 18:09:14
757
原创 消息队列技术选型:这 7 种消息场景一定要考虑!
消息队列技术选型,要考虑的因素很多,本文主要从业务场景来分析需要考虑的因素,同时技术上也需要考虑运维复杂度、业务规模、社区活跃度、学习成本等因素。希望本文对你使用消息队列有所帮助。
2025-03-07 14:46:25
861
原创 牛客网高质量面试题,2025金三银四 Java 面试避坑指南
2025 年已经开始了,接近我们所说的“金三银四”也不到几个星期的时间了,时间晃眼就过去了,有的人为了金三银四跳槽早早做足了准备,有的人在临阵磨刀,想必屏幕前的你也想在 2025 年涨薪吧,那么问题来了,怎么才能达到目标呢,不妨跟我来看看为大家盘点整理的一些高频面试问题吧!!!
2025-03-07 14:45:50
682
原创 2025互联网金三银四Java面试题大全(整理版)面试题附答案详解
面试(不论是求职还是晋升)是我们谁都不能逃避的事情。除了低头写代码,你还是要思考下和你的薪资息息相关的。我特意去搜集了很多的资料,所以,面试前根据公司类型、职位要求有侧重的准备,才能提高你的面试通过率,达到事半功倍的效果。以上这三个维度,。但如果你真的想轻松应对面试,拿下满意的 Offer,还是要多和大厂的面试官多交流,多了解面试的核心技巧。这样才能更明白自己的薄弱点,弄懂考察点。下面来正式地去介绍这份面试总结的 PDF,先给大家看一个总的目录吧!这里面有基础的,同时也有进阶的内容!
2025-03-06 14:07:46
288
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人