美文网首页
内存分配策略

内存分配策略

作者: https迷路了 | 来源:发表于2019-02-13 22:45 被阅读16次

对象的内存分配主要是在堆上分配。根据具体的java虚拟机和相关的配置的不同,可能会存在一定的差异,不过大体上主要如下的几个规则:

1、对象会优先在Eden上分配

对象在一般情况上大多数会在新生代的Eden上分配内存,当内存不足时,虚拟机会发起一次MinorGC。

2、大对象会直接进入老年代

这里的大对象是指那些需要大量连接的内存空间的对象,例如:那些很长的字符串和数组。

3、长时间存活的对象会进入到老年代

一般来说,对象在Eden出生并且经历一次MinorGC,而已能survivor空间中,就对象年龄+ 1,当年龄大于阈值时,就会进入到老年代。其中阈值有一个默认值,也可以通过配置来设定。

相关文章

  • jvm 基础篇-(2)- 对象分配及回收♻️(-XX:-Hand

    对象分配规则 堆内存: 分配策略: 1、jvm内存宏观分配策略 虚拟机栈分配<<<<<传送门 2、堆内分配策略 1...

  • Android性能优化之常见的内存泄漏

    内存泄漏 Java 内存分配策略 Java 程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,和堆式分配,...

  • android 内存泄漏分析与优化(一)

    java中内存分配的策略 java程序运行时的内存分配策略有三种,分别是静态分配,栈式分配和堆分配,对应的三种策略...

  • Android内存管理及内存泄露

    Java 内存分配策略 Java 程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,和堆式分配,对应的,三...

  • JVM内存分配策略

    操作系统的三种内存分配方式: 1.静态内存分配策略 在编译时就能确定运行时的内存需求。 2.栈内存分配策略 ...

  • Android 内存泄露小结

    java内存的分配策略 Java 程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,和堆式分配,对应的,三...

  • Android性能优化之常见的内存泄漏

    Java内存分配策略 java程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,堆式分配。对应的三种存储策...

  • JVM学习四(内存分配与回收策略)

    (一)内存分配与回收策略 给对象分配内存、回收分配给对象的内存1、对象优先在Eden分配 通过-XX:+Print...

  • 内存分配策略

    这里我们说一下JVM在分配一个对象时的行为。注意:对象并不一定都在堆上分配。 1. 整体分配策略 堆内存分配策略 ...

  • 内存分配策略

    对象的内存分配主要是在堆上分配。根据具体的java虚拟机和相关的配置的不同,可能会存在一定的差异,不过大体上主要如...

网友评论

      本文标题:内存分配策略

      本文链接:https://www.haomeiwen.com/subject/dszbxqtx.html