Java内存简单介绍

1.首先必需掌握概念:

栈与堆:生成空间

java虚拟机启动时,它会从底层的操作系统取得一块内存,并以此区段来执行java程序。

所有的对象都存活在可垃圾回收的堆上

区域变量有称为栈变量

栈:方法调用和局部变量

堆:所有的对象(可垃圾回收的堆)

实例变量 :实例变量是被声明在类而不是方法里面。它们代表每个独立对象的“字段”每个实例可能有不同的值)。

(截图来自Head First Java书籍,注:本文的图片也是这要来自这本书籍)。


局部变量:局部变量和方法的参数都是被声明在方法中。它们是暂时的,且生命周期只限于方法被访者栈上的这段期间。

2.方法是怎么调用的

当你调用一个方法时,该方法会放在调用栈的栈顶。实际被栈上的是堆栈块,它带有方法的状态,包括执行到哪一行程序以及所有的局部变量的值。注意:要理解栈的性质“先进后出”。


3.对象在堆上的应用

如果有声明变量但没有给它赋值,则只会留下变量的空间:

private  Antenna   ant

直到引用变量被赋值一个新的Antenna对象才会在堆上占有空间:

private Antenna  ant =  new  Antenna();

4.Java内存图:



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值