您的位置 首页 java

JVM内存分配

以Myeclipse为例,在Preferences-> java ->Installed JREs下面,就有设置jvm内存分配

JVM内存分配

这里我们就可以配置内存,一般我们见到的都是

 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

linux中一般为:
-vmargs -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  

按照官方的说法:Java 虚拟机 具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的,在JVM中堆之外的内存称为非堆内存(Non-heap memory)。

简单的说就是:堆是java代码可及的内存,开发人员写的东西都是堆分配的内存(底层实现除外)。而非堆内存则是JVM自己用的,比如JVM内部处理或优化,垃圾处理,常数池等。

堆的内存分配用-Xms和-Xmx
-Xms分配堆最小内存,默认为物理内存的1/64;-Xmx分配最大内存,默认为物理内存的1/4。
非堆内存分配用-XX:PermSize和-XX:MaxPermSize
-XX:PermSize分配非堆最小内存,默认为物理内存的1/64;-XX:MaxPermSize分配非堆最大内存,默认为物理内存的1/4。
合理的内存分配是程序正常稳定的运行的基础

文章来源:智云一二三科技

文章标题:JVM内存分配

文章地址:https://www.zhihuclub.com/189619.shtml

关于作者: 智云科技

热门文章

网站地图