参考网站:http://www.cnblogs.com/xwdreamer/archive/2012/04/01/2428857.htmlJava 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,...
分类:
编程语言 时间:
2015-01-16 14:34:23
阅读次数:
215
Java把内存划分成两种:一种是栈内存,一种是堆内存 一. 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所 分...
分类:
其他好文 时间:
2015-01-16 14:19:21
阅读次数:
151
linux3.5内核中为所有进程(包括内核进程和用户进程)分配8k或4k的内核栈(可以在内核编译的时候选择),在模块代码中分配的栈内存就是在内核栈中,写模块代码如果要在堆中分配内存,则要使用kmalloc或vmalloc来分配,这是后话。 内核栈的栈底存放这thread_info, 通过获取...
分类:
系统相关 时间:
2015-01-12 20:58:48
阅读次数:
205
String类是final的。String str = new String("Hello"); //创建了两个对象系统会先创建一个匿名对象"Hello"存入堆内存(我们暂且叫它A),然后new关键字会在堆内存中又开辟一块新的空间,然后把"Hello"存进去,并且把地址返回给栈内存中的str, 此时...
分类:
其他好文 时间:
2015-01-10 16:25:10
阅读次数:
111
对象内存模型C#的对象内存模型写这篇博客的主要目的是为了加深自己的理解,如有不对的地方,请各位见谅。C#的对象内存模型:一、栈内存和堆内存1、栈内存 由编译器自动分配和释放,主要用来保存一些局部变量、函数的参数等,例如,int a = 10,那么编译器会自动在栈上开辟一块内容用来存储变量a。2、堆....
递归函数即自调用函数,在函数体内部直接或间接地自己调用自己,即函数的嵌套调用是函数本身。 但递归增加了系统开销。 时间上, 执行调用与返回的额外工作要占用CPU时间。空间上,随着每递归一次,栈内存就多占用一截。...
分类:
其他好文 时间:
2015-01-02 12:19:47
阅读次数:
114
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block。我不会详细...
分类:
其他好文 时间:
2014-12-31 20:07:29
阅读次数:
255
程序运行时,我们定义的局部变量一般都存放于栈内存中,这些局部变量既可以是基本数据类型的变量(基本数据类型的变量在栈中直接保存它的值),也可以是引用类型的变量(引用类型的变量在栈中保存的是它所指向的堆内存中对象的地址)。
堆内存中存放的就是引用类型变量的地址所指向的对象。...
分类:
编程语言 时间:
2014-12-31 01:04:57
阅读次数:
241
一、概述
Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block。
二、热身
先看一个比较简单的Block例子:
int multiplier = 7;
int (^myBlock)(int) = ^(int num) {
retu...
分类:
其他好文 时间:
2014-12-30 20:47:31
阅读次数:
306
并发goroutinegoroutine 是 Go 并行设计的核心。goroutine 说到底其实就是线程,但是他比线程更小,十几个 goroutine 可能体现在底层就是五六个线程,Go 语言内部帮你实现了这些 goroutine之间的内存共享。执行 goroutine 只需极少的栈内存(大概是 ...
分类:
其他好文 时间:
2014-12-24 18:00:56
阅读次数:
178