栈:存储值类型(有时候翻译成“堆栈”) 无ARC(自动引用计数)负担,由系统自动管理,以执行函数为单位(一个函数一个栈) 空间大小编译时决定(根据参数和局部变量可以确定) 函数执行时,系统自动分配一个栈 函数执行结束,系统会立即回收stack 函数之间通过拷贝值传递 具有局限性,大小有限额,超出会s ...
分类:
其他好文 时间:
2017-06-01 21:38:42
阅读次数:
147
并发:指两个或多个事件在同一时间段内发生; 强调的是时间段. 多线程和进程的区别: 进程:有独立的内存空间,进程中的数据存放空间(堆空间和栈空间)是独立的,至少有一个线程。 线程:堆空间是共享的,栈空间是独立的,线程消耗的资源也比进程小,相互之间可以影响的,又称为轻型进程或进程元。 因为一个进程中的 ...
分类:
编程语言 时间:
2017-06-01 20:06:59
阅读次数:
296
结构体和类的共同点:都可以将多个数据封装为一个整体结构体和类的不同点: 结构体只能封装数据,而类还可以封装行为; 结构体实例是值类型,类实例是对象类型 结构体实例存储在栈空间,类实例存储在堆空间 结构体变量赋值是值拷贝,类实例赋值是指针引用 应用场景: 如果封装的这个数据,不仅有数据还有方法,只能使 ...
分类:
其他好文 时间:
2017-06-01 14:41:37
阅读次数:
145
--reference Java Heap Memory vs Stack Memory Difference 在数据结构中,堆和栈可以说是两种最基础的数据结构,而Java中的栈内存空间和堆内存空间有什么异同,以及和数据结构中的堆栈有何关系? 一、Java 堆存储空间 堆内存(堆存储空间)会在Jav ...
分类:
编程语言 时间:
2017-05-29 09:54:39
阅读次数:
173
使用OpenMP需要在编译器上打开OpenMP开关,并包含omp.h文件。我使用的是在Windows下的Visual Studio 2015,只需在工程选项中打开OpenMP支持就可以了。按照书上的说法,GCC增加参数-fopenmp就可以了。 OpenMP有两个重要的函数: omp_get_thr ...
分类:
其他好文 时间:
2017-05-21 11:51:15
阅读次数:
516
http://blog.csdn.net/qq_27231343/article/details/52562196 那么过多的递归调用为什么会引起栈溢出呢?事实上,函数调用的参数是通过栈空间来传递的,在调用过程中会占用线程的栈资源。而递归调用,只有走到最后的结束点后函数才能依次退出,而未到达最后的结 ...
分类:
编程语言 时间:
2017-05-21 01:09:34
阅读次数:
329
堆和栈的区别: · 1> 堆空间的内存是动态分配的,一般存放对象,并且需要手动释放内存。 · 2> 栈空间的内存由系统自动分配,一般存放局部变量等,不需要手动管理内存。 接下来我将从以下几个方面来阐述堆与栈的区别; 管理方式: 对于栈来讲,由编译器自动管理,无需我们手动控制。 对于堆来说,释放工作由 ...
分类:
移动开发 时间:
2017-05-17 14:09:00
阅读次数:
201
默认情况下用户创建的任务栈大小是由参数Task stack size决定的。 如果觉得每个任务都分配同样大小的栈空间不方便的话,可以采用自定义任务栈的方式创建任务。采用自定义方式更灵活些 由于Cortex-M3和M4内核具有双堆栈指针,MSP主堆栈指针和PSP进程堆栈指针,或者叫PSP任务堆栈指针也... ...
分类:
其他好文 时间:
2017-04-28 22:13:22
阅读次数:
314
概念基础知识: 过程化思想:关注功能(即每一步) 对象化思想:关注职能(制作自己的职能) 对象:对象是存在的具体实体,具有明确定义的特征和行为 万物皆对象,对象阴我关注而产生 面向对象:一种认识事物的方式,注重对事物整体的认知,最符合人类的思维习惯 类是对象的抽象,对象时类的示例 类似具有相同属性行 ...
分类:
其他好文 时间:
2017-04-23 15:49:02
阅读次数:
128
JVM内存模型1、栈Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。存储局部变量、引用、方法、返回值等。StackOverflowError:如果在线程执行的过程中,栈空间不够用,那么JVM就会抛出此异常,这种情况一般是死递归造成的。2、堆 Java中堆是由所 ...
分类:
其他好文 时间:
2017-04-22 09:12:18
阅读次数:
182