从0学开发笔记-java中的内存划分

从0学开发笔记-Java中的内存划分

1.Java虚拟机的内存划分

  1. 栈(stack):存放的都是方法中的局部变量(数组名(数组的地址)存在栈当中,数组的值存在new出来的堆当中)
  • 局部变量:方法的参数,或者是方法{}内部的变量
  • 作用域:一旦超出作用域,立刻从栈内存中消失
  1. 堆(Heap):凡是new出来的东西,都在堆当中。堆内存里面的东西都有一个地址:16进制。堆里面的数据都有默认值。规则:
  • 整数:默认为0
  • 浮点数:默认为0.0
  • 字符:默认为’\u0000’
  • 布尔:默认为false
  • 引用类型:默认为null
  1. 方法区(Method Area):存储.class相关信息。包含方法的信息,但是方法运行的时候在栈中运行。
  2. 本都方法栈(native method stack):与操作系统相关
  3. 寄存器:与CPU相关

猜你喜欢

转载自blog.csdn.net/weixin_42595206/article/details/112853270
今日推荐