Sinsy Blog

欢迎来到我的博客

jdk 源码系列之 TheadPoolExecutor

jdk 源码系列之ThreadPoolExecutor 前言 最近在做消息系统重构,许多代码耦合在业务层,不利后续需求的更迭。经过讨论,将日志、消息、邮件抽离出来,放在切面层里面进行异步处理。 在使用的过程中,产生了不少疑问。 为何 worker 是线程安全的? 私有参数的作用是什么?比如(workQueue、maximumPoolSize 等) 以下源码都是基于...

松耦合

在这里,先祝大家在新的一年里变得更强~ 什么是耦合 耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内...

在 ArrayList 使用冒泡法

前言 前几天接到一个类似版本控制的需求,其中某个元素需要排在最后面。遇到问题有点意思,在实现的过程中出现了元素的重复。 实现过程 由于我需要将某个元素排到最后面,第一想法使用冒泡法,将需要的元素依次与后面的元素做一个交换,完成冒泡排序。 假设 en 你需要转移的元素,完成与 2 、3 这两元素的交换。 正常来说,我们是这样使用的冒泡法的。 1 2 3 4 5 6 7 8 9 10...

redis 基础数据 sets 业务场景分析

redis 基础数据 sets 业务场景分析 针对常见的业务场景,只使用 redis 的 sets 命令来分析。 sets 介绍 sets 是唯一字符串的无序集合,集合不允许重复键数据。 时间复杂性:无论是 add 、 remove 都是 O(1)。 最大长度:2^32 - 1 元素。 业务场景分析 sinter、sinterstore 图如下: 作用:计算集合成...

nginx 平滑升级、以及导入第三方模块

如何在生产环境中不停机升级 nginx、或者不停机引入 nginx 第三方模块 前言 在引入第三方模块pagespeed 的时候,查阅了官网发现,引入第三方需要重新安装升级,还有就是通过 yum install 加载进去。 不过试了一下,发现不能,最后才定位到。首先你得配置了 configure arguments。里面有你配置的模块才行,不然还是得重新安装一个。 1 [roo...

jdk 源码系列之ReentrantLock

最近将 ReentrantLock 学了一遍同时也把源码读了一遍,记录下学习的过程 JDK 源码系列 jdk 源码系列之StringBuilder、StringBuffer jdk 源码系列之HashMap 使用 使用锁机制,来保障线程安全 1 2 3 4 5 6 7 8 9 Lock lock = new ReentrantLock(); loc...

jdk 源码系列之HashMap

jdk 源码系列之 HashMap JDK 源码系列 jdk 源码系列之StringBuilder、StringBuffer 前言 了解 HashMap,理解扩容机制、数据结构、阈值以及初始化机制,对使用、优化等有所裨益。 继承关系 1 2 3 public class HashMap<K,V> extends AbstractMap<K,V> ...

jdk 源码系列之StringBuilder、StringBuffer

jdk 源码系列之StringBuilder、StringBuffer 前言 StringBuilder、StringBuffer 经常使用到,分析 StringBuilder、StringBuffer 源码、通过对比加深对这两个类的了解,以及以后更好的使用。 父类 1 2 3 4 5 6 7 8 public final class StringBuilder exte...

自己实现一个简单的 DevOps 工具系列(后端篇)- 2

自己实现一个简单的 DevOps 工具系列(后端篇)- 2 前文链接 自己实现一个简单的 DevOps 工具系列(后端篇)- 1 前言 在 系列一 我们实现了一个简单 CI/CD 工具,完成自动化部署,这里面还有许多问题可以优化。比如,实际的开发中有不同环境需要配置,这些将代码部署到不同机器上面,有测试环境、生产环境之类的。代码是大同小异,如果每次切换环境都要手动切换代码...

算法经典重读之经典排序

经典排序算法 引言 最近参加了 Datawhale 的算法打卡活动,感觉自己还是很多不足。决定翻开吃灰的《算法3》。重新学习下算法,加深下记忆。 导航 冒泡排序 选择排序 插入排序 归并排序 快速排序 基数排序 总结 冒泡排序 冒泡排...