【Java】内存模型

所谓内存模型:

  是否知道java的内存画风

  是否知道调整内存的方法

  GC的解释操作

如果要说到内存,最直观的理解就是单例对象Runtime类。

Runtime run = Runtime.gerRuntime();

实际上,再java里面如果想进行内存的变更,就需要掌握一些内存的结构:

  1.伊甸园区:新生的对象都保存再此处,但是不代表新生的对象会一直存活

    。此处也属于内存空间,那么既然是内存空间一定会被沾满,如果占满了,那么就会执行GC处理

  2.旧生代区:如果某些对象发现期要一直使用,那么就进入到旧时代区,这属于二级回收保险

    。如果是先执行GC,那么先清理伊甸园区,随后如果发现空间不足,继续清理旧生代区。

  3.永久区:永久区总的数据不会清除,即使程序出现了“OutofMemory”也不会清除。在java8中移除,改为元空间。

如何调整:

-Xms2048M-Xmx2048M-Xmn1024M

  。初始分配的内存大小,默认为物理内存的1/64,但是小于1G

  。最大分配内存,默认大小是物理内存的1/4,但是小于1G

  。设置伊甸园区的堆的大小。

只有调整之后才可以保证系统内存会得到提升,这样很明显。

 

posted on 2020-02-12 15:23  雪原那么远  阅读(134)  评论(0编辑  收藏  举报

导航