自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java中String的存储位置

聚焦于Java中String的存储位置,详细介绍了堆与字符串常量池的概念及其作用,分析了通过字面值和new关键字创建字符串对象的存储差异,并解答了经典面试问题中关于字符串对象创建数量的疑问。此外,还探讨了String.intern()方法如何影响字符串在常量池中的存储行为,帮助读者全面理解Java字符串的内存分配与优化机制。

2025-07-28 22:07:38 323

原创 大型互联网项目架构及技术选型

介绍了SOA与微服务架构的核心理念及区别,分析了SpringCloud与Dubbo两大服务框架的定位与生态对比,阐述了RPC与Feign在服务间通信中的应用场景和优劣,最后对分布式锁的主流实现Zookeeper与Redis进行了对比,帮助读者全面理解互联网项目架构设计与技术选型的关键要点。

2025-07-20 22:53:10 452

原创 MQ消息重复消费的原因、解决方案对比

消息重复消费是很多系统都会碰到的麻烦事,本文先讲清楚为什么会重复,然后说说用 Redis 和消息确认(ACK)能不能解决问题,哪里还会出坑。最后给你介绍几个靠谱的解决方案,帮你保证消息不丢也不重复,让业务更稳更安全。

2025-07-03 11:11:49 697

原创 数组与链表:性能差异的深层解析与查询效率优化

探讨了数组与链表在时间复杂度之外的真正性能差异。时间复杂度不等同于实际性能,CPU缓存命中率、扩容成本和空间开销是影响实际性能的关键因素。此外,本文还系统性地介绍了优化数组和链表查询效率的策略

2025-06-25 20:52:03 453

原创 Service 层只有一个实现类也要写接口?

本文将深入探讨“为什么只有一个实现类也需要接口”,并逐步引出接口 + 实现类的典型用途——策略模式。我们将通过两个典型的实战案例:“登录策略(使用 List 遍历实现 supports 判断)”和“支付策略(通过 Map 注入快速定位策略)”,全面讲解策略模式在 Spring 中的落地方式。

2025-06-19 13:48:22 716

原创 Java synchronized 深度指南:锁对象、用法与六种加锁模式详解

Java同步机制的核心是对象监视器锁(monitor lock),通过synchronized实现线程同步。锁对象必须是引用类型,可以是实例对象(this)、类对象(Class)。synchronized有6种写法:3种实例锁(this、实例变量、实例方法)和3种类锁(Class、静态变量、静态方法)。wait/notify机制基于对象Monitor,调用wait()会释放锁并进入等待集合,notify()唤醒线程重新竞争锁。实例锁保护单个实例资源,类锁保护全局类资源。

2025-06-13 10:24:52 1003

原创 Spring boot 3.x 最新系统要求

Spring Boot 3.5.0 的最低配置为:Spring Boot 3.5.0 + JDK 17 + Maven 3.6.3 + maven-compiler-plugin 3.13.0 + IntelliJ IDEA 2020。其余自行推断。

2025-06-01 15:25:05 1326

原创 Spring Bean 的注解配置和自动配置

Spring 通过 @ComponentScan 发现你在代码中明确使用注解定义的 Bean,而通过 @EnableAutoConfiguration 实现智能化的自动配置,从而大大减少了传统 Spring 应用中繁琐的 XML 配置或 Java Config 代码。

2025-05-23 11:29:06 643

原创 现代 API 接口设计的主流趋势

在当今软件开发中,API 已成为前后端分离、系统集成和生态协作的核心桥梁。为了提升 API 的可用性、标准化与自动化能力,业界形成了以 RESTful 设计风格 + OpenAPI 标准描述 + JSON 数据格式 为主流的 API 设计范式。

2025-05-22 16:23:33 467

原创 Java泛型擦除的问题与解决方法

反射和序列化,泛型擦除会导致问题,例如反序列化时无法推断出泛型的真实类型。为解决这一问题,可以使用如 Spring 的 ParameterizedTypeReference 来保留泛型信息,确保框架能正确处理泛型类型。

2025-05-20 11:33:54 438

原创 getInputStream() has already been called for this request 异常原因及解决方案

getInputStream() has already been called for this request 异常原因及解决方案

2025-04-30 15:51:50 1472

原创 Result与ResponseEntity的对比分析

在Java Web开发中,自定义Result类和 Spring 框架的是两种常见的 HTTP 响应处理方式。Result是一个自定义的 Java 类,主要用于封装 API 响应的数据结构(即响应体),常用于业务层的响应格式。而是 Spring 提供的一个类,用于更细粒度地控制 HTTP 响应,包括状态码、headers 和响应体。。Result更偏向于业务层面的封装,而更偏向于 HTTP 协议层面的控制。Result本身并没有能力控制 HTTP 的状态码、响应头等。它只是一个简单的数据封装类。

2025-03-20 09:22:28 363

原创 CompletableFuture教程

用于异步编程,可以执行异步任务并处理结果、异常。支持多种方式来创建异步任务,支持任务组合和结果合并。提供异常处理、超时控制、任务取消等功能,适用于高并发和复杂的业务逻辑。是 Java 8 引入的非常重要的异步编程工具,能显著简化并发编程模型,并提高性能和响应速度。

2024-12-04 13:07:31 363

原创 Arrays、List、Set、Map 排序总结

总结了 Java 中常见的数据结构(List、Set、Map 和数组)的排序方法。

2024-11-28 11:37:21 509

原创 使用scanner.nextLine()读取不到数据的问题

探讨 Java 中 Scanner 类的两种常用方法:nextLine() 和 next(),以及它们的区别和常见问题。

2024-11-26 18:48:50 215

原创 ResponseEntity 类构建 HTTP 响应(速成)

学会快速使用 ResponseEntity 来构建符合需求的 HTTP 响应,提升 API 的可用性和用户体验。

2024-10-30 20:09:27 611

原创 修改Docker容器中的MySQL数据库密码

修改Docker容器中的MySQL数据库密码。

2024-07-30 21:12:13 1210

原创 使用MyBatis Plus的分页插件

MyBatis Plus的分页插件的配置和使用

2024-07-30 21:02:49 714

空空如也

空空如也

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

TA关注的人

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