解决循环引用: 在知道存在循环引用的条件下,使用boost::weak_ptr,即弱引用来代替循环引用中的某个强引用,从而打破循环引用的环。由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete,比如流程太复杂,最终导致没有 delete,异常导致程序过早退出,...
分类:
编程语言 时间:
2015-05-27 22:39:10
阅读次数:
597
此次主要做一下java内存区域和GC机制的知识小结,下面的段落部分摘自网络,部分摘自书籍,具体的链接忘记了,因为这是之前学习的时候做下的笔记。还望原作者多多包涵!1 Java垃圾回收Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序...
分类:
编程语言 时间:
2015-05-24 17:30:32
阅读次数:
206
闭包是很多语言都具备的特性,在js中,闭包主要涉及到js的几个其他的特性: 1)作用域链 2)垃圾(内存)回收机制 3)函数嵌套...等等. 首先理解一下作用域链的含义,简单来说,作用域链就是函数在定义的时候创建的,用于寻找使用到的变量的值的一个索引。而他内部的规则是,把函数自身的本地变...
分类:
Web程序 时间:
2015-05-16 23:05:10
阅读次数:
175
在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存。因此就有了Java程序员到最后应该去了解JVM,才能写出更高效,充分利用有限的内存的程序。
1...
分类:
编程语言 时间:
2015-05-16 10:31:36
阅读次数:
214
堆内存的分代回收 Java针对堆的垃圾回收,将堆分为了三个较小的部分:新生代、老年代、持久代。新生代主要使用复制和标记-清除垃圾回收算法,年老代主要使用标记-整理垃圾回收算法,因此java虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器。1. 分代回收的依据:
对象生存时间长短:大部分对象在Young期间就被回收。
不同代采用不同的垃圾回收策略:对存活时间不同的对象分类,用不同的垃圾回收...
分类:
编程语言 时间:
2015-05-11 16:08:52
阅读次数:
149
Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代 码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内....
分类:
编程语言 时间:
2015-05-09 13:18:03
阅读次数:
157
Sun的JVMGenerationalCollecting(垃圾回收)原理是这样的:把对象分为年青代(Young)、年老代(Tenured)、持久代(Perm),对不同生命周期的对象使用不同的算法。(基于对对象生命周期分析)1.Young(年轻代)年轻代分三个区。一个Eden区,两个Survivor...
分类:
编程语言 时间:
2015-05-09 13:01:12
阅读次数:
109
自动释放池是OC里面的一种内存回收机制,一般可以将一些临时变量添加到自动释放池中,统一回收释放,当自动释放池销毁时,池里面的所有对象都会调用一次release,也就是计数器会减1,但是自动释放池被销毁了,里面的对象并不一定会被销毁。OC对象发送一条autorelease消息,就会把这个对象添加到最近...
分类:
其他好文 时间:
2015-05-08 14:29:41
阅读次数:
122
Java垃圾回收(一) 在Java中,它的内存管理包括两个方面:内存分配和内存回收,这两个方面的工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但这也使很多程序员不关心内存分配的问题,导致很多程序低效耗费内存。 Java语言规范没有明确的说明JVM使用哪种垃圾回收算法。一般常用的算法有下列几种:
引用记数法(Reference Count...
分类:
编程语言 时间:
2015-05-08 10:55:51
阅读次数:
169
很多人认为方法区(或者HotSpot虚拟机中的永久代)是没有垃圾收集的,Java虚拟机规范中确实说过可以不要求虚拟机在方法区实现垃圾收集,而且在方法区进行垃圾收集的“性价比”一般比较低:在堆中,尤其是在新生代中,常规应用进行一次垃圾收集一般可以回收70%~95%的空间,而永久代的垃圾收集效率远低于此。
永久代的垃圾收集主要回收两部分内容:废弃常量和无用的类。
先来说说方法区内常量池之中...
分类:
其他好文 时间:
2015-05-05 22:02:42
阅读次数:
157