Collections 空集合与空返回?内存使用缺陷有多大?

Collections 空集合与空返回?内存使用缺陷有多大?,collections,language-agnostic,null,Collections,Language Agnostic,Null,正如在许多问题(如和)中所讨论的,返回null值而不是空集合被认为是一种不好的做法 我同意如果(a!=null)的话,null将返回数千个的代码,但我想知道当数千个调用仅仅返回一个空集合或数组时,这会对内存使用产生怎样的影响。当应用程序需要内存优化时,是否要考虑这一点?或者垃圾收集(例如java)处理它?返回一个静态的、不可变的空列表,而不是一个新对象。这样,所有空列表都引用相同的静态对象。例如: (Java 9及更高版本) 在大多数(所有?)情况下,null是一个零字。一个空集合很可能是两

正如在许多问题(如和)中所讨论的,返回null值而不是空集合被认为是一种不好的做法


我同意如果(a!=null)的话,null将返回数千个
的代码,但我想知道当数千个调用仅仅返回一个空集合或数组时,这会对内存使用产生怎样的影响。当应用程序需要内存优化时,是否要考虑这一点?或者垃圾收集(例如java)处理它?

返回一个静态的、不可变的空列表,而不是一个新对象。这样,所有空列表都引用相同的静态对象。例如:

  • (Java 9及更高版本)
在大多数(所有?)情况下,
null
是一个零字。一个空集合很可能是两个单词,一个是指向集合的指针,第二个是占位符,说“我是空的”。使用两个单词而不是一个会导致问题吗?这取决于您运行的系统。智能卡的内存可能非常有限。