2 ezhishui ezhishui 于 2016.09.18 20:00 提问

缓存直接缓存byte数组:map.put("key", byte[])有啥其他影响么

缓存直接缓存byte数组:map.put("key", byte[]),这样会不会导致什么问题?性能或者其他

1个回答

cangyingzhijia
cangyingzhijia   2016.09.18 21:16
已采纳

光从java语言的角度来说不会有任何的影响,内部使用的是引用方式,对于value是什么类型对map的影响并不大,
对map性能有影响的是key的类型,。当如如果考虑到不同的表示对内存的消耗不同,比如value是String类型总比byte[]是要多占用内存的,
如果内存占的太多了由于虚拟内存、硬件cache line命中率的下降等等原因肯定会对性能造成影响,当然java开发中很少遇上这种情况

ezhishui
ezhishui 厉害,那相对来说value用byte[] 反而比string占用内存要少吧,那现有很多代码写的value都是string,不如用byte[]好,这样理解对吗
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片