摘要:
原文链接:https://www.changxuan.top/?p=1457 引言 JVM 中的 GC 在技术博客中应该算是个老生常谈的话题,网络上也存在着许多质量参差不齐的文章,可以看出来大都是“复制粘贴”的风格。在写这篇文章的时候,我问了问自己“现在我算不算是在制造数据垃圾?”。 我为什么要写呢 阅读全文
摘要:
原文链接: https://www.changxuan.top/?p=1386 Redis 是一个非关系型的内存数据库,使用内存存储数据是它能够进行快速存取数据的原因之一。 在实际应用中,常有人提倡把 Redis 只作为一种能够提高用户体验的组件来使用, 也就是说即使 Redis 服务挂掉之后也要保 阅读全文
摘要:
原文链接:https://www.changxuan.top/?p=1252 CopyOnWriteArrayList 是 JUC 中唯一一个支持并发的 List。 CopyOnWriteArrayList 的修改操作都是在底层的一个复制的数组上进行,即写时复制策略,从而实现了线程安全。其实原理和数 阅读全文
摘要:
原文链接:https://www.changxuan.top/?p=1243 在上一篇文章(好用一点的锁)的最后,我们又发现了目前的锁存在两个问题: 由于不可控的异常状况,持有锁的线程不能显示的释放锁,导致锁一直处在被持有的状态。 目前锁不支持在某一段时间内只允许获取一次锁。 我们首先来看第一个问题 阅读全文
摘要:
原文链接:https://www.changxuan.top/?p=1238 在上一篇文章(一把简单的“锁”)中,我们发现了目前锁存在两个问题: 某个线程所持有的锁可以被其它线程随意释放掉 目前锁还不支持可配置的阻塞/非阻塞锁 注:当然不仅仅是存在这两个问题 首先,我们来看第一个问题。之所以存在这种 阅读全文
摘要:
原文链接:https://www.changxuan.top/?p=1230 在单体架构向分布式集群架构演进的过程中,项目中必不可少的一个功能组件就是分布式锁。在开发团队有技术积累的情况下,做为团队的一个“工具人”往往有限的时间都投入到了业(C)务(U)开(R)发(D)上,并不会去深究工具类中的分布 阅读全文
摘要:
原文链接:https://www.changxuan.top/?p=1208 前两天,我在一位同学提交中看到了下面这样的一行代码。 Map<String, String> temp = new HashMap<>(6); 我给他说,你这样实例化 Map 对象不好用,他不服气。我说小朋友:如果想指定 阅读全文
摘要:
原文链接: https://www.changxuan.top/?p=1161 起因 昨天的时候,同事遇到了一个问题需要访问一个 nginx 部署的项目的 swagger 文档,但是在路由转发规则那里加上了 swagger-ui.html 之后仍不能访问。平时我们在内网开发,可以直接访问 后端项目i 阅读全文
摘要:
原文链接:https://www.changxuan.top/?p=1130 前言 自从 Java 8 开始提供了一个Stream 接口。因为是个新东西大多数同学可能都有些抵触心理,往往在代码中并不会用到它。这样就会导致有些地方的代码本该更加简洁,而实际情况确实写的十分臃肿。 虽然我很赞成“写大家看 阅读全文
摘要:
原文链接:https://www.changxuan.top/?p=1122 简介 字典是一种在 Redis 中高频使用的用于保存键值对的抽象数据结构,在 Java 中常用的有 HasmMap 等。 由于字典中键的唯一性,所以在 Redis 中得到了广泛的应用。 实现 Redis 中的字典是基于哈希 阅读全文