动态内存分配堆内存分配与释放C/C++定义了四个内存区间:代码区,全局变量与静态变量区,局部变量区(栈区),动态内存区(堆区)通常定义变量(或对象),编译器在编译时都可以根据该变量(或对象)的类型知道所需内存空间的大小,从而系统在适当的时候为他们分配确定的存储空间。这种内存分配称为静态存储分配。有些...
分类:
其他好文 时间:
2014-06-29 15:33:25
阅读次数:
246
原文链接: MySQL Memory Allocation -- by Rick James
原文日期: Created 2010; Refreshed Oct, 2012, Jan, 2014
翻译人员: 铁锚
翻译日期: 2014年5月28日
MySQL 内存分配—— 快速设置方案
如果仅使用MyISAM存储引擎,设置 key_buffer_size
为可用内存的20%,(再...
分类:
数据库 时间:
2014-06-05 06:50:03
阅读次数:
507
根据多篇文章,汇总了此图片。主要包括jvm的回收算法、回收策略、垃圾收集器以及对象的回收期。以备查询使用...
分类:
其他好文 时间:
2014-06-05 06:02:01
阅读次数:
190
所谓动态内存分配(Dynamic Memory
Allocation)就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不象数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序的需要即时分配,且分配的大小就是程序要求的大小。凡是在程序中用到系统提供的动态分...
分类:
其他好文 时间:
2014-05-31 03:04:45
阅读次数:
356
堆和栈的区别(转贴)非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(he...
分类:
其他好文 时间:
2014-05-29 13:24:06
阅读次数:
246
作为C++标准库相当重要的一部分,STL库提供一系列组件操作。它主要可以分为容器、迭代器、基本算法、函数对象以及内存分配器和配接器六个部分。整个STL库的代码都采用模板函数以及模板类的方式实现,具有高度的通用性。对于传统的应用程序来讲,模板库支持并且倡导一种新的编程风格,即称为泛型编程思想,以通用的...
分类:
编程语言 时间:
2014-05-29 05:00:39
阅读次数:
555
Linux的内存管理主要分为两部分:物理地址到虚拟地址的映射,内核内存分配管理(主要基于slab)。物理地址到虚拟地址之间的映射1、概念
物理地址(physical address)
用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相相应。——这个概念应该是这几个概念中最好理解的一个,可.....
分类:
系统相关 时间:
2014-05-28 02:42:53
阅读次数:
460
jvm性能调优的目地:1)控制jvm的堆栈大小。比如当你的程序年轻代对象在某个时间段产生的比较多的时候,就需要控制年轻代的堆大小。同时还要控制总的JVM大小避免内存溢出2)控制GC的行为。GC是一个后台处理,但是它也是会消耗系统性能的,因此要根据运行程序的特点来更改GC行为。3)控制jvm线程的内存分配。如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的。堆大小设置-Xms 初始堆...
分类:
其他好文 时间:
2014-05-25 18:22:43
阅读次数:
272
首先,为什么要指针对齐(Pointer Alignment)?
指针对齐有时候非常重要,因为许多硬件相关的东西在对齐上存在限制。在有些系统中,某种数据类型只能存储在偶数边界的地址处。
例如,在经典的 SPARC架构(以及经典的ARM)上,你不能从奇数地址读取一个超过1字节的整型数据。尝试这么做将会立即终止程序,并伴随着总线错误。而在X86架构上,CPU硬件处理了这个问题,只是这么做将会花费更多...
分类:
其他好文 时间:
2014-05-25 18:12:37
阅读次数:
917
作用:使设计的容器有能力包含类型不同而彼此相关的对象。
容器通常只能包含一种类型的对象,所以很难再容器中存储对象本身。存储指向对象的指针,虽然允许通过继承来处理类型不同的问题(多态性),但是也增加了内存分配的额外负担。所以我们通过定义名为代理的对象来解决该问题。代理运行起来和它所代表的对象基本相同,但是允许将整个派生层次压缩在一个对象类型中。
假设有一个表示不同种类的交通工具的类派生层次:...
分类:
编程语言 时间:
2014-05-25 10:06:40
阅读次数:
249