01 2020 档案
SpringBoot 整合SpringSecurity示例实现前后分离权限注解+JWT登录认证
摘要:一.说明 SpringSecurity是一个用于Java 企业级应用程序的安全框架,主要包含用户认证和用户授权两个方面.相比较Shiro而言,Security功能更加的强大,它可以很容易地扩展以满足更多安全控制方面的需求,但也相对它的学习成本会更高,两种框架各有利弊.实际开发中还是要根据业务和项目的
阅读全文
如何保障消息中间件 100% 消息投递成功?如何保证消息幂等性?
摘要:一、前言 二、分析问题 三、持久化 四、confirm机制 五、消息提前持久化 + 定时任务 六、幂等含义 6.1、为什么要有幂等这种场景? 6.2、乐观锁方案 6.3、唯一ID + 指纹码 6.4、Redis原子操作 6.1、为什么要有幂等这种场景? 6.2、乐观锁方案 6.3、唯一ID + 指纹
阅读全文
Spring Boot 2 实战: 自定义 Servlet Filter 的两种方式
摘要:1.前言 有些时候我们需要在 Spring Boot Servlet Web 应用中声明一些自定义的 Servlet Filter来处理一些逻辑。比如简单的权限系统、请求头过滤、防止 XSS 攻击等。本篇将讲解如何在 Spring Boot 应用中声明自定义 Servlet Filter 以及定义它
阅读全文
Spring事务失效的 8 大原因
摘要:用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景? 其中有个热心粉丝留言分享了下,我觉得总结得有点经验,给置顶了: 以上留言来源微信公众号:Java技术栈,关注一起学Java! 但是我觉得还是总结得不够全,今天栈长我再总结一下,再延着这位粉丝的总结再补充完善一下,不
阅读全文
JVM 性能调优监控工具 jps、jstack、jmap、jhat、jstat、hprof 使用详解
摘要:现实企业级Java应用开发、维护中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ...... OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock C
阅读全文
写一手好 SQL 很有必要
摘要:前言 博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理 。 其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误
阅读全文
如何设计缓存系统:缓存穿透,缓存击穿,缓存雪崩解决方案分析
摘要:前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 在流量大时
阅读全文