Java内存

Java进程内存的组成

java堆内存

  • 介绍:Java堆内存指JVM用来分配Java对象的内存
  • 存储场景:比如new一个String对象,String str=new String(“hello word”)。则这个对象存储在Java的堆内存之中。
  • 控制参数:
    • 设置堆内存的初始值 -Xms[k|m|g];如 -Xms256m
    • 设置的堆内存的最大值 -Xmx[k|m|g];如 -Xmx512m

元空间(Metaspace)/Perm内存

  • 介绍:内存的永久保存区域
  • 存储场景:虚拟机用来加载class字节码文件的内存
  • 区别:JDK1.8之后,Metaspace取代了Perm内存;Metaspace没有使用虚拟机的内存,而是本地内存
  • 控制参数:
    • 设置Perm内存初始值 -XX:PermSize=[k|m|g];如 -XX:PermSize=256m
    • 设置Perm内存最大值 -XX:MaxPermSize=[k|m|g];如 -XX:MaxPermSize=512m
    • 设置Metaspace初始值 -XX:MetaspaceSize=[k|m|g];如 -XX:MetaspaceSize=256m
    • 设置Metaspace最大值 -XX:MaxMetaspaceSize=[k|m|g];如 -XX:MaxMetaspaceSize=512m

本地内存

  • 介绍:JVM用于虚拟机内部运作的内存
  • 使用场景:
    • JVM作为程序,自身运行也是需要使用内存的
    • JNI调用动态库使用的内存
  • 控制参数:无需设置大小,作为一个程序,直接由操作系统分配
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值