阅读摘要-每日阅读
来源:互联网 发布:域名服务器的类型有 编辑:程序博客网 时间:2024/05/17 00:12
局限性原理:
(计算机/软件开发的一些原理和规律)
局部性原理这个原理讲的是在一段时间里, 整个程序的执行仅限于程序的某一个部分, 相应的, 程序访问的存储空间也局限于某一个内存区域, 具体分为:
时间局部性:
是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行; 如果某数据被访问,则不久之后该数据可能再次被访问。
空间局部性:
是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。
坐飞机的怎么和坐驴车的打交道: 缓存为什么需要缓存(Cache)?
本质的原因是速度的不匹配。 CPU比内存快100多倍, 比硬盘快1000多万倍。
如果CPU每次做事的时候, 都等着内存和硬盘, 那整个计算机的速度估计要慢的要死了。
所以根据局部性原理, 操作系统会把经常需要用的数据从硬盘取到内存, CPU 会把经常用的数据从内存取到自己的缓存中。 (参见文章《CPU阿甘》)通过这种办法等待的问题能带到极大的缓解。
在Web 开发中,缓存更是非常常见的, 由于数据库(硬盘)太慢, 大部分Web系统都会把最常用的业务数据放到内存中缓存起来。
抛弃细节: 抽象抽象是计算机科学中最为重要的概念之一
《深入理解计算机系统》一书中提到:
“指令集是对CPU的抽象, 文件是对输入/输出设备的抽象, 虚拟存储器是对程序存储的抽象, 进程是对一个正在运行的程序的抽象, 而虚拟机是对整个计算机(包括操作系统、处理器和程序)的抽象。”— 总结的非常精辟
当我们遇到复杂问题的时候, 抽象是非常重要的武器
我怕等不及(异步调用):
异步调用当你的程序需要等待一个长时间的操作而被阻塞住时而无所事事的时候, 异步调用就派上用场了。
异步调用简单就是说: 我等不及你了, 先去做别的事情, 你做完了告诉我一声。
(Node.js 和 Web服务器Nginx 也是这样, 一个线程或若干个线程处理所有的请求, 遇到耗时的操作, 绝不等待, 马上去干别的事情,等到耗时操作完成后,再来通知这些干活的线程)
(著名的AJAX , 当浏览器中的javascript发出一个Http 请求的时候, 也不会等待从服务器端返回数据, 只是设置一个回调函数, 服务器响应数据回来的时候调用一下就行了。)
原文链接:码农需要知道的潜规则
- 阅读摘要-每日阅读
- 阅读摘要
- 阅读摘要
- 《人件》阅读摘要
- AMS2100文档阅读摘要
- Maven 实战 阅读 摘要
- Maven 实战 阅读 摘要
- GFx 阅读摘要
- raft论文阅读摘要
- 阅读MongoDB摘要 - Querying
- CVPR 2016 摘要阅读
- CVPR 2016 摘要阅读
- 每日阅读20081216
- 每日阅读20081127
- 每日阅读(四)
- 每日阅读(三)
- 每日阅读(二)
- 每日阅读(一)
- CSS float浮动的深入研究、详解及拓展(二)
- Unix系统编程(1) - 文件IO
- BaiduMap提示 java.lang.UnsatisfiedLinkError: Native method not found:
- 表格中有复选框的情形
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
- 阅读摘要-每日阅读
- 号称为性能最好的Java数据库连接池HikariCP解析
- cannot reload avd list问题
- 第十三周阅读程序 纯虚函数
- Jenkins构建Android项目持续集成之单元测试及代码覆盖率
- 关于mysql索引(fulltext、hash、btree)的实践
- Quartz框架多个trigger任务执行出现漏执行的问题分析
- UI基础_UICollectionView
- JSP指令