相同点:1. 内存管理,两者都采用GC来对内存进行回收。因此Java与javascript的内存泄露情况十分相似。2. 代码编译为机器码后由中间件执行:Java使用前会编译为字节码后由JVM执行,V8引擎采用JIT将js编译为机器码后由引擎执行。3. 内存申请,对象(Object)与数组(Array...
分类:
编程语言 时间:
2014-07-07 14:42:05
阅读次数:
229
前几天服务器出现了一些问题,然后组内同学就这些问题写过一篇文章,下面是顺着那篇文章,接着写一些内容。一:GC算法的类型 GC也就是垃圾回收,和我们日常中的垃圾回收一样,语言中的垃圾回收也是表示对已经不再使用的对象进行清理,获得更多的内存空间;日常生活中也是一样的,比如去餐厅吃饭,每个人都要用到碗.....
分类:
编程语言 时间:
2014-07-07 14:39:30
阅读次数:
290
静态库和动态库 在windows中静态库是以 .lib 为后缀的文件,共享库是以.dll 为后缀的文件。在linux中静态库是以 .a 为后缀的文件,共享库是以 .so为后缀的文件。 以linux下的静态库和动态库为例我们研究一下,首先我们看一下他们的生成方式静态库:首先将源文件编译成目标文件:gc...
分类:
系统相关 时间:
2014-07-03 19:17:20
阅读次数:
247
年轻代 年老代概念 http://jefferent.iteye.com/blog/1123677JVM的堆的内存,是通过下面面两个参数控制的-Xms最小堆的大小,也就是当你的虚拟机启动后,就会分配这么大的堆内存给你-Xmx是最大堆的大小当最小堆占满后,会尝试进行GC,如果GC之后还不能得到足够的内...
分类:
编程语言 时间:
2014-07-03 06:44:31
阅读次数:
275
java 引用类型0. 引言 Java 中一共有 4 种类型的引用 : StrongReference、 SoftReference、 WeakReference 以及 PhantomReference , 这 4 种类型的引用与 GC 有着密切的关系. 1. 强引用 (Stron...
分类:
编程语言 时间:
2014-07-02 18:08:58
阅读次数:
257
点我点我点我!!!
接下来要做的就是模拟上述过程了。
静下来想一下自己要得到的信息。
然后拿出来,就可以了,模拟嘛,都是这样的。
#include
#include
#include
#include
using namespace std;
char str[20];
int gcd(int a,int b)
{
return a%b==0?b:gc...
分类:
其他好文 时间:
2014-07-02 09:17:57
阅读次数:
159
加载超大效果图导致内存不足(GC/ANR)
浅谈ANR如何分析解决ANR...
分类:
其他好文 时间:
2014-07-01 08:24:01
阅读次数:
272
加载超大效果图导致内存不足(GC/ANR)
浅谈ANR如何分析解决ANR...
分类:
其他好文 时间:
2014-06-30 18:27:48
阅读次数:
208
GC检测用于查看堆中是否有对象不再被程序使用。如果这样的对象存在,这些对象占用的内存就可以被回收利用。(如果堆中没有可用内存空间时,new操作符将会抛出OutOfMemoryException异常)GC是怎样知道一个对象是否还被程序使用呢?你可以想象一下,这不是一个容易回答的问题。
每一个程序都有一组根节点(roots),它们用于识别定位托管堆中的对象或空(null)对象指向的存储空间。比如,程序中所有全局对象指针或静态对象指针都被看作是程序根节点(roots)的一部分。另外,线程栈中任何局部变量或参数对象...
分类:
Web程序 时间:
2014-06-30 07:33:05
阅读次数:
327
1. 在IDE中查看Log信息
当程序运行垃圾回收的时候,会打印一条Log信息,其格式如下:
D/dalvikvm: , , ,
GC_Reason表示导致垃圾回收的原因以及当前的回收类型,包括以下几类:
GC_CONCURRENT:当堆中对象数量达到一定是触发的垃圾收集
GC_FOR_MALLOC:在内存已满的情况下分配内存,此时系统会暂停程序并回收内存
...
分类:
移动开发 时间:
2014-06-29 23:28:34
阅读次数:
374