新手入门要理解的套路


今天想记录一下编程的一些基本知识和理论,这样在遇到一些复杂问题的时候,可以运用XXXXX原理,把复杂问题,拆解成这些基本原理。

### 1、缓存

缓存的概念,无处不在。

本质思想就是把数据放在离你最近的地方,当然不能把所有数据都放在身边,肯定是经常使用的东西。这里有一个空间换时间的概念。当然,还有一个时间换空间的时候,例如网络传输的时候,可以把内容进行压缩,往往可以提高传输的效率。

2、就近原则

不能过早的声明变量,直到你必须要声明它。

3、复用

不管是线程池,还是长链接,对于一些消耗资源比较大的东西,都要想要复用,所以能看到很多池,这种池子,那种池子,所以理解复用很重要。

4、连续/排序

有序的数据往往是高效的,所以遇到了数组,第一时间肯定是可以考虑,要不要排序?会不会有收益?遇到了性能问题,往往还可以考虑,要不要可以不用排序?

所以计算机处理有序的数据,往往是高效的。

5、简单第一,性能第二

对于新手来说,性能永远是最后要考虑的东西。

对于高级程序员来说,性能在设计之初,就会反复考虑好。

如果接手现有的项目,性能往往不是最主要的,除非真的发现了性能的瓶颈。

所以大部分情况下,性能都不是优先要考虑的事情。

6、hash

很多时候,都需要用到hash。无需多说。

备注

现在就想到这么多,之后想起来再补充吧。