本文基于《C++ Primer(第5版)》中14章和《More Effective C++》条款7,整理而成。 其实写这篇博客之前,内心还是很忐忑的,因为,博主的水平很有限,视野比较窄,要是在理解书的过程中有了偏差,给读到这篇博客的人以错误的认识,那罪过就大了。再次声明本文仅是简介,若是有错误的地方 ...
                            
                            
                                分类:
编程语言   时间:
2017-08-13 21:15:01   
                                阅读次数:
245
                             
                    
                        
                            
                            
                                标题: 固定尺寸内存块的缓冲队列类及实现源代码 作者: 叶飞虎 日期: 2014.10.21 在一般的线性操作应用中(如: 接收缓冲区), 可能须要频繁分配和释放内存块, 频繁操 作会给系统带来非常大开销, 怎样降低系统开销? 通过拉大分配和释放之间间距来降低操作的 频度, 从而达到降低系统开销。  ...
                            
                            
                                分类:
编程语言   时间:
2017-08-12 21:25:12   
                                阅读次数:
189
                             
                    
                        
                            
                            
                                    内存管理介绍在 ANSI C 中,可以用 malloc()和 free()2 个函数动态的分配内存和释放内存,但是,在嵌入式实时操作系统中,调用 malloc()和 free()却是危险的,因为多次调用这两个函数会把原来很大的一块连续内场区域逐渐地分割成许多非常小而且彼此又不相邻的内存块,也就是内存 ...
                            
                            
                                分类:
其他好文   时间:
2017-08-11 22:59:53   
                                阅读次数:
264
                             
                    
                        
                            
                            
                                相同点:(1)都是申请内存,释放内存,free和delete可以释放NULL指针;(2)都必须配对使用,这里的配对使用,可不能理解为一个new/malloc就对应一个delete/free,而是指在作用域内,new/malloc所申请的内存,必须被有效释放,否则将会导致内存泄露。 new/delet ...
                            
                            
                                分类:
其他好文   时间:
2017-08-06 12:55:30   
                                阅读次数:
207
                             
                    
                        
                            
                            
                                内存管理: 确保在须要的时候分配内存,在程序运行结束时释放占用的内存 假设仅仅分配内存而不释放内存,则会发生内存泄漏(leak memory),程序的内存占用量不断添加。终于会被耗尽并导致程序崩溃。 不要使用不论什么刚释放的内存,否则可能误用陈旧的数据。假设内存已经载入了其它数据,将会破坏这些新数据 ...
                            
                            
                                分类:
其他好文   时间:
2017-08-05 16:43:50   
                                阅读次数:
132
                             
                    
                        
                            
                            
                                    一、GC的必要性 1、应用程序对资源操作,通常简单分为以下几个步骤:为对应的资源分配内存 → 初始化内存 → 使用资源 → 清理资源 → 释放内存。 2、应用程序对资源(内存使用)管理的方式,常见的一般有如下几种: [1] 手动管理:C,C++ [2] 计数管理:COM [3] 自动管理:.NET, ...
                            
                            
                                分类:
Web程序   时间:
2017-07-27 18:26:11   
                                阅读次数:
326
                             
                    
                        
                            
                            
                                LRU Cache 一个list 存放最近使用的应用的清单。 Application 生命周期 onCreate() 开启应用第一个组件之前调用。 onLowMemory() android 系统请求这个应用释放内存是调用。 onTrimMemory() onTerminate() 仅在测试时有效。 ...
                            
                            
                                分类:
其他好文   时间:
2017-07-24 22:31:06   
                                阅读次数:
175
                             
                    
                        
                            
                            
                                    C++内存泄露常见情况: 1. 在类的构造函数和析构函数中没有匹配的调用new和delete函数 : 两种情况下会出现这种内存泄露:一是在堆里创建了对象占用了内存,但是没有显示地释放对象占用的内存;二是在类的构造函数中动态的分配了内存,但是在析构函数中没有释放内存或者没有正确的释放内存; 2. 没有 ...
                            
                            
                                分类:
其他好文   时间:
2017-07-23 22:51:24   
                                阅读次数:
270
                             
                    
                        
                            
                            
                                构造方法 构造方法是一个特殊的方法,负责初始化对象 构造方法名必须和类名一致 构造方法没有返回值,但可以有参数,能够重载 构造方法可以不写,系统会自动为类添加一个无参的默认构造 如果将构造方法设置为Private,就不能再使用此构造创建实例 析构 析构方法在对象销毁时调用,用于释放内存 一个类只能有 ...
                            
                            
                         
                    
                        
                            
                            
                                一、vector的内存增长 vector内存的特点:内存空间只会增长,不会减少 vector支持随机访问,vector容器的元素以连续的方式存放,每个元素都紧挨着前一个元素存储。当vector插入数据时,可能空间不够,这时要重新分配新的内存,将数据从旧空间拷贝到新空间,然后释放旧空间,这样性能难以接 ...
                            
                            
                                分类:
其他好文   时间:
2017-07-20 10:07:23   
                                阅读次数:
114