目录
- 1. 形参与实参
- 2. Java的数据类型
- 3.JVM内存的划分及职能
- 1. 虚拟机栈
- 2. 堆
- 3. 程序计数器
- 4. 方法区
- 5. 本地方法栈
- 4. 数据如何在内存中存储?
- A.基本数据类型的局部变量
- B. 基本数据类型的成员变量
- C. 基本数据类型的静态变量
- 6. 值传递和引用传递
- 结语
学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨论的话题又是充满争议:有的论坛帖子说Java只有值传递,有的博客说两者皆有;这让人有点摸不着头脑,下面我们就这个话题做一些探讨,对书籍、对论坛博客的说法,做一次考证,以得出信得过的答案。
其实,对于值传递和引用传递的语法和运用,百度一下,就能出来可观的解释和例子数目,或许你看一下例子好像就懂,但是当你参加面试,做一道这个知识点的笔试题时感觉自己会,胸有成熟的写了答案,却发现是错的,或者是你根本不会做。
是什么原因?
那是因为你对知识点没有了解透彻,只知道其皮毛。要熟读一个语法很简单,要理解一行代码也不难,但是能把学过的知识融会贯通,串联起来理解,那就是非常难了,在此,关于值传递和引用传递,小编会从以前学过的基础知识开始,从内存模型开始,一步步的引出值传递和引用传递的本质原理,故篇幅较长,知识点较多,望读者多有包涵。
......
......
在全面理解值传递和引用的基础上,巩固练习:
1.《Java值传递以及引用的传递、数组的传递!!》
最后一题的图解(有点丑,凑合看)
2.《一道题目来分析Java中的值传递和引用的传递》
如果以上几题测试都正确,那么恭喜你,基本掌握了值传递和引用的关系~