架构设计方面
1、设计原则
8大设计原则
2、设计模式
23种设计模式
3、编程范式
- 非结构化编程 (Unstructured programming)
- 结构化编程(structured programming)
- 面向对象编程(object-oriented programming)
- 函数式编程(functional programming)
- 多范式编程 (Multi paradigm programming): 面向切面,面向接口,契约式编程,防御式编程等等
性能调优
无论何种调优都是两个方面时间和空间,CPU运行时间和内存占用空间。
带有用户界面的程序必须不惜一切代价保证UI线程的响应能力,无论执行任何任务时都应如此。而服务端程序每秒要处理几十、几百,甚至几千个请求。它必须非常高效地完成I/O操作和数据同步,以保证吞吐量和CPU利用率的最大化。
物理内存:安装在计算机中的物理芯片内存。只有操作系统才能直接管理物理内存
虚拟内存:属于进程的逻辑内存块。虚拟内存可以大于物理内存。
保留内存:在虚拟内存地址空间中为进程预留的地址段,且永远不会被分配。保留内存无法用于内存分配,因为它根本就不存在(只是一段内存地址)。
已提交内存:物理内存的一段内存,既可能位于RAM中,也可能是在磁盘上
内存页:内存单位。每页包含了多个已分配的内存块,内存块的单位通常是KB
页面交换:在多个虚拟内存区域之间交换内存页的过程。内存页既可能与其他进程交换(软交换,Soft Paging),也可能与硬盘交换(硬交换,HardPaging)。