java数组存放对象的疑问

来源:2-1 使用Java中的数组

朱小悬

2019-09-02

老师,晚上好!
java里的ArrayList是可以存放对象的,那ArrayList存放的是实际的对象还是这个对象的引用呢?
如果ArrayList存放的是实际的对象,那我们new一个存放对象的ArrayList,那jvm是怎么知道我这个ArrayList到底占用多少内存,怎么去向操作系统申请多少内存呢?

写回答

1回答

liuyubobobo

2019-09-02

存的是引用。


继续加油!:)

2
2
liuyubobobo
回复
朱小悬
这些引用连续地存储在数组中,但是每个引用引用的内存空间不连续。这和链表有区别。通过数组,找到第i个对象的内容,可以直接找到第i个引用,然后在访问对应的内存。而使用链表,必须先遍历前 i - 1 个引用,才能找到第 i 个引用是谁,进而才能找到对应的内存。
2019-09-02
共2条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程