- 博客(554)
- 收藏
- 关注
原创 送你一瓶好运喷雾,2024BAT大厂最新Java热门面试题及答案总结
含:Redis核心数据结构,Redis持久化机制与安全机制,哨兵与集群架构,Redis缓存穿透,缓存失效,缓存雪崩,Redis缓存设计与性能优化等。含:分布式架构原理,集群架构原理,分布式锁,分布式事务,分布式协议,分布式配置,海量数据分库分表,分布式调度等。含:消息丢失,消息重复消费,消息乱序,消息积压,延时队列,消息回溯消费,消息刷盘机制,MQ中间件集群架构原理等。含:单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式,适配器模式,装饰器模式,代理模式等23种设计模式。
2024-12-20 17:02:36 629
原创 远程面试阿里、蚂蚁、京东、美团后整理份283页Java核心面试宝典
本文整理了一些面试时面试官必问的知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。由于知识点比较全面,内容比较多,所以我将这些Java面试中的核心知识点汇总整理成了一份文档。
2024-12-20 17:01:14 684
原创 MyBatis-Plus和MyBatis深度对比!
MyBatis-Plus 是一个针对 MyBatis 的增强工具包,提供了丰富的功能扩展,帮助开发者更快速、高效地进行数据持久层的开发。它是一个开源项目,由大数据社区维护和发展,兼容 MyBatis 的所有功能,并在其基础上进行了功能扩展和优化。MyBatis-Plus 在 MyBatis 的基础上提供了诸多增强功能,旨在简化开发流程、提高开发效率。通过减少重复代码、提供自动化工具和内置插件,MyBatis-Plus 使得开发者能够更专注于业务逻辑的实现,而不是被繁琐的配置和样板代码所困扰。
2024-12-20 15:43:50 292
原创 如何优雅地关闭线程池??
本文我们分析了shutdown() 和 shutdownNow()的原理以及它们之间的差异,两者都是用于关闭 Java的线程池,是一个比简单的知识点,在实际工作中,我们一般很少主动去关闭线程池,但是如果工作中真的存在关闭线程池的需求,掌握两个方法对我们会有很大的帮助。
2024-12-20 15:41:32 259
原创 短期面试突击攻略大全!2025最全Java面试题目合集
这两年的面试难度确实要比往年高处很多。很多小伙伴投递了上千份简历,只有几家公司约面试。排除个人简历的因素,这在往年都是不太常见的。比如往年能有一万个人能进大厂,今年大厂只招聘一千个,那另外九千个在往年有大厂水平的人就要去和水平相对普通一些的求职者争夺中小厂的名额了。而且,大厂不好过的话,中小厂也是一样的,甚至更惨。这就又导致很多中小厂的招聘同样减少了。求职的人这么多,一个岗位这么多人竞争,当然要增加面试难度。于是乎,很多比较一般的公司,也怼着底层原理疯狂问。
2024-12-19 16:22:46 351
原创 一文搞懂!TCP 粘包和拆包原理详解!!
粘包是指多个应用层独立发送的数据包在传输过程中被合并为一个 TCP 数据包到达接收方,接收方无法区分这是一个还是多个数据包。拆包是指一个应用层发送的数据包被分割成多个 TCP 数据包到达接收方,接收方需要将这些分段数据重组才能完整获取原始消息。TCP作为流式协议,没有内置的消息边界机制,这导致了粘包和拆包的问题。粘包是多个消息被合并为一个数据包,拆包是一个消息被分割为多个数据包。解决粘包和拆包的关键在于应用层协议的设计,通过固定长度、分隔符或长度字段等方式明确消息的边界。
2024-12-19 16:16:11 528
原创 Spring MVC 中,优雅处理异常的 6种方式!!
局部控制器处理:使用 @ExceptionHandler 注解,适用于单个控制器的特定异常处理。全局处理:使用 @ControllerAdvice 或 @RestControllerAdvice,适用于跨多个控制器的统一异常处理。自定义解析:实现 HandlerExceptionResolver 接口,适用于需要高度自定义的异常处理逻辑。状态码注解:使用 @ResponseStatus 注解,适用于简单的异常状态码映射。:结合 ResponseEntity 和全局异常处理,返回结构化的错误响应。
2024-12-19 16:15:33 761
原创 绝了!阿里大佬的“Redis深度核心笔记“,从基础到源码,全是精华
Redis学习我晕了,竟然没人好好回答怎么学习Redis,全都是介绍redis的长文。。。这还让人怎么学。我来分享下我自学Reids看过的资料吧Redis 是互联网技术架构在存储系统中使用得最为广泛的中间件,它也是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一,特别是那些优秀的、竞争激烈的大型互联网公司(比如 Twitter、新浪微博、阿里云、腾讯云、淘宝、知乎等),通常要求面试者不仅仅掌握 Redis 基础使用,更要求深层理解 Redis 内部实现的细节原理。
2024-12-19 16:15:01 270
原创 2024年互联网Java工程师高级面试八股文汇总(1260道题目附解析)
(含:SPI 机制、自适应拓展原理、服务导出、服务引用、集群容错之 Directory、集群容错之 Router、集群容错之 Cluster、集群容错之 LoadBalance、服务调用过程等...)(含:数据类型、引擎、索引、事务、锁、视图、存储过程与函数、触发器、常用SQL语句、SQL优化、常见面试题等...)(含:红黑树、贪心算法、动态规划、七大查找算法、致性算法、JAVA算法、数据结构、加密算法,大厂面试题等...)(含:Redis数据类型、持久化、内存相关、分布式问题等...)
2024-12-17 14:56:47 518
原创 惊艳,阿里人用480页讲清楚了44种微服务架构设计模式
微服务的概念虽然直观易懂,但“细节是魔鬼”,微服务在实操落地的环节中存在诸多挑战。微服务也是可以成为企业转型的强力催化剂!随着网络基础设施的高速发展,以及越来越多的企业和组织需要通过互联网提供服务,在考虑构建可以支持海量请求以及多变业务的软件平台时,微服务架构成为多数人的首选。微服务模式就是这样一种总结和概括,是一种可以通用的共识,用于描述微服务领域中的问题及解决方案、方法和思路。
2024-12-17 14:55:27 301
原创 不同的事务,在 Spring中是如何传播的?
REQUIREDSUPPORTSMANDATORYNEVERNESTED此外,NESTED传播行为在某些数据源(如支持嵌套事务的数据库)下可用。本文,我们详细分析了 Spring 事务传播行为,掌握它们对于构建健壮的事务管理策略至关重要。通过合理选择合适的传播行为,可以确保在复杂的业务逻辑和调用链中,数据的一致性和系统的稳定性。开发人员应根据具体的业务需求和应用场景,灵活运用不同的传播行为,以达到最佳的事务管理效果。
2024-12-17 14:50:56 777
原创 程序员面试必备的Java八股文,适合所有的Java求职者!
如果是一两年经验,看个人水平,水平好些的可以看一颗星到五颗星所有题目(我知道有这样的朋友:虽然经验少,但爱学习,一两年的经验拥有普通人四五年的技术能力)(难度:★★ 频率:★★★★★)(难度:★★ 频率:★★★★)(难度:★★★ 频率:★★★★★)(难度:★★★★ 频率:★)(难度:★★★ 频率:★★)(难度:★★★ 频率:★★★★★)(难度:★★ 频率:★)HashMap数据结构、哈希冲突解决方法(难度:★★★ 频率:★★★★)(难度:★★★ 频率:★★)内联结,全(外)联结,左联结,右联结,的含义?
2024-12-16 13:52:10 1139
原创 被裁后半月面试8家公司无果,凭借这份Java面试指南成功入职阿里
上个月班上的好好的突然被通知"毕业了",现在工作也确实不好找。之前近一个月面了很多大大小小的公司降薪太严重都没考虑去,最后没办法本来都打算随便去一家了却偶然得到一个阿里的面试机会,足足面了七面(我太难了)一面: 90mins (基础知识与集合框架)二面:40mins (线程池设计模式等)三面coding:2h(千万级数据量的list找一个数据)四面:50mins(主要调优问JVM)五面coding:2h(百万级int数据量array求和)六面交叉面:20mins(深挖项目)
2024-12-16 13:47:35 227
原创 Spring 事务有几个隔离级别?如何使用它们?
在数据库系统中,事务隔离级别定义了一个事务在多大程度上能够看到其他事务对数据库所做的修改。DEFAULT:使用数据库的默认隔离级别。(读未提交)(读已提交)(可重复读)(可串行化)不同的隔离级别在数据一致性和并发性能之间存在权衡。以下将详细介绍每个隔离级别的原理、优缺点以及在 Spring 中的使用方式。事务隔离级别是数据库并发控制的重要机制,它在数据一致性和并发性能之间提供了灵活的平衡。Spring 提供了便捷的事务管理和隔离级别配置,使开发者能够根据业务需求轻松调整事务行为。
2024-12-16 13:42:02 749
原创 Thread.sleep(0)会导致线程睡眠吗?
Thread.sleep(0)在 Java中是一个有趣但不常用的操作,其主要作用是试图通过让当前线程主动放弃 CPU 时间片来触发线程调度器的重新调度,但实际效果依赖于具体的 JVM和操作系统实现。在编写多线程程序时,通常应该使用更明确和可控的同步机制来管理线程的执行顺序和资源共享,而不是依赖于这种不确定的操作。实际工作中,不推荐使用Thread.sleep(0)。
2024-12-16 13:41:19 901
原创 2000道面试必问的Java面试八股文及答案整理(2025版)
说快也快,说不快也不慢!年前,陆陆续续,好多大厂都在裁员;年后,又有一大批程序员失业,找不到避风港;这时候,就有人说了,为什么找工作这么难?其实,并不是找工作难,而是你没有找对方法、面试技巧,你更需要的是硬技术+软技能相结合,才能畅通无阻,平淌大厂offer拿到手软!在这激动人心的时候不得不给正在找工作的程序员来一波重大福利了,小编准备了今年最新的2000道大厂的java面试题,希望大家能够喜欢!不管最近要不要去面试,建议大家都保存一份!!学完之后不论是 厂内晋升 还是 跳槽涨薪 都不在话下!
2024-12-15 19:38:34 276
原创 2024年Java高频面试题库总结(600+java面试真题含答案解析)
不知什么时候起,互联网行业掀起一股寒冬之风,到处都给人一种岌岌可危的寒颤之感,总觉得是要见不到明日的太阳一般,细细想来,最近的行业内的各种状况确实让不少人有此担忧。从我认识的好几个程序员口中了解到,现在互联网已经进入寒冬中的寒冬了,而且往后会越来越差,裁员,降薪 正在大面积进行,而且超过35岁的大部门要面临转岗。互联网行业虽然正在经历缩编、减招,但事实上,相比传统行业的惨淡,互联网行业所面对的市场无论从发展前景,还是招聘需求上,都仍然。
2024-12-15 19:37:41 217
原创 @NotNull, @NotBlank,@NotEmpty,你用对了吗?
@NotNull、@NotEmpty 和 @NotBlank 是 Java Bean Validation(如 Hibernate Validator)中常用的注解,用于校验字段的有效性。它们之间有不同的适用场景和约束条件。这篇文章,我们将详细解释它们的区别及使用场景。@NotNull的作用是仅确保字段不为 null。因此,对于字符串来说,允许为空字符串 ("");对于集合等,也只检查是否为 null,不检查是否为空集合。@NotNull适用于任何类型的对象(如字符串、集合、自定义对象等)。如下示例,展示了
2024-12-15 19:36:14 294
原创 Spring Bean是什么?十分钟带你了解!
Spring Bean 是在 Spring 容器中实例化、组装和管理的对象。它们通常是应用程序中业务逻辑、数据访问、服务等功能的具体实现。通过定义 Bean,开发者可以利用 Spring 提供的依赖注入(Dependency Injection)和面向切面编程(Aspect-Oriented Programming)等特性,简化应用程序的开发和维护。Spring Bean 是构建 Spring 应用程序的基础单位,通过它们,开发者可以利用 Spring 提供的强大功能,实现松耦合、可维护和可测试的应用程序。
2024-12-15 19:35:26 522
原创 万万没想到!!Java八股文(典藏版)开源了
本以为在大厂可以逃过35岁的坎儿,结果还没到35就遇上了大裁员。。。被裁的那一个月,我拿着公司给的2N在家躺了大半个月,刚开始是不甘,到后面每个月一万多的房贷催着我不得不重新审视自己,随后踏上了海投之路。结果现在的环境真的太卷了,严重打击我的自信心。大半夜找了还在阿里的哥们谈心喝酒,他也知道我现在的压力很大,帮我找他们公司的面试官要了一份简历模板和面试指南,据说是他们内部HR共享的资料。为了快点挣到钱,我二话不说开始背,然后成功收到了7家offer,最后选了一个我喜欢的(就是钱多的)成功入职。
2024-12-13 16:18:30 219
原创 Github点赞120k的Spring全家桶笔记,吃透Offer拿到手软
Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包SpringMVC、SpringBoot、Spring Cloud、Spring Data等解决方案。很多研发人员把spring看作心目中最好的java项目,没有之一。Spring系列包含非常多的项目,可以满足java开发中的方方面面。所以这是重点也是难点,工作中必须会,面试时肯定考。下面我会为大家介绍一些上面所说方案的相关实战PDF及面试资料,希望会对大家有所帮助~
2024-12-13 16:11:05 260
原创 SpringBoot中application.properties和application.yml深度对比!!
本文,我们通过多个维度对application.properties 和 application.yml进行了对比,两者都是 SpringBoot中强大的配置工具,选择哪一个主要取决于项目的复杂性和团队的偏好。对于简单和扁平化的配置,application.properties 足够使用;而对于复杂、层次化的配置,application.yml 提供了更好的可读性和组织方式。
2024-12-13 16:09:34 396
原创 服务熔断,服务降级,服务限流,如何区分??
服务降级是指在系统部分功能出现异常或负载过高时,主动降低某些非核心功能的质量或直接停止这些功能,以保证核心功能的正常运行。其核心思想是“优先保障核心服务”。服务熔断是一种保护机制,用于防止系统在某些服务出现问题时,影响到整个系统的稳定性。其灵感来源于电力系统中的熔断器,当电路出现过载时,熔断器会自动切断电路以保护整个系统。服务限流是指通过限制系统处理请求的速率,来保护系统资源,防止系统过载。限流策略通常用于防止突发流量对系统的冲击。
2024-12-13 16:06:39 704
原创 一文搞懂!Spring Boot启动流程详解!
Spring Boot 是基于 Spring Framework 的一套开源框架,旨在简化 Spring 应用的设置和开发。Spring Boot 允许开发者通过“约定优于配置”的方式,快速构建生产级别的微服务应用程序。它自带了许多开箱即用的功能,如内嵌服务器(Tomcat、Jetty)、健康检查、监控工具等,减少了开发者的配置工作。Bootstrap引导:虚拟机启动,加载 Spring Boot 相关类。SpringApplication类。
2024-12-12 19:44:02 804
原创 微服务中,Spring Cloud 有哪些注册中心?
应用规模:对于小规模应用,Eureka 和 Nacos 可能更适合,而对于大规模应用,Consul 和 Zookeeper 提供了更好的支持。环境要求:如果在云环境中,Eureka 和 Nacos 是不错的选择,而在 Kubernetes 环境中,直接使用 Kubernetes 的服务发现功能即可。一致性 vs 可用性:Zookeeper 和 Etcd 提供了强一致性,而 Eureka 和 Consul 在可用性上更有优势。
2024-12-12 19:41:18 594
原创 直击面试!阿里技术官手码12W字面试小册在Github上爆火
相信大家面试前都会习惯性地去看一些面经,看一些人家的面试总结。做这些无可厚非。但是对于一个不擅长找工作的小伙伴来说,其实在简历制作这一块很重要。因为简历没写好的话,连面试邀请都没有,何谈面试呢。所以小编对简历模板也做了一些收录总结,希望能对大家有所帮助。
2024-12-12 19:35:55 155
原创 一文搞懂!Spring Security+JWT+Vue实现登录权限控制
上面的代码已经能够实现基本的登录认证和权限控制,首先判断用户是否登录,登录成功后分配权限。用户每次请求都会携带token,有权限可以直接访问页面,而没有权限则会显示403并跳转到首页。
2024-12-11 15:57:14 513
原创 2000道面试必问的Java面试八股文及答案整理(2025版)
说快也快,说不快也不慢!年前,陆陆续续,好多大厂都在裁员;年后,又有一大批程序员失业,找不到避风港;这时候,就有人说了,为什么找工作这么难?其实,并不是找工作难,而是你没有找对方法、面试技巧,你更需要的是硬技术+软技能相结合,才能畅通无阻,平淌大厂offer拿到手软!在这激动人心的时候不得不给正在找工作的程序员来一波重大福利了,小编准备了今年最新的2000道大厂的java面试题,希望大家能够喜欢!不管最近要不要去面试,建议大家都保存一份!!学完之后不论是 厂内晋升 还是 跳槽涨薪 都不在话下!
2024-12-11 15:51:55 250
原创 基于 MongoTemplate 实现MongoDB的复杂查询
再跟一个in() ,表示列的in 操作,in() 中跟的是in操作的值。如果是两个AND 条件,类似于SQL中的: (防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )A表达式 AND B表达式,用法和or的使用方法是一样的。我们可以通过 or、and 操作来不断的组合生成一个新的Criteria实例,也就是一个新的查询条件 ,并且可以以此查询条件继续组合生成更高级的Criteria,以此不断的类推。我们这里使用的是in 操作,除此之外,常用的还有。
2024-12-11 15:50:20 686
原创 MySQL的两阶段提交是什么?它是如何工作的?
MySQL 的两阶段提交机制是确保分布式系统中事务一致性的重要协议,尽管存在性能开销和阻塞问题,但是在数据一致性和可靠性方面具备优势,在分布式系统中有广泛的使用。对于程序员,我们需要深入地理解两阶段提交的原理,这样才能更好地理解分布式事务处理原理。
2024-12-11 15:49:31 791
原创 又曝新作!阿里 P9 再出山,操作性超强的 Spring 源码实践!
如果你看懂了 Spring 源码,再去看 MyBatis、Spring Security 源码,你会发现这些源码都非常容易,稍微瞅几眼就懂了。然而源码的学习是一个枯燥的过程,源码解读也是一个枯燥的过程,但是一旦你把源码搞懂了,技术上的提升也绝对是肉眼可见的,所以,去折腾一下源码绝对是有必要的,这也是你和同行拉开差距的方式之一。本文将会从Spring基础入门、Spring项目实战再到Spring底层源码分析来介绍,希望读者们能够从中获取到对自己有用的知识,进而升职加薪。目录。
2024-12-11 15:49:01 135
原创 四种常见的微服务架构模型,你用过哪一种?
微服务的几种模型见证了微服务架构的演进历史,每种架构都有其使用场景和一定的时代意义;四种架构都是分离关注点,将变与不变进行分离;四种架构模型表现形式不一样,但设计思想都体现了微服务架构高内聚低耦合原则,正所谓神同行异;四种架构的核心层都是领域层,它保持领域模型和业务逻辑的稳定,对外提供稳定的细粒度的领域服务;
2024-12-10 19:34:18 481
原创 太卷了!Spring Boot 3.x 原来有这么多优点
这篇文章,我们整理了 Spring Boot 3.x 相比于 2.x 版本提供的众多功能增强和性能优化,对现代云原生应用程序的开发提供了强有力的支持。通过更新基础设施和底层依赖,Spring Boot 3.x 力求为开发者提供一个更加高效、更具现代感的开发环境。虽然以上都只是一些主要的改进,深入了解和使用新特性仍需结合具体项目需求和实践经验。
2024-12-10 19:32:41 635
原创 没错,这就是 SpringBoot Event的工作原理!
Component@Override本文我们详细地介绍了SpringBoot事件机制的原理、核心源码以及实际使用方法。通过运用事件机制,我们可以更好地实现解耦合和异步处理,为项目的可维护性和扩展性提供支持。
2024-12-10 19:32:05 646
原创 猎杀时刻,阿里高工总结spring全栈笔记,疯狂狩猎大厂offer!
我们做这行的对于Spring的学习,可以说是一直未停止。前段时间Spring5.0发布,多了很多新功能,这些新功能改变了我们使用该框架的方式。但是很多铁汁对于Spring 5.0的新增功能并不是很了解,更别说利用这些新功能使用Spring MVC构建应用程序,使用Spring Framework构建并扩展微服务,以及如何开发和部署云应用程序了。对于Spring,虽然大家在工作中离不开这个框架,但是在简历上却没有太多人敢写精通。
2024-12-10 19:31:29 421
原创 裂墙推荐!阿里大牛新产Java面试速成指南,主打就是躺着拿Ofeer
阿里Java面试速成指南(2025版) 这份面试指南从基础到高级足足渗透了23个技术栈,篇幅也达到了近300页,小编还额外整理了一份优秀同行的Java简历模板以及我一朋友面试阿里的面经,希望能对大家有所帮助,碍于篇幅限制。但说实话,现在学习这些技术的人太多了,很多粉丝反馈说有经常在网上找些面试总结刷,但都不是很系统,一套下来学得费劲又无效。我自己也有实感,多年身处一线互联网公司,虽没有直面过求职跳槽的残酷,但经常担任技术面试考官,对程序员招聘市场的现状很清楚。的解析中迈出第一步。
2024-12-10 19:30:38 690
原创 Spring Boot 常用注解大全:每个程序员必备
解释:这是一个组合注解,通常用于主应用程序类,标志着这是 Spring Boot 应用程序的入口点。它包含了其他注解,如@Configuration、@ComponentScan 和@EnableAutoConfiguration。
2024-12-09 13:49:56 752
原创 如何解决MySQL 的深度分页问题?
本文,我们分析了 MySQL 的深度分页问题以及解决方案。对于 MySQL 中的深度分页,我们可以通过合理的优化策略来提高查询效率。具体选用什么方案,我们需要具体场景具体分析,但是核心还是在于理解数据库的工作原理,利用索引、优化查询策略、使用标记分页、分区表、缓存结果等些优化技术。
2024-12-09 13:44:30 760
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人