Java虚拟机运行时数据区

【本文来自网路,仅供参考】 经常有人把Java内存区分为堆内存(Heap)和栈内存(Stack),这种区分方法比较粗糙,Java内存区域的划分实际上远比这复杂。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,主要包括: 虚拟...

2016-04-21 19:59:32

阅读数 400

评论数 0

swap、page、mmap和Ashmem

【swap 和 page】Linux系统通过2种方法进行内存管理,“调页算法(page)”,“交换技术(swap)”。调页算法是将内存中最近不常使用的页面换到磁盘上,把常使用的页面(活动页面)保留在内存中供进程使用。交换技术是系统将整个进程,而不是部分页面,全部换到磁盘上。【swap 和 page...

2015-11-23 15:56:07

阅读数 757

评论数 0

Java GC、新生代、老年代

堆大小 = 新生代 + 老年代。默认下,新生代 ( Young ) = 1/3 的堆空间大小,老年代 ( Old ) = 2/3 的堆空间大小; 新生代 ( Young ) 被细分为 Eden 和 两个 Survivor 区域,这两个 Survivor 区域分别被命名为 from 和 to,以示区...

2015-09-14 18:06:45

阅读数 2098

评论数 0

JVM内存

首先我们来了解JVM specification中的JVM:          主要包括两个子系统和两个组件: Class loader(类装载器) 子系统,Execution engine(执行引擎) 子系统;Runtime data area (运行时数...

2015-09-03 17:47:41

阅读数 421

评论数 0

shallow heap例说

public class Person{          String name;     int age;          public Person(String a, int b){         name = a;         age = b;     } } 上面类实例的s...

2015-08-18 17:34:32

阅读数 530

评论数 0

内存概念随笔

如果说一个对象已经不被任何程序逻辑所需要但是还存在被根元素引用的情况,我们可以说这里存在内存泄露。 MAT 支持用 OQL(Object Query Language)对 heap dump 中的对象进行查询,支持对线程的分析等。 JVM根据generation(代)来进行GC,generatio...

2015-08-18 16:21:45

阅读数 506

评论数 0

节省内存的String.intern()

首先String不属于8种基本数据类型,String是一个对象。 因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 new String()和new String(“”)都是申明一个新的空字符串,是空串不是null; Strin...

2015-04-19 15:21:18

阅读数 561

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