calloc(), malloc(), realloc(), free(),alloca() 内存区域可以分为栈、堆、静态存储区和常量存储区,局部变量,函数形参,临时变量都是在栈上获得内存的,它们获取的方式都是由编译器自动执行的。 利用指针,我们可以像汇编语言一样处理内存地址,C 标准函数库提...
分类:
其他好文 时间:
2014-09-09 12:26:38
阅读次数:
243
在加载阶段主要用到的是方法区:方法区是可供各条线程共享的运行时内存区域。存储了每一个类的结构信息,例如运行时常量池(Runtime Constant Pool)、字段和方法数据、构造函数和普通方法的字节码内容、还包括一些在类、实例、接口初始化时用到的特殊方法。如果把方法的代码看作它的“静态”部分,而...
分类:
其他好文 时间:
2014-09-09 11:52:08
阅读次数:
201
C++面试题4:memcpy的用法
memcpy函数用于把资源内存(src所指向的内存区域)拷贝到目标内存(desk所指向的内存区域);拷贝多少个?有一个size变量控制
用法:可以拷贝任何类型的对象,因为函数的参数类型是void*,也就是说传进去的实参可以是int
*,short*,char*等等。
原型:void *memcpy(void *desc, void *src, un...
分类:
编程语言 时间:
2014-09-08 10:55:06
阅读次数:
303
实际上这正是C++和Java的一个重要不同之处。C++编译器不对本地变量进行初始化检验,所以在C++中很容易忘记初始化一个变量,这种情况下,变量的值该变量所占内存区域中刚好当前存在随机值。这显然是很容易产生程序出错的地方。
与Java一样, C++中类可以有数据域和静态变量。不同的是,C++中变量可以在函数甚至是类的外面定义,这些所谓的全局变量可以在程序的任何函数中被访问,因而不易被很好的管理。...
分类:
编程语言 时间:
2014-09-07 22:33:55
阅读次数:
353
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。原型:extern unsigned int strlen(char *s);在Visual C++ 6......
分类:
其他好文 时间:
2014-09-05 22:17:22
阅读次数:
327
缓冲区是一块特定的内存区域。开辟缓冲区的目的是通过缓解应用程序上下层之间的性能差异,提高系统性能。
缓冲可以协调上层组件和下层组件的性能差异。当上层组件性能由于下层组件时,可以有效地减少上层组件对下层组件的等待时间。例如,在操作系统中,为了改善 CPU 与 I/O 设备速度不匹配的矛盾,设置了缓冲区,程序输出的数据先送到缓冲区暂存,然后由I/O 设备慢慢地处理。这时,CPU不必等待,可以继续执行程序。实现了CPU与I/O设备之间的并行工作。事实上,凡在数据的到达速率与其离去速率不同的地方,都可设置缓冲,以缓...
分类:
其他好文 时间:
2014-09-05 00:59:30
阅读次数:
218
本文介绍了Java内存溢出的详细解决方案。本文总结内存溢出主要有两种情况,而JVM经常调用垃圾回收器解决内存堆不足的问题,但是有时仍会有内存不足的错误。作者分析了JVM内存区域组成及JVM设置虚拟内存的方式,从而给出了一系列解决方案。一、内存溢出类型1、java.lang.OutOfMemoryEr...
分类:
编程语言 时间:
2014-09-04 14:51:39
阅读次数:
185
memset是初始化一段内存区域的函数,其头文件是,以前经常使用出现错误,整理一下。C++ Reference对于memset的定义为:void * memset ( void * ptr, int value, size_t num );其中,对于memset的各个参数的定义如下:ptr:Poin...
分类:
其他好文 时间:
2014-09-04 14:36:59
阅读次数:
179
Atitit.提升稳定性-----分析内存泄漏PermGen OOM跟解决之道...java
1. 内存区域的划分 1
2. PermGen内存溢出深入分析 1
3. PermGen OOM原因总结 2
4. 常见的类加载器和类型卸载的可能性总结 2
5. PermGen内存溢出的应对措施 3
6. 第二种就是使用oracle的BEA JDK,因为这个里面的JVM没有PermGe...
分类:
编程语言 时间:
2014-09-04 00:14:37
阅读次数:
345
【FROM MSDN && 百科】原型: void *memmove( void* dest, const void* src,size_tcount );#include由src所指内存区域复制count个字节到dest所指内存区域。src和dest所指内存区域可以重叠,但复制后dest内容会被更...
分类:
其他好文 时间:
2014-09-03 16:39:16
阅读次数:
206