Java中的引用类型Reference究竟是什么?
当我们在讨论Java中的引用reference ['refrəns]
时,实际上包括三个不同的话题:
- 从数据类型的角度讨论什么是基本类型和引用类型,由此引发的常见问题:
- 如何区分基本类型
primitive types
和引用类型reference types
?链接 - Java中的基本类型
primitive types
有哪些?[链接] - 为什么有空指针异常
NullPointerException
?如何修复NullPointerException
? - 什么是值传递
pass-by-value
?什么是引用传递pass-by-reference
? - 为什么java中的String字符串不能用
==
比较?要用equals
比较? - java中
if(x == null)
和if(null == x)
的区别?
- 如何区分基本类型
- 从内存分配的角度讨论java引用和c++的指针,由此引发的常见问题:
- Java为什么不用指针?
- Java中的引用是指针吗?
- Java中的对象值是如何存储的?
- Java中引用和对象Object是什么关系?
- 从垃圾回收的角度讨论引用的实现方式和区别,由此引发的常见问题:
- Java中的强引用和弱引用有什么区别?
- Java中的弱引用有哪些适用场景?