首页 / 作者AUTHOR / SPRINGFORALL

hello

记录技术探索,分享实践心得。

共 1901 篇文章

​架构师应知必会的缩写大全

CAP、BASE、SOLID、KISS,这些缩写词是什么意思? 下图解释了系统设计中常见的缩写词。 CAP CAP 定理指出,任何分布式数据存储都只能提供以下三种保证中的两种: 一致性 – 每次读取都会收到最近的写入或错误。 可用性 – 每个请求都会收到响应。 分区容忍度 – 系统在网络故障时仍能继续运行。…

Java ArrayList 源码分析(一)

前言 如果想要更深入的去了解集合那就要通过我们去分析它的源码来了解它。希望对集合有一个更进一步的理解! 既然是看源码那我们要怎么看一个类的源码呢?这里我推荐的方法是: 1)看继承结构 看这个类的层次结构,处于一个什么位置,可以在自己心里有个大概的了解。 2)看构造方法 在构造方法中,看做了哪些事情,跟踪方法中里面的方法。 3)看常用的方法…

Java Linkedlist源码分析(一)

前言 前文分析了ArrayList的源码,这一篇分享的是LinkedList。我们都知道它的底层是由链表实现的,所以我们要明白什么是链表? 一、LinkedList简介 1.1、LinkedList概述 LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的。 LinkedList…

业务复杂度治理方法论–十年系统设计经验总结

01 复杂度综述 1、什么是复杂度 软件设计的核心在于降低复杂性。–《软件设计的哲学》 业界对于复杂度并没有统一的定义,斯坦福教授John Ousterhout从认知负担和工作量方面给出了一个复杂度量公式 子模块的复杂度cp乘以该模块对应的开发时间权重值tp,累加后得到系统的整体复杂度C 这里的子模块复杂度cp是一个经验值…