JVM内存管理和JVM垃圾回收? JVM内存组成结构 JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分...
分类:
编程语言 时间:
2015-08-11 21:38:02
阅读次数:
147
Block简介(copy一段)Block作为C语言的扩展,并不是高新技术,和其他语言的闭包或lambda表达式是一回事。需要注意的是由于Objective-C在iOS中不支持GC机制,使用Block必须自己管理内存,而内存管理正是使用Block坑最多的地方,错误的内存管理要么导致return cyc...
分类:
移动开发 时间:
2015-08-11 15:44:07
阅读次数:
152
Java本身提供了多种丰富的方法和工具来帮助开发人员查看和分析GC及其JVM内存的状况,同时开源界也有一些工具用于查看和分析GC和JVM内存的状况。 通过这些分析,可以排查程序中内存泄露的问题及调优程序的性能。 1.输出GC日志 输出GC日志对于跟踪分析GC的状况来说,无疑是最直接的分...
分类:
编程语言 时间:
2015-08-11 11:34:34
阅读次数:
139
原文链接 http://www.cnblogs.com/gw811/archive/2012/10/19/2730258.html#topJava垃圾收集器 概述 说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史远远比.....
分类:
编程语言 时间:
2015-08-11 00:09:58
阅读次数:
178
private static int GetWeekOfYear(DateTime dt){ GregorianCalendar gc = new GregorianCalendar(); int weekOfYear = gc.GetWeekOfYear(dt, CalendarWee...
分类:
Web程序 时间:
2015-08-10 19:29:38
阅读次数:
123
GC的工作流程GC的工作流程主要分为如下几个步骤:1、标记(Mark)2、计划(Plan)3、清理(Sweep)4、引用更新(Relocate)5、压缩(Compact)每个应用程序都包含一组根(root)。每个根都是一个存储位置,其中包含指向引用类型对象的一个指针。该指针要么引用托管堆中的一个对象...
分类:
其他好文 时间:
2015-08-10 17:55:30
阅读次数:
128
http://mt.sohu.com/20150604/n414449770.shtmlhttp://my.oschina.net/mkh/blog/330386http://itindex.net/detail/51632-spark-%E7%BB%8F%E9%AA%8Chttp://itinde...
分类:
其他好文 时间:
2015-08-10 17:25:17
阅读次数:
122
GC判断对象是否存活算法
1> 引用计数算法
2> 根搜索算法(GC Root)
GC垃圾收集算法
1> 标记清除算法(Mark-Sweep):分为标记和清除两个阶段,首先标记出可以回收的对象,标记完后统一回收。缺点如下:
a) 效率低:标记和清除过程效率都不高;
b) 空间问题:清除之后产生大量不连续的内存碎片。
...
分类:
编程语言 时间:
2015-08-09 17:09:36
阅读次数:
114
jstat,这个工具很强大,可以监测Java虚拟机GC多方面的状态,具体参数含义参见此链接:./jstat-gc8401210003S0CS1CS0US1UECEUOCOUPCPUYGCYGCTFGCFGCTGCT2112.02112.00.00.017024.00.063872.01319.921...
分类:
编程语言 时间:
2015-08-09 15:32:38
阅读次数:
111
最近使用SparkSQL做数据的打平操作,就是把多个表的数据经过关联操作导入到一个表中,这样数据查询的过程中就不需要在多个表中查询了,在数据量大的情况下,这样大大提高了查询效率。我启动了thriftserver,然后通过beeline去连接thriftserver, 打平操作进行的很顺利,但是在执行...
分类:
其他好文 时间:
2015-08-09 00:24:31
阅读次数:
329