摘要: 在golang中,我们使用defer语句来进行一些错误处理和收尾工作,它的作用类似java里面finally关键字的作用。不过不论是java的finally关键字还是c++的Raii类,我们都能清楚地知道它们的作用域和执行的时机,那么golang中defer关键字所处理的内容是在什么时候执行的呢?h 阅读全文
posted @ 2017-05-23 17:06 stormpeach 阅读(2854) 评论(0) 推荐(0) 编辑
摘要: 1、堆和栈的区别与联系 1、栈区由编译器自动分配内存释放;堆区一般由程序员手动分配释放,若不释放,结束时可能由OS回收 2、堆的分配可能会有碎片,栈不会有这个问题 3、堆都是动态分配的,栈有动态和静态两种分配方式 4、栈的效率比堆高(所以现在很多带gc的语言的一个优化方向就是尽量把内存分配在栈上,这 阅读全文
posted @ 2017-05-23 16:32 stormpeach 阅读(828) 评论(0) 推荐(0) 编辑