自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 消息中间件 - RocketMQ 全解(2026 详细版)

装好 JDK 调内存,外网 IP 必配精;事务消息半提交,回查状态要记清;顺序延迟批量发,监控 Lag 别停盯;Slave 先升再切换,备份 store 零宕机!照抄 12 阶段,从开发到生产,RocketMQ 集群任你玩转!

2026-01-07 11:44:53 389

原创 Java消息中间件-Kafka全解(2026精简版)

Kafka = 分区顺序写 + PageCache 零拷贝 + 批压缩 三驾马车, “地址配好、批要开大、分区与 Broker 同步扩、监控 Lag 及时告警” —— 记住这四句,面试、调优、扛高并发都不会翻车!

2026-01-06 19:37:33 337

原创 Java消息中间件全家桶:从Kafka十亿级吞吐到Redis轻量队列,一张表搞定选型

下面按“使用频率 + 功能定位”把 Java 圈最常用、面试最常被问的消息中间件一张表整理给你,并给出核心特点与典型场景,复制即可当技术选型 check-list。

2026-01-05 10:33:50 271

原创 Java-Redis 缓存「从入门到黑科技」2026 版

Java-Redis 缓存├─ 4 种模式:Aside / Read|Write Through / Write Behind├─ Spring 落地:@Cacheable + RedisTemplate├─ 高并发三件套:分布式锁 + 布隆过滤器 + 雪崩/击穿防护└─ 黑科技:Canal 异步一致 / 大 Key 自动拆 / Pipeline 批量 / Lua 0 超卖 / 二级缓存。

2026-01-04 11:15:51 293

原创 Java 拦截器 2025 终极指南:从入门到“卷死”同事

拦截器 = “请求/方法” 的横切逻辑植入器: 让你不改业务代码,就能在目标执行前后统一加戏——鉴权、日志、限流、事务、国际化 … 统统安排。从 JSP 时代的 Filter,到 Spring MVC 的 HandlerInterceptor,再到 2025 的 Lambda 注册、响应式、GraalVM 原生,拦截器技术栈已全面进化。

2025-12-30 10:58:34 247

原创 30条Java性能优化清单

给你一套「30 极简性能清单」,每条都能 5 分钟落地,Java 码量 ≤ 12 行,效果直接可测。

2025-12-29 15:24:29 755

原创 把网页从 8s 卡成 1s,我只干了 12 件小事|JS 性能优化完美版

先放结论: 一套 3 合 1 组合拳(懒加载 + 批量 DOM + Memo),让我司电商活动页首屏时间从 8.1 s 降到 1.3 s,移动端评分 38 → 94,老板当场发 2k 红包。下文所有代码均可直接复制运行,附带“量化截图”,不吹水。

2025-12-27 09:07:12 493

原创 [特殊字符] Spring AI 超细图解:让 Javaer 也能 30 分钟撸出“ChatGPT 同款”后端

时间计划2025 Q1GA 版 + 多模态统一 ChatClient2025 Q2Spring Batch AI(大模型批处理)2025 Q3Serverless 弹性伸缩🌈 一句话:Java 生态在 AI 时代的“最后一块拼图”已到位。别再写脚本式 Python,用 Spring AI,把大模型真正“工程化”。

2025-12-26 11:39:36 824

原创 Java 文件流全解:从入门到黑科技,一篇就够!

线上热更新脚本:把新 JAR 推到 HTTP 服务器,业务进程拉下来直接 newFileSystem,用 Files.copy 覆盖本地 class,无需重启 JVM。

2025-12-25 11:48:58 562

原创 JDK 21 已转正的虚拟线程详解

虚拟线程不是“性能魔法”,而是“资源放大器”—— 把过去“每个请求 1 MB”的内存账单打到“每个请求 200 B”, 让你用同步思维,直接吃到异步级别的吞吐;只要避开 synchronized、ThreadLocal、长 CPU 三大坑, 它就是 Java 高并发终章答案。

2025-12-24 10:34:12 669

原创 Java IO 全家桶:从 BIO 到虚拟线程,一篇就够

最近再做文件流传输,发现JDK更新新的东西,而网上都还没有具体的应用方法。现在 JDK 21 已 GA,虚拟线程官宣“同步代码跑出异步性能”,于是有了这篇“2025 版全家桶”。不管你是刚学 Java 的本科生,还是天天调网关的社畜,都能 10 分钟看完、5 分钟定位线上慢 IO。底层把 1 w 个虚拟线程挂到 1 个平台线程上,阻塞操作不再占内核栈。代价:分配慢、不受 GC 管,记得加 -XX:MaxDirectMemorySize,别等 OOM 再百度。

2025-12-23 11:13:14 825

原创 Java 时间全解析:Date 到 java.time,一篇看懂所有姿势

