背景是这样的:项目中用到C++实现一个模块,需要用多线程的方式实现其中需要实现热加载,这部分当配置文件发生改变会在需要的情况下取消掉不需要的线程,也会在需要的情况下创建新的线程但经过观察后会发现,每次更新配置文件,删除掉的线程所申请的资源并没有得到释放体现在to..
                            
                            
                                分类:
编程语言   时间:
2017-09-25 11:26:03   
                                阅读次数:
247
                             
                    
                        
                            
                            
                                    1。大数据量的list,要进行局部元素删除,尽量避免用del随机删除,非常影响性能,如果删除量很大,不如直接新建list,然后用下面的方法释放清空旧list。 2。对于一般性数据量超大的list,快速清空释放内存,可直接用 a = [] 来释放。其中a为list。 3。对于作为函数参数的list,用 ...
                            
                            
                                分类:
编程语言   时间:
2017-09-23 15:22:06   
                                阅读次数:
284
                             
                    
                        
                            
                            
                                    Java GC 是垃圾回收机制,自动内存管理和垃圾清扫机制,释放内存中的资源和垃圾 ...
                            
                            
                                分类:
其他好文   时间:
2017-09-23 13:43:40   
                                阅读次数:
190
                             
                    
                        
                            
                            
                                1 string对象的内存的分配和回收 如果string很短,那么内存是在栈上面分配的。如果string很长的话,在堆上分配内存。 string生命周期结束的话,会自动调用string的析构函数释放内存。 2 string对象作为函数的形参 这个时候会隐式调用复制构造函数,复制实参对象,创建一个新的 ...
                            
                            
                                分类:
编程语言   时间:
2017-09-21 21:17:52   
                                阅读次数:
132
                             
                    
                        
                            
                            
                                阅读了SGI的源码后对STL很是膜拜,很高质量的源码,从中学到了很多。温故而知新!下文中所有STL如无特殊说明均指SGI版本实现。 STL 内存配置器 STL对内存管理最核心部分我觉得是其将C++对象创建过程分解为构造、析构和内存分配、释放两类操作分离开来!摆脱了对频繁调用new或malloc函数想 ...
                            
                            
                                分类:
其他好文   时间:
2017-09-16 23:09:49   
                                阅读次数:
234
                             
                    
                        
                            
                            
                                C++的内存分配方式 之前有说过C++的内存分为5部分,即栈、堆、全局/静态存储区、自由存储区以及常量存储区。 栈:栈由编译器自动分配与释放,它用来存储函数的参数值以及局部变量。 堆:堆由应用程序分配与释放,应用程序使用malloc在堆上获取内存,使用free释放内存。如果应用程序获取内存后没有释放 ...
                            
                            
                                分类:
其他好文   时间:
2017-09-15 22:31:59   
                                阅读次数:
154
                             
                    
                        
                            
                            
                                    1.new、delete、malloc、free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光 ...
                            
                            
                                分类:
编程语言   时间:
2017-09-13 14:07:41   
                                阅读次数:
218
                             
                    
                        
                            
                            
                                先说结论: 1、如果两个DLL(或者EXE调用DLL)的CRT链接均为MD,则可以跨动态库分配和释放,如果一个是MT,另外一个是MD则会有问题。 2、利用虚函数的动态绑定技术,动态绑定分配释放内存的new和delete等,可以解决这个问题,例如shared_ptr。但如果shared_ptr包装是v ...
                            
                            
                                分类:
编程语言   时间:
2017-09-11 21:06:28   
                                阅读次数:
174
                             
                    
                        
                            
                            
                                    窗口Close()后执行隐藏指令,并不自动释放内存,需要手动释放或设置setAttribute(Qt::WA_DeleteOnClose);实现自动释放 ...
                            
                            
                                分类:
其他好文   时间:
2017-09-09 22:38:35   
                                阅读次数:
258
                             
                    
                        
                            
                            
                                    一、变量 指在程序执行过程中,可变的量; 定义一个变量,就会伴随有3个特征,分别是内存ID、数据类型和变量值。 其他语言运行完之前,一定要手动把程序的内存空间释放掉。但python解释器是自带内存回收机制的,一旦python程序运行完后,会自动释放内存空间。 age=10 print(id(age) ...
                            
                            
                                分类:
编程语言   时间:
2017-09-08 00:10:26   
                                阅读次数:
276