Woo-hoo!Now you knowwhat is happening with your app’s memory usage when you see one of those OOM exception. But, you don’t know where to find the sour...
分类:
移动开发 时间:
2015-03-09 12:47:03
阅读次数:
240
在介绍GC之前有必要先了解一下JVM的内存划分,这样在后面介绍GC和各种不同的GC collector的时候更容易理解。
下面这张图是“偷”的别人的,很经典的描述了jvm的体系结构,我们只需要关注最大的那一块——运行时数据区域。
1.方法区
方法区为各个线程共享的一块内存区域,当虚拟机装载一个class文件时,它会从二进制数据中解析类型的信息,包括类的静态变量也会存储到该区域。虚拟机...
分类:
其他好文 时间:
2015-03-07 01:00:39
阅读次数:
276
概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之间相互理解的共同语言,并不针对具体的数据库平台(如Oracle或SQL Server)和工具(Pow...
分类:
其他好文 时间:
2015-03-06 16:56:55
阅读次数:
280
面向对象模型 面向对象模型是利用UML(统一建模语言)的图形来描述系统结构的模型,它从不同角度实现系统的工作状态。这些图形有助于用户,管理人员,系统分析人员,开发人员,测试人员和其他人员之间进行信息交流。这里主要介绍用例图,序列图和类图。 1.面向对象模型OOM 面向对象模型是利用UML的图形描述系...
分类:
编程语言 时间:
2015-03-06 16:50:22
阅读次数:
239
数据收集服务平均1小时OOM(java.lang.OutOfMemoryError: GC overhead limit exceeded)一次,发现都是在下载处理 JSON Atom Feed时OOM。怀疑是处理feed内存峰值消耗过大导致频繁Full GC。如下图: ![wu][1] # 分析...
分类:
编程语言 时间:
2015-03-06 10:10:49
阅读次数:
253
概述记得在很早之前,我有写过一篇文章Android高效加载大图、多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片的存储与释放,如果图片从内存中被移除的话,那么又需要从网络上...
分类:
移动开发 时间:
2015-03-04 18:31:02
阅读次数:
287
功能jmap(Memory Map For Java)命令用于生成堆转储快照(一般称为heaphump或dump文件)。如果不使用jmap命令,要想获取Java堆转储快照还有一些比较“暴力”的手段:使用-XX:HeapDumpOnOutOfMemoryError参数,可以让虚拟机在OOM异常出现之后...
分类:
编程语言 时间:
2015-03-02 14:42:10
阅读次数:
225
众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB(视平台而定)。因此在开发应用时需要特别关注自身的内存使用量,而一般最耗内存量的资源,一般是图片、音频文件、视频文件等多媒体资源;由于Android系统对音频、视频等资源做了边解析便播放的处理,使用时并不...
分类:
移动开发 时间:
2015-03-02 10:48:52
阅读次数:
158
String 方法用于文本分析及大量字符串处理时会对内存性能造成一些影响。可能导致内存占用太大甚至OOM。一、先介绍一下String对象的内存占用一般而言,Java 对象在虚拟机的结构如下:?对象头(object header):8 个字节(保存对象的 class 信息、ID、在虚拟机中的状态)?J...
分类:
其他好文 时间:
2015-02-27 22:56:08
阅读次数:
265
今天在做实验的时候尝试修改了vm.dirty_ratio等参数,都没有能够引发OOM_KILLER,但是参数vm.min_free_bytes的修改引发了系统的宕机或者引发了系统的OOM_KILLER现象。如下是实验的环境:内存256MB如下修改的具体参数1)echo500000>/proc/sys/vm/min_free_bytes具体含义:保..
分类:
其他好文 时间:
2015-02-23 00:19:25
阅读次数:
286