第一个线程负责回收Heap的Young区第二个线程在Heap不足时,遍历Heap,将Young 区升级为Older区Older区的大小等于-Xmx减去-Xmn,不能将-Xms的值设的过大,因为第二个线程被迫运行会降低JVM的性能。JVM的垃圾回收机制详解和调优1.JVM的gc概述 gc即垃圾收集机制...
分类:
其他好文 时间:
2015-01-21 06:35:32
阅读次数:
295
Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine
statistics monitoring tool”。
Jstat位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap
size和垃圾回收状况的监控。
Jstat可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
1...
分类:
Web程序 时间:
2015-01-20 18:00:06
阅读次数:
241
1:网络的底层环境 采用apache 的httpClient 链接池框架
2:图片缓存采用基于LRU 的算法
3:网络接口采用监听者模式
4 包含图片的OOM 处理(及时回收处理技术的应用)
package xiaogang.enif.image;
import java.io.FilterInputStream;
import java.io.IOException;
im...
分类:
移动开发 时间:
2015-01-20 10:28:17
阅读次数:
152
前言今天查看一个同事的代码,发现代码中多处地方使用了GC.Collect()方法,我问他为什么这么做,他说感觉程序中定义了好多变量,怕GC回收不及时,用GC.Collect()可以手动掌控GC进行垃圾回收。先不说他对GC的垃圾回收机制还不了解,就是调用GC.Collect()后GC真的会不会回收这个...
分类:
其他好文 时间:
2015-01-19 19:02:59
阅读次数:
234
1、特点
CMS收集器是JAVA虚拟机中垃圾收集器的一种。它运行在JAVA虚拟机的老年代中。CMS是(Concurrent
MarkSweep)的首字母缩写。CMS收集器是一种以获取最短回收停顿时间为目标的收集器。比较适用于互联网等场合,可能是互联网中最重要的收集器模式;
2、优点
由于整个过程中耗时最长的并发标记和并发清除过程中,收集器线程都可以与用户线程一起工作,所以总体上来说,CM...
分类:
编程语言 时间:
2015-01-19 17:19:50
阅读次数:
236
Serial Old收集器是JAVA虚拟机中垃圾收集器的一种,它是Serial收集器的老年代版本,它同样是一个单线程收集器,使用“标记-整理”算法。这个收集器的主要也是在目前的JAVA的Client模式下的虚拟机使用。如果在Server模式下,它主要还有两大用途:一个是在JDK
1.5及之前的版本中与Parallel Scavenge收集器搭配使用,另外一个就是作为CMS收集器的后备预案。如果...
分类:
编程语言 时间:
2015-01-19 17:19:07
阅读次数:
253
1、特点
Serial收集器是JAVA虚拟机中最基本、历史最悠久的收集器,在JDK 1.3.1之前是JAVA虚拟机新生代收集的唯一选择。Serial收集器是一个单线程的收集器,但它的“单线程”的意义并不仅仅是说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。
要是服务器每运行一个小时就会暂停5分钟,老板会有什么样...
分类:
编程语言 时间:
2015-01-19 14:25:59
阅读次数:
246
IIS 垃圾回收机制下解决Quartz.net 的不执行问题IIS中涉及了垃圾回收机制,quartz.net 在ASP.NET 项目中可以实现线程监控定时执行任务,但是在IIS7.5机一下版本中涉及到IIS的应用程序池在一段时间后被垃圾回收机制回收,从而导致quartz.net 配置的定时服务无法按...
分类:
Web程序 时间:
2015-01-19 12:25:33
阅读次数:
959
1、内存管理:Java提供了无用单元自动收集机制。通过totalMemory()和freeMemory()方法可以知道对象的堆内存有多大,还剩多少。Java 会周期性的回收垃圾对象(未使用的对象),以便释放内存空间。但是如果想先于收集器的下一次指定周期来收集废弃的对象,可以通过调用gc()方法来根据...
分类:
编程语言 时间:
2015-01-18 22:28:39
阅读次数:
187
一 内存分配1,栈:由计算机管理,先进后出,快但不自由 堆:由程序员控制,自由2,引用类型存于堆,值类型存于声明它的地方二垃圾回收1,找出不再使用的变量(堆内存中,没有栈内存指向它),然后释放掉其占用的内存,但是这个过程不是时时的,因为其开销比较大,所以垃圾回收器会按照固定的时间间隔周期性的执行。2...
分类:
编程语言 时间:
2015-01-17 22:10:17
阅读次数:
211