自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 梳理 Spring Boot Web 开发的几个概念

本文梳理了Spring Boot Web开发中的核心概念对比:Servlet/WebFlux、Tomcat/Netty、HttpServletResponse/ServerHttpResponse,以及spring-boot-starter-web/spring-boot-starter-webflux。Servlet采用同步阻塞模型,基于Tomcat容器;WebFlux采用响应式非阻塞模型,基于Netty框架。两者对应不同的请求/响应类型,不能混用。spring-boot-starter-web支持传统M

2026-02-25 20:30:21 1141 1

原创 互联网大厂Java求职者面试实录:核心技术与场景深度剖析

Spring AI为Java生态集成AI能力,模型上下文协议(MCP)用于管理AI模型上下文,RAG结合检索与生成技术,增强文本生成准确性,广泛用于智能客服与内容生成。以上内容适合求职者系统复习互联网大厂Java面试技术栈,结合实际业务场景深化理解。

2026-02-17 17:35:22 291

原创 【实战】监控上下文切换及其优化方案

本文介绍了Java进程性能监控与优化的常用方法。首先通过jps命令获取进程ID和JVM参数,然后使用jstack导出线程堆栈进行分析。详细说明了三种统计线程状态的方法,以及如何查找WAITING线程详情。此外,提供了监控系统性能指标的命令:vmstat监控上下文切换,top/htop查看CPU使用率,ps统计线程数。最后给出优化建议:合理使用线程池、减少锁竞争、避免不必要竞争、采用异步编程。这些方法可帮助诊断和解决高并发场景下的性能问题。

2026-01-31 11:01:37 258

原创 互联网大厂Java求职面试实战:技术问答与详细解析

本文通过模拟真实互联网大厂Java求职面试,全面覆盖Java核心语言、构建工具、Web框架、数据库及ORM、测试框架、微服务和安全等技术栈,结合业务场景逐步引导,帮助求职者理解面试官关心的关键知识点和实践能力。详尽答案解析让初学者能够快速掌握技术精髓,提升面试竞争力。

2026-01-27 11:35:59 442

原创 互联网大厂Java求职面试实战:多技术栈结合与业务场景详解

Java SE 8引入Lambda表达式和Stream API,大幅提升函数式编程能力;11和17皆为长期支持版(LTS),17引入了封装的类、模式匹配等新特性。

2026-01-27 10:31:28 541

原创 互联网大厂Java求职面试全流程与技术深度解析

此次面试模拟的是互联网大厂Java求职者的面试场景,涵盖了该领域的核心技术栈,业务场景涵盖音视频、内容社区与UGC、AIGC等多个热点领域。面试角色为严肃的面试官和搞笑的水货程序员谢飞机,采用故事化的提问方式,每个技术问题有详细答案帮助初学者学习。

2026-01-27 09:15:28 387

原创 [Java面试体验]互联网大厂Java核心技术栈深度面试

本次面试场景设定为某互联网大厂针对Java核心技术栈的深度技术面试,面试官严肃且专业,面试对象为水货程序员谢飞机。面试内容涵盖Java SE、Spring Boot、微服务、数据库、消息队列等多个领域,旨在通过逐步引导的问题考察应聘者的技术深度与实战能力。

2026-01-27 08:52:03 535

原创 Java大厂求职面试全流程深度解析:三轮技术问答详解(含Spring&微服务核心技术)

解析:GC作用:自动管理内存释放,防止内存泄漏。常见算法:标记-清除、复制算法、标记-整理、分代收集。通过上述三轮面试问题及详细解析,不仅帮助面试者找到提升自身技术的方向,也为备战互联网大厂Java岗位提供全套学习素材。如需全文或有针对性问题,欢迎留言!

2026-01-20 11:29:27 333

原创 互联网大厂Java面试实录:核心技术栈深度解析与业务场景落地

