java heap最大最小参数_闲谈JVM(一):浅析JVM Heap参数配置

文章目录

前言

JVM内存模型

堆(Heap)配置

Xms与InitialHeapSize

Xmx与MaxHeapSize

Heap的缺省配置

Default Heap Size

Client JVM Default Initial and Maximum Heap Sizes

Server JVM Default Initial and Maximum Heap Sizes

堆(Heap)的动态调整

Heap大小配置建议

结语

前言

JVM是Java语言的核心基石所在,它为Java提供了强大的跨平台能力,关于JVM的内部结构,想必您并不陌生,有大量的文章来介绍JVM的内部组成结构,本篇的重点不在于此,这里假定您对JVM的内部组成结构已经比较了解。

JVM中提供了大量的配置参数,通过JVM的参数配置,可以让JVM的性能更加适配于应用服务,发挥出更加强大的性能,那么本篇,就来简单聊一下JVM的参数配置,首先,来看一下JVM堆区的配置。

JVM内存模型

82041f8faa80ab9906ca3eb215af7e5b.png

上图就是JVM的内存模型,JVM内存结构主要有三大块:堆内存、方法区和栈。

对于大多数应用来说,Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。

堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间。

我们首先来看其中最为重要的一个部分,堆(Heap)区。

堆(Heap)配置

按照官方的说法:“Java 虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”

堆区的大小,主要由以下几个参数进行控制:

1、Xms

2、Xmx

3、MaxHeapSize

4、InitalHeapSize

我们来分别看一下这几个参数各自的用途。

Xms与InitialHeapSize

Xms等价于InitialHeapSize,表示Heap的初始化大小,即J

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值