Java内存划分

Java内存主要分为五大区域:栈、堆、方法区、本地方法栈和寄存器。栈存储方法中的局部变量,堆用于存储NEW出来的对象。方法区存储.class信息及方法信息。本地方法栈服务于操作系统相关的 native 方法。寄存器则与CPU紧密相关。了解这些内存划分有助于理解Java程序的运行机制。
摘要由CSDN通过智能技术生成

Java内存划分

分为五个部分:

一、栈(Stack)

存放的是方法中的局部变量; 方法的运行一定要在栈中

局部变量:方法的参数,或是方法内部的变量;

作用域:若超出作用域,则立刻从栈内存中消失;

二、堆(Heap)

凡是NEW出来的各种变量等都在堆当中;(例如数组)

堆中每个对象都有一个地址值,为16进制,默认如下:

  • int -> 0
  • float/double -> 0.0
  • char -> ‘\u0000’(不可见字符,char类型的默认字符)
  • boolean -> false
  • 引用类型 -> null

三、方法区(Method Area)

存储有关.class的信息以及方法的信息。

四、本地方法栈(Native Method Stack)

与操作系统有关。

五、寄存器(Register)

与CPU有关。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值