java虚拟机
suifeng_qu
这个作者很懒,什么都没留下…
展开
-
java内存区域与内存溢出异常
java对象的内存布局在Hotspot虚拟机中,对象在内存中存储布局可以分为三个区域:对象头、实例数据、对齐填充。对象头:分为两部分,一部分存储对象自身运行时数据,如哈希码、GC分代年龄、线程持有锁等;另外一部份存储类型指针,即对象指向它的类元数的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。* java对象的访问定位*目前主流的访问方式有使用句柄和直接指针两种。 **句柄:**java堆原创 2017-06-05 22:46:49 · 188 阅读 · 0 评论 -
垃圾收集算法
标记-清除算法过程:分为标记和清除两个阶段。首先标记出所有需要回收的对象,在标记完成之后统一回收所有被标记的对象。 缺点:(1)标记和清除这两个阶段的效率都不高。 (2)标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能导致以后运行过程中需要分配较大对象时,找不到足够连续的内存而触发另一次的垃圾收集动作。复制算法过程: 可用内存分为两部分,每次只使用其中一块,当这块内原创 2017-06-28 15:03:14 · 161 阅读 · 0 评论 -
Java中初始化和清理
Java中初始化和清理 构造器的自动初始化 *在Java中“初始化“和”创建 “是捆绑在一起,两者不能分离。 构造器是一种特殊类型方法,它是没有返回方法。它和返回类型为void是不同的。new表达式中返回了对新建对象的引用,但是引构造器本身是没有任何返回值的。* 成员初始化 一个类的所有基本类型数据成员都会保证获得一个初始值。 在一个类中可以中的变量甚至可以通过调用一个方法来提原创 2017-05-09 09:04:10 · 304 阅读 · 0 评论