手机访问          
logo
jvm探索
更新时间:2017-05-29 15:39:12    2921次阅读 评论 0

jvm(java virtual machine)java虚拟机。里边的内存构造有:堆内存、非堆内存、栈内存。


堆内存:

    java虚拟机有一个堆,堆是运行时的数据区域,所有类实例和数组的内存均在此处分配,堆是java虚拟机启动时创建的


非堆内存:

    在jvm堆之外的内存称之为非堆内存


     简单来说, 堆就是java代码可及的内存,是留给开发人员自己使用的,所以方法区,jvm内部处理或优化所需处理的内存;每个类结构(如运行时的常量池、字段和方法数据)以及方法和构造方法的内存都在非堆内存中。


eclipse编辑器的一些配置参数

-vmargs 

-Xms128M 

-Xmx512M 

-XX:PermSize=64M 

-XX:MaxPermSize=128M


在这里做下解释


-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了

-Xms128m JVM初始分配的堆内存

-Xmx512m JVM最大允许分配的堆内存,按需分配

-XX:PermSize=64M JVM初始分配的非堆内存

-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配


堆内存分配


    JVM初始分配内存是由-Xms指定大小,默认是物理内存的1/64;JVM的最大堆内存是由-Xmx指定的,默认是物理内存的1/4,默认堆内存小于40%时,JVM就会增加堆直到-Xmx的最大限制,空余堆内存大于70%时,JVM就会减少堆直到-Xms的最小限制。

因此服务器一般设置-Xms、-Xmx的值相等,以避免每次gc后调整堆的大小


非堆内存分配

    JVM使用-XX:PermSize设置非堆内存的初始大小,默认是物理内存的1/64。JVM的最大非堆内存是由-XX:MaxPermSize指定的,默认是物理内存的1/4。


JVM的内存限制

    JVM的最大内存限制是物理内存


分享按钮 分类:java
  

create:2017-05-29    阅读量(2921) 评论( 0 )

返回顶部
登录评论
  ABOUT ME
头像
昵称零零一
博龄 { 58.3月 }
积分610
博主被推荐的文章
相关博文
推荐博文
    SQL Server中@@ROWCOUN
    jsp spring mvc get请求
    sql事务的使用
    C#编程。 用Vs2008开发C#程序,
    读书无趣
    疾病及编码介绍二、呼吸系统疾病(J00~
    sqlserver中drop、trunc
    倒影
    疾病及编码介绍九、眼和附器疾病(HOO~
    如何对密码进行必须包含字母,数字,特殊字
标签云
反馈 联系©2015-2016 2016 ©zhoubo15.cn 粤ICP备15029033号-1