Java 集合和内存使用

标签 java collections

我有一个关于 Java 内存使用的问题。这是为了启发我和其他后来搜索并找到这个的人!出于问题的目的,请假设这是一种单一方法,在我的问题期间没有任何内容超出范围;-)

我创建了 5 个新对象,其中包含一个名为“name”的 String 类型属性。 我创建一个 ArrayList 并将 5 个对象添加到该 ArrayList 中。然后,我创建一个 HashMap 并迭代之前创建的 ArrayList,将对象添加到 HashMap。

Q1。当我将 ArrayList 中的对象添加到 HashMap 时,我假设我只是创建另一个“指针”集合,因为我没有使用“new”关键字。因此,除了 HashMap 本身(对象不重复)之外,不会消耗新的内存。

第二季度。如果我更改 HashMap 中对象中“name”的值,并且在进行更改后迭代 ArrayList,是否会看到相同的更改。

我感谢对我的理解进行“健全性检查”。

最佳答案

Q1:创建了HashMap并创建了对象的引用。因此,内存被消耗,但引用并不是很大,但如果引用的数量很大,就会产生影响。

问题 2:编辑:是的,名称字段会更改。更好的是,编写一个小程序来检查一下。

关于Java 集合和内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14107758/

相关文章:

java - Tess4J 非法状态异常 : Input not set

java - 在java中为文本文件创建二维数组?

java - iText - OutOfMemory 创建超过 1000 个 PDF

java - “释放”Java 列表中的迭代器

swift - 应用自动布局后 Collectionview 崩溃

java - 同步集合与同步方法?

java - 如何在 JPA Hibernate 中对外部列进行排序?

java - 如何将部署在 elastic beanstalk 上的 Web 应用程序与 aws 上的 mysql 数据库实例连接起来?

c# - 为什么 .NET 中的集合类不是通用的?

java - 无法将返回的 java.util.ArrayList 分配给 scala.collection.mutable.ArrayBuffer。为什么?