今年以来,换了工作,换来了周末双休的正常假期;加入了探趣组织,从宅变成了经常出来玩。虽然人的性格气质并不会变太多,但是见到的却是比之前多了许多。
Ubuntu 16.04 安装和配置 Redis
因为发现之前手动安装的 redis 与现有的教程不一样,所以总结统一一下安装的标准步骤。
记探趣之皖南之行——赏水竹村韵,观坡山云海,行阳产土楼,游临安江畔
七月,并不是好时候。没有花,没有雪,没有春光,也没有秋意。我们一行人包车自驾前往皖南的水竹坑、坡山村以及阳产。
中山植物园 - 20190602 - 热带植物园图赏
2019年06月03日,第三次来到中山植物园南园,主要看热带植物馆和多肉植物馆,这里仅列出了部分热带植物馆的开花的植物图赏(颜值高于一切)。
记探趣-6-30-周日桌游
这周末参加了探趣组织的桌游活动。
【转载】低层次“努力学习”和学习的本质
♣什么是“低层次努力”?
♣你把握住学习的本质了吗?
♣你享受学习过程吗?
声明:本文部分引自 你这么努力,为何还如此焦虑?
【转载】心流状态,长时间精神专注的秘籍!
回忆一下,你是否有过这样的感觉:
在做某件事情时,感觉浑身充满了能量与热情,你能够保持全神贯注、忘我的投入状态,甚至结果如何已不再重要,此时的你沉浸在过程的幸福中……
《慢慢走啊,去过美的人生》
开始于 微信阅读,结束于 2019.6.14
慢慢走啊,去过美的人生 / 朱光潜;北京时代华文书局,2017.5
ISBN:9787569914283
CodeIgnitor 配置类的使用
CI 的配置文件统一放在 application/config/
目录下面,框架有一个默认的主配置文件 application/config/config.php
。其部分内容如下:
变量存储区:堆和栈
最近在看PHP源码解析,涉及到堆栈存储区的知识,而我对于这个却不太清楚,因此,看了一下相关资料,总结一下。
栈
栈,存储函数中的局部变量(临时变量),存储函数地址,栈是后进先出的结构,由CPU管理和优化。
使用栈存储变量的优势在于:你不用再管理内存了,不必手动分配内存或释放它,此外,由于CPU相关的优化,读取写入的效率也很高。
关于栈需要注意的一点是:存储在栈上的变量的大小是有限制的,而堆却不是。
堆
堆是计算机内存的一块区域,不会自动为你管理内存,也不是由CPU严格管理的。它是一个更自由的内存区域(并且更大)。要在堆上分配内存,必须使用 malloc
或 calloc
,它们是内置的C函数。一旦在堆上分配了内存,你就负责在不需要它时使用 free()
释放内存。如果没有做到这一点,程序将会出现所谓的 内存泄漏,也就是说,堆上的内存仍被保留,但其他进程无法使用。
示例
下面这个例子展示了在栈上创建变量的情况:
1 | #include <stdio.h> |
第10,11,12行创建了变量:int、double和double数组。这些变量被推入栈中,当main退出时,这些变量自动从栈中弹出。类似的,函数multiplyByTwo()
中的twice变量被推入栈中(当multiplyByTwo()
被调用时),当multiplyByTwo()
退出时,twice被弹出并且消失不见。
下面是一个在堆上分配内存的例子:
1 | #include <stdio.h> |
何时使用堆?
什么时候应当使用堆,什么时候使用栈?如果你需要分配大块内存(一个大数组,大的结构体),并且你想保持相当长的时间,此时应当使用堆。如果你只处理相对小的变量,只在函数的范围内使用,那么使用栈,它更容易也更快。如果你需要变量类似动态大小的数组或结构体,那么应当使用堆。