java.util下的Collections类自带了三个类变量:EMPTY_MAP、EMPTY_LIST、EMPTY_SET,被static跟final修饰,全局唯一且不可更改
当业务判断需要返回空集合的时候不用手动去new集合,直接调用Collections的静态方法Collections.emptyMap()、Collections.emptyList()、Collections.emptyset()就可以获取到对应的空集合,避免重复去new占用内存空间。
除了集合,其他地方也有很多采用这种思想,定义一个特定值的类变量,当频繁使用这个特定值的时候就不需要重复去new,浪费内存空间,比如BigDecimal 类型的变量为0的时候就可以使用BigInteger.ZERO,代码为:
BigDecimal b = new BigDecimal(BigInteger.ZERO);