谢飞机,一名自认为技术还不错的程序员,来到某互联网大厂面试。面试官严肃认真,谢飞机则有点搞笑和“水货”气质。面试主要围绕Java核心技术栈展开,涵盖电商、内容社区、AI等业务场景。

2026-01-20 08:34:33 321

原创 【微服务】Nacos 配置动态刷新(简易版)(附配置)

环境:Nacos、Java、SpringBoot等。boostrap.yaml 配置。配置监听,更新时打印配置到控制台。

2025-03-12 18:17:00 1292

原创 【Java】JVM内存分析(简单版+案例)

(Person person,数组等);

2025-03-12 09:36:03 676

原创 【IDE】MetricsReloaded 复杂度分析插件

4.EVG(Essential VG):表示程序中的基本节点数,是计算中剔除掉虚拟节点后的节点数量,5.IG (lnessential VG):表示程序中的非基本节点数,是计算中保留的虚拟节点数量。1.COGC(Cyclomatic complexity):圈复杂度,是一种通过计算图中的节点、边和连接组件的数量来度量程序复杂性的指标。COGC 通常用于衡量程序中的决策点数量。3.EDGES(边的数量):表示图中边的数量。2.VG(节点个数):表示图中节点的数量。使用工具类减少判断代码。

2025-03-11 19:19:14 1161

原创 【SpringCloud】拆解黑马商城微服务框架(源码)

基于 Java 11 + SpringCloud + OpenFeign 的微服务框架的商城项目;其中间件含MySQL、Nacos、Sentinel、Seata、RabbitMQ等。

2025-03-11 14:10:02 1578 2

原创 【算法】时间/空间复杂度是啥?(小白也能理解)

简单说,它是用来衡量一个算法「执行步骤」随着数据量增大时的增长趋势。煮一锅水需要5分钟(无论水量多少)→ 时间复杂度O(1)检查100个学生是否到齐需要逐个点名 → 时间复杂度O(n)全班同学两两握手需要100*99次 → 时间复杂度O(n²)

2025-03-09 20:54:46 514

原创 【Java基础】构造器、代码块、类加载时机(细节 + 难点)

属性初始化(注意:静态代码块和静态属性初始化调用的优先级一样,如果有多个静态代码块和多个静态变量初始化,则按他们定义的顺序调用);属性的初始化(注意:普通代码块和普通属性初始化调用的优先级一样,如果有多个普通代码块和多个普通属性初始化,则按定义顺序调用);,属于类中的成员[即:是类的一部分],类似于方法,将逻辑语句封装在方法体中,通过包围起来。但和方法不同,没有方法名没有返回,没有参数,只有方法体,而且不用通过对象或类显式调用,而是。3)普通的代码块,在创建对象实例时,会被隐式的调用,

2025-03-09 20:30:27 914

原创 【Java基础】文件/目录操作、Java IO流(详解+应用场景)

I/O 是 Input/Output 的缩写,I/O技术是非常实用的技术,用于处理数据传输。Java的IO流共涉及40多个子类,实际上非常规则,都是从如上4个抽象类派生的。不同分为:字节流(8 bit)二进制文件,字符流(按字符)文本文件;:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。输入流:Java程序(内存) – > 文件(磁盘)输出流:文件(磁盘) – > Java程序(内存):将程序(内存)数据输出到磁盘、光盘等存储设备中。的不同分为:节点流,处理流/包装流。

2025-03-09 19:11:29 775

原创 【SpringCloud】RabbitMQ 延迟消息实现(TTL+死信队列 & 延迟插件)

场景:在电商的支付业务中,对于一些库存有限的商品,为了更好的用户体验,通常都会在用户下单时立刻扣减商品库存。注意:RabbitMQ的消息过期是基于追溯方式来实现的,也就是说当一个消息的TTL到期以后不一定会被移除或投递到死信交换机,而是在消息恰好处于队首时才会被处理。如果消息的延迟时间设置较长,可能会导致堆积的延迟消息非常多,会带来较大的。当队列中消息堆积很多的时候,过期消息可能不会被按时处理,因此你设置的TTL时间。,那么队列中的死信就会投递到这个交换机中,而这个交换机就称为。

