前言
在segmentfault上看到一个问题:java有完善的GC机制,那么在java中是否会出现内存泄漏的问题,以及能否给出一个内存泄漏的案例。本问题视图给出此问题的完整答案。
垃圾回收机制简介
在程序运行过程中,每创建一个对象都会被分配一定的内存用以存储对象数据。如果只是不停的分配内存,那么程序迟早面临内存不足的问题。所以在任何语言中,都会有一个内存...
分类:
编程语言 时间:
2014-09-21 22:35:41
阅读次数:
347
本系列作为Java Performance:The Definitive Guide的读书笔记。
概览
在目前的JVM中,主要有4中垃圾回收器(Garbage Collector):
串行回收器(Serial Collector),主要用于单核计算机吞吐量(并行)回收器(Throughput/Parallel Collector)并发回收器(Concurrent/CMS Co...
分类:
编程语言 时间:
2014-09-21 18:47:50
阅读次数:
224
java初始化问题~~~只需要记住三点就行了~~~~看别人的实验,搞的我都郁闷死了,给大家总结下:
* 1.先顺序加载static变量
* 2.无论何时只要执行构造函数,那么在执行构造函数方法体之前必须完成非静态变量,方法的加载(不限次数)
* 3.static执行完成后,classloader会执行main方法体,然后就正常执行呗~~~...
分类:
编程语言 时间:
2014-09-20 17:26:59
阅读次数:
182
我们知道java代码无法强制JVM何时进行垃圾回收,也就是说垃圾回收这个动作的触发,完全由JVM自己控制,它会挑选合适的时机回收堆内存中的无用java对象。代码中显示调用System.gc(),只是建议JVM进行垃圾回收,但是到底会不会执行垃圾回收是不确定的,可能会进行垃圾回收,也可能不会。什么时候才是合适的时机呢?一般来说是,系统比较空闲的时候(比如JVM中活动的线程很少的时候),还有就是内存不足,不得不进行垃圾回收。我们例子中的根本矛盾在于:堆内存由JVM自己管理,堆外内存必须要由我们自己释放;堆内存的...
分类:
其他好文 时间:
2014-09-19 22:32:26
阅读次数:
492
最初的问题是使用jstat -gcutil发现full gc的发生次数达到了每分钟130次,改变heap size的大小从1024M到4096M. FULL GC的次数下降到了每5分钟一次。可以接受。在执行5个小时的混合场景时,使用jstat -gcutil 统计,FULL GC的发生次数越来越频繁...
分类:
其他好文 时间:
2014-09-18 11:12:43
阅读次数:
171
线程堆栈:简称栈 Stack 托管堆: 简称堆 Heap 使用.Net框架开发程序的时候,我们无需关心内存分配问题,因为有GC这个大管家给我们料理一切。如果我们写出如下两段代码: 代码段1: public?int?AddFive(int?p...
分类:
其他好文 时间:
2014-09-18 00:54:43
阅读次数:
435
转自:http://www.cnblogs.com/laoyangHJ/archive/2011/08/17/gc-Stack.html——————————————————————————————————————————————在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我...
分类:
编程语言 时间:
2014-09-18 00:30:22
阅读次数:
358
前言CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求 大于对吞吐量的要求,能够承受垃圾回收线程和应用线程共享处理器资源,并且应用中存在比较多的长生命周...
分类:
其他好文 时间:
2014-09-17 18:33:42
阅读次数:
299
前言JVM GC是JVM的内存回收算法,调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,所以我们要了解JVM内存组成,回收算法,对象分配机制。JVM 堆内存组...
分类:
其他好文 时间:
2014-09-17 18:23:52
阅读次数:
247
HBase依靠ZooKeeper来感知集群成员及其存活性。如果一个服务器暂停了很长时间,它将无法给ZooKeeper quorum发送心跳信息,其它服务器会认为这台服务器已死亡。这将导致master为其启动恢复进程。当该服务器脱离停顿时,它会发现它的所有租约都已失效(指hbase
client端每次和regionserver交互的时候,都会在服务器端生成一个租约(Lease),租约的有效期由参...
分类:
其他好文 时间:
2014-09-17 12:06:02
阅读次数:
393