时间”是 Java 最劝退的 API 之一:旧版 Date 月份从 0 开始,SimpleDateFormat 非线程安全;国际化、夏令时、跨年周数……踩不完的坑。直到 Java 8 发布 java.time(JSR-310),官方终于给出“能看又好用”的解决方案。今天这篇,带你 从 0 到 1 掌握现代 Java 时间处理,并给出可直接落地的最佳实践。新项目请默认 java.time,老项目逐步迁移;

2025-12-22 11:43:59 710

原创 Java 异步编程:从线程池到 CompletableFuture,一文带你飞

在 Java 后端开发中,异步编程是提升系统吞吐量的利器。无论是查询数据库、调用远程接口,还是处理耗时任务,异步都能让 CPU 不再“干等”,从而提高并发能力、降低响应时间。但很多同学对 Java 异步的理解还停留在“开个线程”层面,面对各种 API 一脸懵。今天这篇文章,就带你从 0 到 1 彻底搞懂 Java 异步编程,并给出可直接复制的最佳实践模板。默认 ForkJoinPool 并行度 = CPU 核数,I/O 密集场景太少;给 CompletableFuture 专门配一个。

2025-12-19 15:02:27 853

原创 Java 条件判断大全:从入门到黑科技(15 段代码,复制即用)

rateLimiter.tryAcquire()) throw new RuntimeException("限流");"优秀" : "及格或不及格";else if (score >= 60) { /* 合格逻辑 */ }if (score >= 90) { /* 优秀逻辑 */ }if (n > 100) return "超大";if (n > 50) return "大";

2025-12-18 11:43:06 350

原创 Avue 易忘配置速查表:15 条代码,复制即用

{ label: '邮箱', prop: 'email', edit: true, rules: [ { required: true, message: '必填' }, { type: 'email', message: '格式错误' } ] }{ label: '用户基础信息', children: [ { label: '姓名', prop: 'name' }, { label: '年龄', prop: 'age' } ] }本文只挑“常用却容易忘”的 15 个场景,一条给一段示例,粘进项目就能跑。

2025-12-17 14:02:06 323

原创 SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)

订单表 500w,明细表 2000w,脚本见第 8 段。EXPLAIN 结果:orders 表 type=ALL,rows≈500w,全程全表扫描。原则:等值放左,范围放右。再执行 type=range,rows≈60w。欢迎在评论区晒出你的“秒优化”SQL!“索引覆盖先,延迟关联深,执行计划看 type,千万分页也飞。五、覆盖索引 + 延迟关联(深分页通用,再降到 0.2s)Step1 完全走索引不回表,Step2 只回表 20 行。

2025-12-16 19:08:32 435

原创 Java Stream(java.util.stream.*)从 0 到“进阶实战”一次性梳理出来

/ 1、2、3。

2025-12-15 21:19:21 223

原创 Java中Map的多种用法

【代码】Java种Map的多种用法。

2025-12-13 17:14:42 313

原创 Java 接口超时“踩坑地图”:7 大高频场景与一键解决方案

《7种常见超时场景及解决方案》摘要:本文针对系统超时问题,总结7种典型场景及一键解决方案:①TCP建联阻塞(设置3秒连接超时);②大结果集读取(5秒读超时+分页);③级联雪崩(确保上游超时>下游);④重试风暴(限制2次重试+1秒退避);⑤同步阻塞(异步操作添加3秒超时);⑥分布式锁死等(tryLock设置200ms尝试);⑦大对象传输(分页+字段裁剪)。核心原则:合理设置超时阈值,避免无限等待,通过分层控制和资源保护提升系统稳定性。

2025-12-11 16:54:08 311

原创 Spring 同方法自调用导致 @Transactional 失效

摘要:Spring事务失效的典型场景是类内自调用,由于动态代理机制,this.xxx()调用@Transactional方法会绕过事务切面。解决方案包括:1)拆分为独立Service(推荐);2)注入代理对象自调用;3)使用AspectJ或编程式事务。通过ArchUnit规则、IDE插件和CodeReview可预防此类问题。关键结论:必须将事务方法移至其他Bean或显式使用代理,才能确保Spring事务生效。

2025-12-09 20:44:28 816

原创 Mybatis配置自动生成实体类

【代码】Mybatis配置自动生成实体类。

2024-12-02 15:48:51 379

原创 Redis集群docker部署

reids集群自动创建并启动。

2024-11-30 18:59:36 246

原创 npm ERR! code ECONNRESET---问题已解决

解决方式:删除掉项目下的package-lock文件后重新运行npm install即可。原因:所设置的npm仓库地址有别人的信息,对自己没有用并产生冲突导致。

2024-11-26 09:49:13 2050 5

原创 dockerfile

