Java堆内存被划分为新生代和年老代两部分,新生代主要使用复制和标记-清除垃圾回收算法,年老代主要使用标记-整理垃圾回收算法,因此java虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器,JDK1.6中Sun HotSpot虚拟机的垃圾收集器如下: 图中如果两个垃圾收集器直接有连线,则表明这两 ...
分类:
其他好文 时间:
2016-08-05 19:48:48
阅读次数:
211
标记-清除算法标记-清除(Mark-Sweep)算法是最基础的算法,就如它的名字一样,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。之所以说它是最基础的收集算法,是因为后续的收集算法都是基于这种思路并对其缺点进行改进而得到的。它主要有两个缺 ...
分类:
编程语言 时间:
2016-08-05 19:46:31
阅读次数:
224
首先介绍下关于C#的GC垃圾回收器,有了这个垃圾回收器c#的开发人员可以不用像C++开发人员那样关心垃圾回收! 但是GC是把双刃剑,GC仅仅对于托管资源进行管理,对非托管资源却无能为力,并且C#的开发人员也不太容易了解内部垃圾是何时回收的,这样就不利于管理! 下面是非托管资源,对于托管资源可以不太担 ...
GC(普通的理解):用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。1.Java堆中各代分布Young:主要是用来存放新生的对象。Old:主要存放应用程序中生命周期长的内存对象。Permanent:是指内存的永久保存区域,主要存放Class和Meta的信息,Class在被Load的..
分类:
其他好文 时间:
2016-06-07 06:41:56
阅读次数:
265
System类 System类位于系统的java。lang包中,他是一个final类,所有属性和方法都是静态的,我们常用的有System.in System.out System.err(标准出错)。 System类中有许多的方法,都在javaAPI中可查。 gc(垃圾回收机制) 调用 gc 方法暗 ...
分类:
其他好文 时间:
2016-04-18 00:50:13
阅读次数:
124
log for java return表示一个方法的立即停止; return 0表示一个一个返回值 properties 当前属性 gc垃圾回收装置 1 计数算法 2根搜索算法 3标记清楚算法:首先标记 在删除 会产生很多碎片 4复制算法:计划分两块交换使用浪费内存 5 标记整理算法:吧没用的分到左 ...
分类:
其他好文 时间:
2016-04-17 22:12:21
阅读次数:
116
1、托管资源 像int、float、DateTime等都是托管资源;net中80%的资源都是托管资源; 托管资源的回收通过GC(垃圾回收器)自动释放分配给该对象的内存,但无法预测进行垃圾回收的时间,我们无法控制系统在什么时间回收资源。 2、非托管资源 像ApplicationContext,Brus ...
分类:
Web程序 时间:
2016-04-12 12:42:02
阅读次数:
2106
下载:http://pan.baidu.com/s/1skkSdI1密码:kdcs01.Dalvik介绍及其优势和文件格式 02.基于栈与基于寄存器比较 03.DEX与ODEX文件格式和ODEX化详解 04.GC垃圾回收机制 05.内存监测分析工具DDMS介绍 06.内存分配跟踪工具DDMS_AlocationTracker详解 07.监测工具与分析工具介绍及F..
分类:
移动开发 时间:
2016-02-01 15:57:15
阅读次数:
309
Java的线程分为两种:User Thread(用户线程)、DaemonThread(守护线程)。
只要当前JVM实例中尚存任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束是,守护线程随着JVM一同结束工作,Daemon作用是为其他线程提供便利服务,守护线程最典型的应用就是GC(垃圾回收器),他就是一个很称职的守护者。
User和Daemon两者几乎没有区别,唯一的...
分类:
编程语言 时间:
2015-12-24 12:01:46
阅读次数:
248
1、简介 对于Java developer来说,了解JVM GC工作原理能够帮助我们开发出更优秀的应用,同时在处理JVM瓶颈时能够更加自由。在最近一年的应用开发中能体会到这些知识带来的好处,并且让我们的应用在较大规模的并发时能够良好的工作。 本文部分知识和图片来源于书籍《Java Perform.....
分类:
编程语言 时间:
2015-12-06 19:23:12
阅读次数:
311