JAVA中简单的内存分析

JAVA中简单的内存问题

栈空间:

用来为调用的方法开辟空间,局部变量会存储在栈空间中。当方法结束时,垃圾回收器会回收方法所占有的内存空间,销毁方法体中的局部变量。它有一个特点,就是存储在栈中的数据可以被共享 ,并且在栈中的元素会服从先进后出规则。

在这里插入图片描述

堆空间:

为创建的对象开辟空间,保存对象的属性。当对象不再被任何一个强引用持有,垃圾回收器便会对该对象进行回收,执行finalize()方法,当垃圾回收器再一次扫描发现该对象仍然没有被任何一个强引用所持有时,对该对象内存空间进行回收

方法区:

方法区用来存储由.Java文件编译过后生成的.class文件(字节码文件),所有的方法在被调用之前都存储在该区域。

方法区中的静态区:
用来存放被static修饰符修饰的属性,被static修饰的数据在.Java文件加载成.class文件时,就会加载到该区域,且只会被加载一次。生命周期很长,从生成一直存活到项目结束。

静态区中的常量区:
用来存储字面值常量或被final修饰的变量值。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值