举例说明:dockerfile文本名称--mycentos,注意:官方命名为Dockerfile。构建镜像:docker build -f mycentos -t centos01:0.1 .dockerfile是用来构建docker镜像的文件的命令参数脚本。dockerfile常用指令:全部都需要大写。

2024-11-19 21:44:46 518

原创 docker容器之间的卷共享

1、通过 --volumes-from来实现容器之间的数据共享。例如:两个mysql实现数据共享。

2024-11-19 19:26:09 310

原创 Docker安装其他容器命令

docker commit -m=“提交的描述信息” -a=“作者” 容器id 目标镜像名: [TAG]-p:映射公网端口3344到nginx默认80端口,可以通过访问3344,来访问80。docker run -it -v 主机内目录: 容器内的目录。curl localhost:3344 --访问nginx。docker stats --查看docker容器内存状态。docker commit --提交一个容器作为副本。docker pull nginx --拉取镜像。--name:起别名。

2024-11-11 09:33:40 274

原创 配置docker阿里云镜像地址

ce/linux/centos/docker-ce.repo --配置阿里云仓库。docker rmi -f $(docker images -aq) 删除所有镜像。docker rmi -f 容器id1 容器id2 ... --删除多个容器。7.systemctl restart docker --重启docker。6.systemctl start docker --启动docker。docker rmi mysql --删除镜像。docker --help --帮助命令。

2024-11-11 09:27:31 3967

原创 FTP文件服务

【代码】FTP文件服务。

2024-04-15 16:08:12 324

原创 Java的SPI机制(Service Provider Interface)

Java的SPI机制是一种服务发现机制,它允许第三方扩展和替换核心库中的组件。SPI机制在Java中主要用于提供一种发现和加载服务提供者的方式,而不需要在编译时确定具体的服务实现。

2024-04-12 09:37:09 514

原创 flowable数据库配置

2、数据库配置文件DatasourceConfigurator类。此配置文件仅供参考,具体以公司项目为准!3、流程引擎配置文件类。

2024-04-12 09:12:03 806

原创 springmvc注解模式的xml配置

【代码】springmvc注解模式的xml配置。

2024-04-12 08:33:12 171

原创 Java项目防止导出资源失败的build标签

【代码】Java项目防止导出资源失败的build标签。

2024-04-12 08:30:40 153

原创 MySQL数据库备份万能脚本

【代码】MySQL数据库备份万能脚本。

2024-04-03 16:23:58 675

原创 spring声明式事务

spring中事务的管理。

2024-03-09 21:19:54 373

原创 spring整合mybatis

通过上面的测试类可以实现spring和mybatis的整合,具体测试可以写个test类进行测试,这里就不显示了。2.1、方法一:通过sqlSessionFactory实现。2.2、方法二:通过SqlSessionDaoSupport实现。通过上面的就可以实现spring和mybatis整合。SqlSessionTemplate配置。

2024-03-08 16:59:36 1020

原创 AOP实现方法

1、自定义类//自定义类System.out.println("=========执行方法前==========");System.out.println("=========执行方法后==========");2、配置文件信息,基于方法一修改-- 自定义前,ref要引用的类 -->--切入点 -->-- 通知-->3、测试实现,代码同方法一,输出结果为:=========执行方法前==========增加了一各用户!=========执行方法后==========

2024-03-08 11:00:05 988

原创 代理模式--Java

代理模式就是甲方出项目,由乙方代理完成,甲方只管项目完成与否,乙方全程管理项目过程细节;分为静态代理和动态代理。

2024-03-07 15:18:02 940

原创 Java方式配置spring

通过上面的三步可以实现Java方式配置spring。

2024-03-07 09:46:17 507

原创 bean的自动装配

1、byName自动装配:需要保证所有的bean的id唯一,并且这个bean需要和自动注入的属性set方法的值一样。2、byType自动装配:需要保证所有的bean的class唯一,并且这个bean需要和自动注入的属性类型一样。需要导入启动注解的支持:<context:annotation-config/>常用注解@Autowired和@Resource。3、注解实现自动装配。

2024-03-06 18:33:30 414 1

原创 spring配置说明

3、其余的 request、session、application、websocket这些都是在web开发中使用。导入多人的配置文件,使其合并为一,使用时只需要使用后的唯一就可以获取到其他配置文件的内容,适用于团队开发。1、单例模式(spring默认机制):每次从容器中get时,都是同一对象。2、原型模式:刚好与上面相反--每次从容器中get时,都是不同对象。5.1、p命名空间注入,需要两个前提条件。5.2、c命名空间注入,同样需要两个条件。1、别名,可以通过别名获取到对象。6、bean的作用域。

2024-03-06 17:23:25 423 1

空空如也

空空如也

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

TA关注的人

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