问题:编写函数,使其在第一次调用时返回0,然后再次调用时按顺序产生正整数(即返回其当前的调用次数)。代码: 1 #include 2 3 using namespace std; 4 int count_calls() 5 { 6 static int i = 0; 7 ...
分类:
编程语言 时间:
2015-01-31 21:44:59
阅读次数:
243
程序在内存有五个存在区域:A:动态区域中的栈区B:动态区域中的栈区C:静态区域中:全局变量 和静态变量 (这个区域又可以进一步细分为:初始化的全局变量和静态变量 以及 未初始化的全局变量和静态变量 )D:静态区域中:文字 数字 常量E:静态区域中:代码区(就是编译后的二进制代码 指导CPU怎么...
分类:
编程语言 时间:
2015-01-30 20:55:26
阅读次数:
228
类的加载过程
JVM将类加载过程分为三个步骤
装载,连接,初始化,连接又分为三个步骤如下:
JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:
1)
装载:查找并加载类的二进制数据;
2)链接:
验证:确保被加载类的正确性;准备:为类的静态变量分配内存,并将其初始化为默认值;解析:把类中的...
分类:
编程语言 时间:
2015-01-29 21:09:01
阅读次数:
185
内存分配方式
内存分配方式一共有三种:
(1)从静态存储区域分配;
内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,例如,全局变量,静态变量。
(2)在栈上创建;
在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束后这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
(3)在堆上分配,亦称动态内存...
分类:
编程语言 时间:
2015-01-29 15:58:14
阅读次数:
197
#include//定义全局变量,也是静态变量。存放在静态区域,不能够用auto修饰int d;//函数声明void autoFaction(int a, int b);void staticFaction();void registerFation();int main() { //使用全局变量 ...
分类:
编程语言 时间:
2015-01-28 19:19:41
阅读次数:
187
今天我们介绍Java序列化,以及Java序列化和static变量的关系,阐述为什么Java不能序列化static变量,并附予实例讲解。...
分类:
编程语言 时间:
2015-01-28 13:06:07
阅读次数:
127
区别:1、对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。当然接口也可以通过关键字extends继承。2、接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数据的封装。(另JAVA接口中的成员变量都要声明为p...
分类:
Web程序 时间:
2015-01-24 23:56:23
阅读次数:
146
1.内存存储区域C、C++里面。栈区:存储临时变量和对象。堆区域:存储动态分配对象。静态变量存储区:存储静态变量和常量对象。OC里面的内存存储区域跟C、C++一样。2.为什么要进行内存管理写过C、C++程序的都知道,内存管理永远是C++程序的一大痛点,项目当中崩溃全部来自于内存相关的操作,尤其是指针...
分类:
其他好文 时间:
2015-01-24 22:42:55
阅读次数:
182
对于软件开发者而言,理解和熟悉计算机内存知识是最为基础的了。今天我就来翻翻旧账,回顾回顾看看我有哪些点遗漏了,在此共同学习。
提起内存,我们常常想到三个区域:
1,静态区,静态变量 static variables / constant ,常量,静态变量就存储在静态区域,这个区域比较简单,我们就只需要知道怎么通过地址访问他就行了。
2,堆,动态变量 关键字new ,通过new 创建的对象,...
分类:
其他好文 时间:
2015-01-23 20:07:39
阅读次数:
326