05-从零玩转JavaWeb-彻底搞懂值传递

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了05-从零玩转JavaWeb-彻底搞懂值传递相关的知识,希望对你有一定的参考价值。

 

一、数据类型分类

  基本数据类型:

  只有一块存储空间, 在栈中,存放的是具体的值

       引用数据类型:

    引用数据类型有两块存储空间
      一个在栈(Stack)中,一个在堆(heap)中。 栈中存放的是堆中的地址

      栈中的存取速度要快于存储在堆中的对应包装类的实例对象。

      技术分享

            技术分享

二、值传递:

  传递的是具体的值

       技术分享

 

     上面的方法执行流程为:main方法的栈帧入栈,在main的帧当中有一个x = 20;

      当执行change(X)时,此时传入了一个参数x = 20

      执行change方法,change方法的栈帧入栈    

      第一次打印结果为x = 20;

      x改为100

      再次打印 结果为:x = 100

      内存图如下:

      技术分享

       当执行完change方法后,change方法的栈帧就会出栈

   技术分享

        此时栈中只有一个main方法的栈帧

        所以在执行完change方法后,再去打印x ,此时x = 20;

 


以上是关于05-从零玩转JavaWeb-彻底搞懂值传递的主要内容,如果未能解决你的问题,请参考以下文章

13-从零玩转JavaWeb-成员变量与局部变量完全解读

15-从零玩转JavaWeb-封装思想

25-从零玩转JavaWeb-抽象类

23-从零玩转JavaWeb-单例设计模式

18-从零玩转JavaWeb-继承思想

09-从零玩转JavaWeb-匿名对象