jvm内存分配过程

原创 2017年07月09日 20:32:40

jvm内存分配过程

1、JVM 会试图为相关Java对象在Eden Space中初始化一块内存区域。 2、当Eden空间足够时,内存申请结束;否则到下一步。
3、JVM试图释放在Eden中所有不活跃的对象(这属于1或更高级的垃圾回收)。释放后若Eden空间仍然不足以放入新对象,则试图将部分Eden中活跃对象放入Survivor区。
4、Survivor区被用来作为Eden及Old的中间交换区域,当Old区空间足够时,Survivor区的对象会被移到Old区,否则会被保留在Survivor区。
5、当Old区空间不够时,JVM 会在Old区进行完全的垃圾收集(0级)。
6、完全垃圾收集后,若Survivor及Old区仍然无法存放从Eden复制过来的部分对象,导致JVM无法在Eden区为新对象创建内存区域,则出现“outofmemory”错误。

版权声明:本文为博主原创,转载请注明出处(http://blog.csdn.net/jdjh1024).

JVM中的内存分配及GC回收过程简单整理

哦哦

JVM内存分配过程与原理解析(雷惊风)

之前对java虚拟机对于内存的分配与管理不是很了解,这段时间工作不是很忙,想借此机会深入的了解一下,在网上看了很多文章,对其详情也有了一定的认识,但是只是看看肯定是不行的,为了加深印象同时使自己能够理...

JVM内存模型及内存分配过程

一、JVM内存模型 JVM主要管理两种类型内存:堆(Heap)和非堆(Permanent区域)。 1、Heap是运行时数据区域,所有类实例和数组的内存均从此处分配。Heap区分两大块,一块...
  • novelly
  • novelly
  • 2013年10月11日 20:10
  • 774

JVM内存分配与垃圾回收详解

  • 2012年07月06日 17:11
  • 10.83MB
  • 下载

java虚拟机 jvm 出入java栈 栈空间内存分配

java栈空间是一块线程私有的内存空间,java堆和程序数据密切相关,那么java栈就是和线程执行密切相关。线程最基本的执行行为就是函数的调用。每次函数调用其实是通过java栈传递数据的。 数据结构中...

C运行过程内存分配问题详解

  • 2017年11月09日 17:42
  • 88KB
  • 下载

创建string对象过程的内存分配:

  • 2012年04月16日 15:18
  • 50KB
  • 下载

JVM内存分配以及存储总结

最近看了一下JVM的内存分配,还是比较复杂的。这里做个总结,首先一个common sense就是操作系统会为每个java进程实例化一个jvm实例。jvm然后再来运行java程序,具体的过程就不多说了,...

JVM初探- 内存分配、GC原理与垃圾收集器

JVM初探- 内存分配、GC原理与垃圾收集器 JVM内存的分配与回收大致可分为如下4个步骤: 何时分配 -> 怎样分配 -> 何时回收 -> 怎样回收. 除了在概念上可简单认为new时分配外...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jvm内存分配过程
举报原因:
原因补充:

(最多只允许输入30个字)