log for java return表示一个方法的立即停止; return 0表示一个一个返回值 properties 当前属性 gc垃圾回收装置 1 计数算法 2根搜索算法 3标记清楚算法:首先标记 在删除 会产生很多碎片 4复制算法:计划分两块交换使用浪费内存 5 标记整理算法:吧没用的分到左 ...
分类:
其他好文 时间:
2016-04-17 22:12:21
阅读次数:
116
标记-清除算法(Mark-Sweep)从根节点开始标记所有可达对象,其余没标记的即为垃圾对象,执行清除。但回收后的空间是不连续的。 复制算法(copying)将内存分成两块,每次只使用其中一块,垃圾回收时,将标记的对象拷贝到另外一块中,然后完全清除原来使用的那块内存。复制后的空间是连续的。复制算法适 ...
分类:
编程语言 时间:
2016-04-15 15:28:13
阅读次数:
184
下面这些收集器在新生代中使用:
-XX:+UseSerialGC
-XX:+UseParallelGC
-XX:+UseParNewGC
下面这些收集器在老年代中使用:
-XX:+UseParallelOldGC
-XX:+UseConcMarkSweepGC
Serial收集器
1、使用在新生代,使用复制算法
2、它是一个单线程收集器,也就是它...
分类:
其他好文 时间:
2016-03-27 12:43:44
阅读次数:
194
前面在Java垃圾收集算法中讲过垃圾收集算法中的分代收集器,今天看了一个视频发现里面将的也很不错,所以决定再总结一下。
我们知道,在分代收集算法中堆空间被分为新生代和老年代。因为新生代中对象的存活率比较低,所以一般采用复制算法,老年代的存活率一般比较高,一般使用”标记-清理”或者”标记-整理”算法进行回收。
上面的这个图已经很清楚的将堆的分区展现出来了。
下面...
分类:
编程语言 时间:
2016-03-27 01:53:32
阅读次数:
715
垃圾回收算法可以分为三类,都基于标记-清除(复制)算法: JVM会根据机器的硬件配置对每个内存代选择适合的回收算法,比如,如果机器多于1个核,会对年轻代选择并行算法。 稍微解释下的是,并行算法是用多线程进行垃圾回收,回收期间会暂停程序的执行,而并发算法,也是多线程回收,但期间不停止应用执行。所以,并
分类:
编程语言 时间:
2016-03-23 10:14:50
阅读次数:
158
1、copy(InputIterator first, InputIterator last, OutputIterator result):复制一个序列到另一个序列 std::vector c; std::vector result; c.reserve(10); resu...
分类:
编程语言 时间:
2016-01-19 10:21:50
阅读次数:
174
分布式系统实践1.Kafka深度解析http://www.jasongj.com/2015/01/02/Kafka%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90/要点:这篇文章深入的讲解了kafka的架构设计, 数据复制算法以及kafka的性能等多个方面, 是理解和学习ka...
分类:
其他好文 时间:
2015-12-28 09:03:19
阅读次数:
784
由于虚拟机的分代实现,虚拟机不会考虑各个内存代如何实现垃圾回收,具体的工作(对象内存的分配也是一样)由各内存代根据垃圾回收策略自行实现。 DefNewGeneration的使用复制算法进行回收。复制算法的思想是将eden和from区活跃的对象复制到to区,并清空eden区和from区,如果to...
分类:
其他好文 时间:
2015-12-08 10:10:09
阅读次数:
280
Serial 收集器Serial 是一个新生代收集器 ;单线程垃圾回收器,采用复制算法-XX:+UseSerialGCParNew 收集器ParNew 是一个新生代收集器;ParNew收集器其实是Serial收集器的多线程版本,其余行为包括Serial收集器可用的所有控制参数、收集算法、stop t...
分类:
其他好文 时间:
2015-11-17 01:36:20
阅读次数:
212
IBM介绍文档:https://www.ibm.com/developerworks/cn/java/j-lo-JVMGarbageCollection/Java 的新生代串行垃圾回收器中使用了复制算法的思想。新生代分为 eden 空间、from 空间、to 空间 3 个部分。其中 from 空间和...
分类:
其他好文 时间:
2015-10-26 15:35:29
阅读次数:
149