作为一名软件开发者,我们经常要去解决一些问题,一些技术问题。

每个人解决问题的角度和思路不同,但是呢,大多数情况下,抽象一下,解决问题的视角又是相同的。

有过几年开发经验的同行,你们应该也有和我一样的如下体会。

在解决一类问题时,我们经常会从时间和次数两个维度考虑。比如kafka在删除数据时提供两个配置项,就是从时间和次数两个维度进行的。比如Netty在底层处理任务队列中的任务时,也是从时间和次数两个维度进行的。比如操作系统在将数据刷入磁盘时,也是提供了时间和次数两个维度。诸如此类的还有很多。

我们经常会提及性能与数据一致性之间的平衡,时间与空间之间的平衡,时间与次数之间的平衡,或者时间与次数和速度之间的平衡等。

在找到一个平衡点,基本都会从以上几个角度考虑。其实这种’感觉’还有很多,或者很多相似的。在日常工作和学习中,去寻找,去抽象,做到’大一统’。

解决问题的小思路_其他