写NIO程序经常使用ByteBuffer来读取或者写入数据,那么使用ByteBuffer.allocate(capability)还是使用ByteBuffer.allocteDirect(capability)来分配缓存了?第一种方式是分配JVM堆内存,属于GC管辖范围,由于需要拷贝所以速度相对较慢;第二种方式是分配OS本地内存,不属于GC管辖..
分类:
编程语言 时间:
2014-11-25 02:03:26
阅读次数:
228
介于,最近发现,向高级程序员进阶过程中,SQL SERVER并发处理,索引,GC,缓存方面的高级理解必不可少。因此,为以后做准备,决定将相关的文档整理一份。希望能对自己,对博友有一定的吧帮助。一:基本概念1.索引的用途:为数据库提供了额外的方式查找数据并快速找到数据的存储位置。我们可以把SQL SE...
分类:
数据库 时间:
2014-11-24 20:49:27
阅读次数:
184
D/dalvikvm: , , ,
一、GC_Reason 触发垃圾回收的回收的集中原因:
类型
描述
GC_CONCURRENT
内存使用将满时,并发的进行垃圾回收。
GC_FOR_MALLOC
当内存已满应用尝试分配内存时会出触发垃圾回收,所以系统会停止应用进行垃圾整理
GC_HPROF_DUMP_HEAP
当创...
分类:
移动开发 时间:
2014-11-23 11:45:34
阅读次数:
172
JAVA运行时各个数据区域的苞丁解牛,JAVA对象的生死判定,JVM内存的清理,JAVA对象迁徙...
分类:
其他好文 时间:
2014-11-22 23:11:59
阅读次数:
297
VO,值对象(Value Object),PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成。从结构上看,它们并没有什么不同的地方。但从其意义和本质上来看是完全不同的。1.VO是用new关键字创建,由GC回收的。PO则是向数据库中添加新数据时创建,删除...
分类:
其他好文 时间:
2014-11-22 18:45:59
阅读次数:
304
一、引子今天在跑一段很复杂而且涉及数据量10年的N个表join的长SQL时,发生了OOM的异常。由于一个map通常配置只有64MB或者128MB,则在Map阶段出现OOM的情况很少见。所以一般发生在reduce阶段。但是今天这个异常详细的看后,会发现既不是map阶段,也不是reduce阶段,发现不是执行过程,而是driver提交job阶段就OOM了。Hive中XMLEncoder序列化Mapred...
分类:
其他好文 时间:
2014-11-21 20:33:32
阅读次数:
234
单例对象是一种常见的设计模式,单例对象能保证在JVM中,该对象只有一个实例存在。单例好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系...
分类:
其他好文 时间:
2014-11-21 14:03:35
阅读次数:
180
不管是YGC 还是 FGC 都会是程序停止,因为新生代区域里面的对象占用的内存比较小GC清理的数据较快,所以程序YGC较快结束程序很快就回复执行,而年老代占用的内存多,所以FGC会执行较长的一段时间,程序会停止较长的时间,应该尽量避免FGC执行的次数来提高程序的性能...
分类:
其他好文 时间:
2014-11-21 12:45:52
阅读次数:
206
一个MYSQL的插件,让MYSQL支持NOSQL好处,跟MYSQL公用数据.比普通CACHE方便.普通CACHE有同步数据问题坏处,不兼容MEMCAHE,跟MEMCAHE一样没安全控制编译与安装:需要MYSQL编译安装的,或者你可以找到与你版本相同的MYSQL源码yum install gcc gc...
分类:
数据库 时间:
2014-11-20 15:10:54
阅读次数:
235
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序...
分类:
其他好文 时间:
2014-11-20 15:02:41
阅读次数:
318