好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
启动JVM时的Xms和Xmx参数是什么? 关闭 返回上一级  

启动JVM时的Xms和Xmx参数是什么?
+ 查看更多

发布日期:2018-03-10 10:58
分类:JAVA
浏览次数:582
请解释在JVM中如何使用Xms和Xmx参数,它们的默认值是什么?

回答

标志Xmx指定了Java虚拟机(JVM)的最大内存分配池的大小,而Xms指定初始内存分配池的大小。
这意味着你的JVM将以Xms内存量启动,并且能够使用最大为Xmx的内存量。举个例子,若代码如下,将会以256MB的内存量启动JVM,并将允许该进程使用高达2048MB的内存:
java -Xmx2048m -Xms256m
还可以以多种单位(例如,千字节,兆字节等)指定内存标志的大小。
-Xmx1024k
-Xmx512m
-Xmx8g
Xms标志没有默认值,Xmx通常具有256MB的默认值。当遇到java.lang.OutOfMemoryError时,通常这些标志会派上用场。
当使用这些设置时,请记住这些设置是针对JVM的堆,并且JVM可以使用更多的内存,而不仅仅是分配给堆的大小。摘自Oracle的文档:
请注意,JVM使用的内存不仅仅是堆。 例如,Java方法,线程栈和本地句柄被分配在与堆分开的内存中,JVM内部数据结构也是如此。
上一篇在Java中如何创建一个新的List?
在Java程序运行时遇到的“Could not find or load main class(无法找到或者加载主类)”是什么意思?下一篇
下一篇在Java程序运行时遇到的“Could not find or load main class(无法找到或者加载主类)”是什么意思?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号