摘要:
前言 最近知识星球中,有位小伙伴问了我一个问题:JDBC为什么会破坏双亲委派机制? 这个问题挺有代表性的。 双亲委派机制是Java中非常重要的类加载机制,它保证了类加载的完整性和安全性,避免了类的重复加载。 这篇文章就跟大家一起聊聊,Java中类加载的双亲委派机制到底是怎么回事,有哪些破坏双亲委派机 阅读全文
摘要:
前言 之前写过一篇文章《表设计的18条军规》,发表之前,在全网广受好评。 今天延续设计的话题,给大家总结了接口设计的18条军规,希望对你会有所帮助。 1. 签名 为了防止API接口中的数据被篡改,很多时候我们需要对API接口做签名。 接口请求方将请求参数 + 时间戳 + 密钥拼接成一个字符串,然后通 阅读全文
摘要:
前言 我之前在一家餐饮公司待过两年,每天中午和晚上用餐高峰期,系统的并发量不容小觑。 为了保险起见,公司规定各部门都要在吃饭的时间轮流值班,防止出现线上问题时能够及时处理。 我当时在后厨显示系统团队,该系统属于订单的下游业务。 用户点完菜下单后,订单系统会通过发kafka消息给我们系统,系统读取消息 阅读全文
摘要:
前言 最近星球中有位小伙伴问了我一个问题:他在项目某个方法使用@Async注解,但是还是该方法还是同步执行了,异步不起作用,到底是什么原因呢? 伪代码如下: @Slf4j @Service public class UserService { @Async public void async(Str 阅读全文
摘要:
前言 缓存在我们日常工作中,经常会使用,但如果用不好坑也挺多的。 这篇文章总结了我工作中使用缓存遇到过的7个坑,还是非常有参考价值得,希望对你会有所帮助。 1 缓存穿透 大部分情况下,加缓存的目的是:为了减轻数据库的压力,提升系统的性能。 一般情况下,如果有用户请求过来,先查缓存,如果缓存中存在数据 阅读全文
摘要:
前言 对于大部分程序员来说,主要的工作时间是在开发和修复BUG。 有可能修改了一个BUG,会导致几个新BUG的产生,不断循环。 那么,有没有办法能够减少BUG,保证代码质量,提升工作效率? 答案是肯定的。 如果能做到,我们多出来的时间,多摸点鱼,做点自己喜欢的事情,不香吗? 这篇文章跟大家一起聊聊减 阅读全文
摘要:
前言 对于后端开发同学来说,访问数据库,是代码中必不可少的一个环节。 系统中收集到用户的核心数据,为了安全性,我们一般会存储到数据库,比如:mysql,oracle等。 后端开发的日常工作,需要不断的建库和建表,来满足业务需求。 通常情况下,建库的频率比建表要低很多,所以,我们这篇文章主要讨论建表相 阅读全文
摘要:
前言 最近我写的几篇线上问题相关的文章:《糟糕,CPU100%了》《如何防止被恶意刷接口》《我调用第三方接口遇到的13大坑》发表之后,在全网广受好评。 今天接着线上问题这个话题,跟大家一起聊聊线上服务出现OOM问题的6种场景,希望对你会有所帮助。 1 堆内存OOM 堆内存OOM是最常见的OOM了。 阅读全文
摘要:
前言 今天给大家介绍一个能够帮助大家提升开发效率的开源工具包:hutool。 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 Hutool的设计思想是尽量减少重复的定义,让项目中 阅读全文
摘要:
前言 cpu使用率100%问题,是一个让人非常头疼的问题。因为出现这类问题的原因千奇百怪,最关键的是它不是必现的,有可能是系统运行了一段时间之后,在突然的某个时间点出现问题。 今天特地把我和同事,之前遇到过的cpu使用率100%的问题,总结了一下,给有需要的朋友一个参数。 1 一次性获取的数据太多 阅读全文