public static void main(String[] args) {
final List<Object> objects = Stream.generate(Object::new).limit(200_000).collect(Collectors.toList());
System.out.println("objects.size() = " + objects.size());
final int size = objects.stream().map(Object::hashCode).collect(Collectors.toSet()).size();
System.out.println("size = " + size);
//objects.size() = 200000
//size = 199992
//并没有发生gc, 所以内存地址不存在复用
//hashcode是int类型, 是32位, 而我的电脑是64位(内存地址), 以32位表示64位, 甚至想要表示无穷位, 自然会有冲突
}
https://blog.youkuaiyun.com/weixin_42260270/article/details/109594269