2025-03-05 19:27:10 973

原创 【SpringCloud】RabbitMQ 消息队列的可靠性

每个只能配置一个,因此可以在配置类中统一设置。在发送者@Slf4j@Overridelog.error("触发return callback,");});由于每个消息发送时的处理逻辑不一定相同,因此需要在每次发消息时定义。具体来说,是在调用中的/*** 测试Publisher Confirm机制*/@Test// 1.创建CorrelationData// 2.给Future添加ConfirmCallback@Override。

2025-03-05 16:29:15 1222

原创 【SpringCloud】RabbitMQ 消息队列(搭建+配置)

解决:每个人每次只能拿1条消息,无论快慢,快的消费完后可以继续拿,慢的也是消费完后继续拿,这样就不用互相等对方。Exchange 不再把消息交给每一个绑定的队列,而是根据消息的 Routing Key 进行判断,问题:默认消息是平均分配给每个消费者的,而每个消费者的消费能力不一样,导致快的要等慢的。因此,"能者多劳"充分利用了每一个消费者的处理能力,可以有效避免消息积压问题。,具有跨语言特性,只要遵循协议收发消息,都可以与RabbitMQ交互;Headers:头匹配,基于MQ的消息头匹配,用的较少。

2025-03-03 21:50:30 2528

原创 【SpringCloud】Seata 分布式事务(快速上手)

Seata实现分布式事务

2025-03-03 18:30:51 1178

原创 【SpringCloud】OpenFeign 远程调用

OpenFeign实操用法

2025-03-03 17:34:14 918

原创 【SpringCloud】Sentinel 服务保护(请求限流、线程隔离、服务熔断)

环境:Java 11、MySQL 8.0、OpenFeign、sentinel-dashboard 1.8.6。

2025-03-03 16:59:49 2572

原创 【SpringBoot】@Controller 和 @RestController 注解区别/小细节

SpringBoot 项目访问接口时出现"Not Found",这种情况可能与Controller的注解有关。

2025-03-01 13:59:37 299

原创 【Mybatis Plus】QueryWrapper 拼接 or()、and()、like() 时条件匹配不全坑点

QueryWrapper查询条件只匹配了`serachText = "1"`这一条件,其他均匹配失败。切记不要乱用or()、and()、like(),具体用法还得看官方文档。

2025-02-23 16:52:11 570

原创 【微信小程序】订阅消息的一次性订阅 vs 长期订阅?其实一次性订阅也能实现长期发布订阅消息

相信你也曾被微信的服务通知所骚扰过(bushi)…没错,微信的订阅消息会发送到用户的服务通知处;那么如何实现呢?其实使用一次性订阅模板就可以了!

2025-02-14 22:07:11 16565 14

原创 【微信小程序】无法获取用户保存相册权限

场景:在线上版小程序调用无法获取权限用户保存相册权限;而在体验版和开发版能成功获取。原因:提交审核时未勾选"需要勾选"采集用户隐私"(默认无勾选)如果是首次采集用户隐私,需要设置隐私条款。

2025-02-14 18:13:36 2154

原创 【微信小程序】获取微信昵称 - 昵称填写 input 组件坑点

场景:使用 input 组件将用户昵称回填到输入框,然后提交到后台更新用户信息。微信官方提供了两种方法来回填用户昵称。小程序开发版和体验版:直接使用 input 组件可以正常提交昵称到后台更新;小程序线上版:直接使用 input 组件只允许提交回填的用户昵称,无法提交其他昵称(也就是说,用户只能提交其微信昵称到后台,无法自定义昵称)。

2025-02-14 17:47:30 930

空空如也

空空如也

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

TA关注的人

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