原始类型声明是否会占用更多内存并导致内存泄漏问题?

时间:2018-01-25 10:33:24

标签: java memory-leaks

我想知道,泛型类型的原始类型声明会导致内存泄漏问题。例如:在下面的代码中将vector定义为raw

Vector shortCutVector = (Vector) request.getAttribute("shortCutVector");

1 个答案:

答案 0 :(得分:2)

不,泛型不会以任何方式影响内存使用。它们只是向编译器提供输入信息的一种方式。

如果是Vector(或ArrayList,如果您不使用古老的类),内部存储仍由Object[] arr;处理,因此它没有任何区别通用类型是什么。

更重要的是,对象引用的内存使用量始终相同,因此Integer i;String s;仍然会使用相同数量的内存。但是,初始化时,存储当然会有所不同,因为Integer i = new Integer(1);String s = "asdasdasd";显然需要不同的空间量。