池的概念 由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正式运行阶段,即开始处理客户请求的时候,如果它 ...
分类:
编程语言 时间:
2016-08-22 18:16:37
阅读次数:
256
从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流。 出自:http://blog.csdn.net/yangbutao/article/details/12242441 一、 设计理念 1. 空间换时间 1) 多级缓存,静态化 客户端页面缓存(http h ...
分类:
其他好文 时间:
2016-08-22 12:33:49
阅读次数:
159
一、 设计理念 1. 空间换时间 1) 多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag) 反向代理缓存 应用端的缓存(me ...
分类:
其他好文 时间:
2016-08-22 11:59:57
阅读次数:
297
概述 对于程序员来说多多少少都懂一点算法,算法是什么?算法是“时间”与“空间”的互换策略。 我们常常研究一个算法的时间复杂度和空间复杂度,如果我们有绝对足够的时间和空间,那么算法就不需要了,可惜这种条件是不存在的,只是在某些情况下我们会协调两者从而达到性能上的平衡。 缓存是一种“用空间换时间”的策略 ...
分类:
其他好文 时间:
2016-08-21 19:49:31
阅读次数:
155
题目: 最开始采用暴力解法,两个for循环遍历所有组合形式,时间复杂度为O(n2),代码省略。 进一步学习,采用hash表存储,空间换时间,时间复杂度为O(n),空间复杂度为O(n); 将数组放入hash表中,利用for循环遍历数字中元素并从hash表中找到对应的数。因为从hash表中取数的时间复杂 ...
分类:
其他好文 时间:
2016-08-19 12:49:33
阅读次数:
134
1.什么是缓存? 缓存是一个到处都存在的用空间换时间的例子。通过使用多余的空间,我们能够获取更快的速度。 首先,看看没有网站没有接入CDN时,用户浏览器与服务器是如何交互的: 用户在浏览网站的时候,浏览器能够在本地保存网站中的图片或者其他文件的副本,这样用户再次访问该网站的时候,浏览器就不用再下载全 ...
分类:
其他好文 时间:
2016-08-02 13:41:26
阅读次数:
326
一、优化事项 1. 数据库(表)设计合理 (不合理设计导致内伤) 我们的表设计要符合3NF 3范式(规范的模式) , 有时我们需要适当的逆范式。2. sql语句的优化(索引,常用小技巧)3. 数据的配置(缓存设大,调整Mysql缓存) 用空间换时间4. 适当硬件配置和操作系统 (读写分离.) 内存2 ...
分类:
数据库 时间:
2016-07-15 13:31:05
阅读次数:
197
5.1 数组 类型名 数组名[元素个数],其中“元素个数”必须是常量或常量表达式,不能是变量,也必须是正整数。 数组元素在内存里一个挨一个连续存放。 5.2 筛法求素数 空间换时间,加快计算速度。 5.3 数组的初始化 初始化时,{}中值的个数可以小于元素个数。相当于只给前面部分元素赋值,而后面的元 ...
分类:
其他好文 时间:
2016-07-12 15:17:34
阅读次数:
335
矩阵乘法+空间换时间(减少乘法,取模运算) 数列的递推公式为:f(1)=1,f(2)=2,f(n)=f(n-1)+f(n-2)(n>=3) 用矩阵表示为: 进一步,可以得出直接推导公式: static int Fibonacci(int n) { if (n <= 1) return n; int[ ...
分类:
其他好文 时间:
2016-07-07 12:53:43
阅读次数:
223
NBA这赛季结束,勇士可惜啊,谁能想到没拿到冠军,库昊也没成为真正的老大,lbl一战封神,所有口水留言都变成羡慕嫉妒恨,哎,我库啊,还是还是看书吧。
ConcurrentSkipListMap说实话,之前还真没注意过,还是看JUC才看到,利用skiplist跳表结构来实现一种有序的map,之前看到的map都是无序。在学习前还是要好好了解下什么是skiplist跳表,的确很不错,利用空间换时间,复...
分类:
其他好文 时间:
2016-06-23 13:00:25
阅读次数:
266