Ashmem匿名共享内存 Android的匿名共享内存(Ashmem)机制基于Linux内核的共享内存,但是Ashmem与cache shrinker关联起来,增加了内存回收算法的注册接口,因此Linux内存管理系统将不再使用内存区域加以回收。Ash...
分类:
移动开发 时间:
2014-12-02 16:44:12
阅读次数:
205
垃圾回收算法中收集器 接着上面的说,了解了JVM收集垃圾的过程,然后我们看一看收集器。 串行收集器:用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高。但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。...
分类:
其他好文 时间:
2014-11-09 22:12:00
阅读次数:
350
垃圾回收算法中的一些问题 再上一遍中,说道JVM并不是采用一种垃圾回收的方法,因为不同的内存块采取的方法是不样的,那么:为什么要分块?为什么不采用同一种方法回收垃圾,这样不是更加的统一吗? 分块的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的...
分类:
其他好文 时间:
2014-11-08 22:02:23
阅读次数:
339
一、页框回收算法
1、为何要有页框回收算法?
Linux在为用户态与内核分配动态内存时,检查得并不严谨。
例如:
(1)、对单个用户创建的进程的RAM使用的总量并不作严格的检查(进程资源的限制只针对单个进程);
(2)、对内核使用的许多磁盘高速缓存和内存高速缓存大小也同样不做限制。
2、为何要减少控制?
可以使内核以最好的可行方式使...
分类:
系统相关 时间:
2014-11-06 13:02:05
阅读次数:
508
在说垃圾回收算法之前,先谈谈JVM怎样确定哪些对象是“垃圾”。1.引用计数器算法:引用计数器算法是给每个对象设置一个计数器,当有地方引用这个对象的时候,计数器+1,当引用失效的时候,计数器-1,当计数器为0的时候,JVM就认为对象不再被使用,是“垃圾”了。引用计数器实现简单,效率高;但是不能解决循环...
分类:
编程语言 时间:
2014-10-22 10:54:31
阅读次数:
227
可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Swee...
分类:
编程语言 时间:
2014-10-20 20:54:06
阅读次数:
157
一、引用计数(Reference Counting)算法 Internet Explorer 8以下的DOM和BOM使用COM组件所以是引用计数来为DOM对象处理内存,引用计数的含义是跟踪记录每个值被引用的次数。形象点说: 1)房子里有很多便签纸,这些纸就好比是内存。如下图: 2)使用内存...
分类:
编程语言 时间:
2014-10-14 10:40:09
阅读次数:
316
Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具有确定性。垃圾回收重点关注的是堆和方法区部分的...
分类:
编程语言 时间:
2014-10-09 16:21:48
阅读次数:
304
Java堆内存被划分为新生代和年老代两部分,新生代主要使用复制和标记-清除垃圾回收算法,年老代主要使用标记-整理垃圾回收算法,因此java虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器,JDK1.6中Sun HotSpot虚拟机的垃圾收集器如下:图中如果两个垃圾收集器直接有连线,则表明这两个...
分类:
编程语言 时间:
2014-10-09 16:05:28
阅读次数:
313
前言JVM GC是JVM的内存回收算法,调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,所以我们要了解JVM内存组成,回收算法,对象分配机制。JVM 堆内存组...
分类:
其他好文 时间:
2014-09-17 18:23:52
阅读次数:
247