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回收过程简单整理

哦哦
  • lanzi0907
  • lanzi0907
  • 2015年04月07日 21:13
  • 1911

JVM内存中String分配详解(Java)

package test1; public class StringTest { /** Java中String在内存中的分配情况详解 * * (1)Java中的String对象是不可...
  • wyongan1128
  • wyongan1128
  • 2016年09月13日 12:38
  • 920

JVM 年青代内存分配

JVM 年青代内存分配 引入 先看一段代码: Test public void testJVM() { System.out.println("maxMemo...
  • lhn1234321
  • lhn1234321
  • 2018年01月25日 14:56
  • 48

JVM(一)——GC,内存分配和垃圾回收

心得:Java中垃圾回收和内存可以实现高度的自动化,栈帧可以由JVM自动分配和回收,局部变量表和操作数栈也可以在编译时就确定好,堆中的内存分配和回收才是JVM关注的重点,JVM实现大多采用可达性分析来...
  • Zerohuan
  • Zerohuan
  • 2016年01月03日 15:54
  • 2336

JVM内存分配与回收

JVM内存分配 Java虚拟机在运行时将所管理的内存区域分为以下五个部分:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。其中,程序计数器、Java虚拟机栈与本地方法栈这三个区域为线程...
  • xuyang251164468
  • xuyang251164468
  • 2015年08月07日 12:54
  • 311

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

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

Tomcat工作原理 、JVM内存溢出及合理配置、配置文件详解

Wrapper 代表一个 Servlet,它负责管理一个 Servlet,包括的 Servlet 的装载、初始化、执行以及资源回收。Wrapper 是最底层的容器,它没有子容器了,所以调用它的 add...
  • wenzhibinbin_pt
  • wenzhibinbin_pt
  • 2014年04月17日 12:07
  • 2135

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

JVM初探- 内存分配、GC原理与垃圾收集器 JVM内存的分配与回收大致可分为如下4个步骤: 何时分配 -> 怎样分配 -> 何时回收 -> 怎样回收. 除了在概念上可简单认为new时分配外...
  • hanqing280441589
  • hanqing280441589
  • 2016年12月30日 20:45
  • 9097

Ant中设置JVM的最大内存

用ant跑一堆Junit的测试,大概是测试太多的缘故吧,跑到后来就出现 OutOfMemory Exception。 心想大概是JVM的内存不足(默认只有64M),于是想设置到256M 网上查了...
  • aerchi
  • aerchi
  • 2012年01月09日 12:42
  • 3300

深入Java核心_JVM内存分配&内存使用查看

Java中的内存泄露      当以前分配的一块内存不再使用或不再访问,但系统却没有释放该块内存。那么对于该进程来说,总的可用的内存会减少,这种现象就叫做内存泄漏。 预防和减少内存泄露?  ...
  • orclight
  • orclight
  • 2013年01月06日 11:34
  • 1123
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jvm内存分配过程
举报原因:
原因补充:

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