今天想记录一下编程的一些基本知识和理论,这样在遇到一些复杂问题的时候,可以运用XXXXX原理,把复杂问题,拆解成这些基本原理。
### 1、缓存缓存的概念,无处不在。
本质思想就是把数据放在离你最近的地方,当然不能把所有数据都放在身边,肯定是经常使用的东西。这里有一个空间换时间的概念。当然,还有一个时间换空间的时候,例如网络传输的时候,可以把内容进行压缩,往往可以提高传输的效率。
2、就近原则
不能过早的声明变量,直到你必须要声明它。
3、复用
不管是线程池,还是长链接,对于一些消耗资源比较大的东西,都要想要复用,所以能看到很多池,这种池子,那种池子,所以理解复用很重要。
4、连续/排序
有序的数据往往是高效的,所以遇到了数组,第一时间肯定是可以考虑,要不要排序?会不会有收益?遇到了性能问题,往往还可以考虑,要不要可以不用排序?
所以计算机处理有序的数据,往往是高效的。
5、简单第一,性能第二
对于新手来说,性能永远是最后要考虑的东西。
对于高级程序员来说,性能在设计之初,就会反复考虑好。
如果接手现有的项目,性能往往不是最主要的,除非真的发现了性能的瓶颈。
所以大部分情况下,性能都不是优先要考虑的事情。
6、hash
很多时候,都需要用到hash。无需多说。
备注
现在就想到这么多,之后想起来再补充吧。