li-yan-long

堆栈方法区理解

如下图所示:

1.值类型如:string,int,bool,double,folat,char...这些基本类型保存的都直接是值,并且不占用空间,所以都保存在栈中。

2.静态对象保存在方法区中,而方法区的对象在程序结束之前都会一直存在,所以建议通常保存一些工具类,要维护的集合等,最好不要保存一次性或多次被抛弃的对象,因为方法区中的数据在服务器停止之前是不会被消除的。

3.正常对象保存在堆中,因为对象占用的空间较大所以保存在堆中较为合理,平时编程最多存放的地方也是在堆中。

4,变量间互相赋值就是互相复制各自栈中的值给对方。你栈中存放的是值就复制值,是引用就复制引用。

特性:

场景:基本类型/自定义类型  变量名1  = 变量名2(基本类型/自定义类型);

基本变量修改:因为基本变量的值是存在栈中的(没有堆这一说),所以新变量被改变对以前的变量没任何影响。

对象修改:因为栈中只存对象地址,所以修改就得在堆中改变(栈中不动),所以对象被改变后大家引用的对象都会变为最新的对象

分类:

技术点:

相关文章:

  • 2021-12-11
  • 2022-12-23
  • 2021-06-26
  • 2021-11-15
  • 2022-01-08
  • 2022-12-23
  • 2021-12-18
  • 2022-02-07
猜你喜欢
  • 2021-07-15
  • 2021-04-09
  • 2021-11-13
  • 2022-02-07
  • 2021-11-07
  • 2022-12-23
  • 2022-03-05
相关资源
相似解决方案