# SUMMARY * [简介](./README.md) * [开篇词 | 掌握软件开发技术的第一性原理](./docs/166570.md) * [01丨程序运行原理:程序是如何运行又是如何崩溃的?](./docs/166581.md) * [02丨数据结构原理:Hash表的时间复杂度为什么是O(1)?](./docs/167938.md) * [03丨Java虚拟机原理:JVM为什么被称为机器(machine)?](./docs/168945.md) * [04丨网络编程原理:一个字符的互联网之旅](./docs/169545.md) * [05丨文件系统原理:如何用1分钟遍历一个100TB的文件?](./docs/169533.md) * [06丨数据库原理:为什么PrepareStatement性能更好更安全?](./docs/172000.md) * [07丨编程语言原理:面向对象编程是编程的终极形态吗?](./docs/172492.md) * [答疑丨Java Web程序的运行时环境到底是怎样的?](./docs/174252.md) * [08丨软件设计的方法论:软件为什么要建模?](./docs/174955.md) * [09丨软件设计实践:如何使用UML完成一个设计文档?](./docs/175529.md) * [10 | 软件设计的目的:糟糕的程序员比优秀的程序员差在哪里?](./docs/177870.md) * [11丨软件设计的开闭原则:如何不修改代码却能实现需求变更?](./docs/178191.md) * [12 | 软件设计的依赖倒置原则:如何不依赖代码却可以复用它的功能?](./docs/179282.md) * [13丨软件设计的里氏替换原则:正方形可以继承长方形吗?](./docs/180225.md) * [14 | 软件设计的单一职责原则:为什么说一个类文件打开最好不要超过一屏?](./docs/180641.md) * [15丨软件设计的接口隔离原则:如何对类的调用者隐藏类的公有方法?](./docs/181972.md) * [16 | 设计模式基础:不会灵活应用设计模式,你就没有掌握面向对象编程](./docs/182917.md) * [17 | 设计模式应用:编程框架中的设计模式](./docs/183371.md) * [18 | 反应式编程框架设计:如何使程序调用不阻塞等待,立即响应?](./docs/184379.md) * [19 | 组件设计原则:组件的边界在哪里?](./docs/185043.md) * [20 | 领域驱动设计:35岁的程序员应该写什么样的代码?](./docs/185352.md) * [答疑丨对于设计模式而言,场景到底有多重要?](./docs/186504.md) * [21丨分布式架构:如何应对高并发的用户请求](./docs/187517.md) * [22 | 缓存架构:如何减少不必要的计算?](./docs/188667.md) * [23 | 异步架构:如何避免互相依赖的系统间耦合?](./docs/189041.md) * [24 | 负载均衡架构:如何用10行代码实现一个负载均衡服务?](./docs/190089.md) * [25 | 数据存储架构:如何改善系统的数据存储能力?](./docs/190728.md) * [26 | 搜索引擎架构:如何瞬间完成海量数据检索?](./docs/190702.md) * [27 | 微服务架构:微服务究竟是灵丹还是毒药?](./docs/191438.md) * [28 | 高性能架构:除了代码,你还可以在哪些地方优化性能?](./docs/191452.md) * [29 | 高可用架构:我们为什么感觉不到淘宝应用升级时的停机?](./docs/191465.md) * [30 | 安全性架构:为什么说用户密码泄漏是程序员的锅?](./docs/193296.md) * [31 | 大数据架构:大数据技术架构的思想和原理是什么?](./docs/193536.md) * [32 | AI与物联网架构:从智能引擎到物联网平台](./docs/194039.md) * [33 | 区块链技术架构:区块链到底能做什么?](./docs/195515.md) * [答疑丨互联网需要解决的技术问题是什么?](./docs/196797.md) * [34 | 技术修炼之道:同样工作十几年,为什么有的人成为大厂架构师,有的人失业?](./docs/197442.md) * [35 | 技术进阶之道:你和这个星球最顶级的程序员差几个等级?](./docs/198951.md) * [36丨技术落地之道:你真的知道自己要解决的问题是什么吗?](./docs/199671.md) * [37丨技术沟通之道:如何解决问题?](./docs/200103.md) * [38丨技术管理之道:你真的要转管理吗?](./docs/201771.md) * [答疑丨工作中的交往和沟通,都有哪些小技巧呢?](./docs/202783.md) * [加餐 | 软件设计文档示例模板](./docs/176947.md) * [结束语丨期待未来的你,成为优秀的软件架构师](./docs/204663.md) * [期末测试丨快来测测你对专栏内容掌握到何种程度了](./docs/226098.md)