map 和 hashmap 在使用上需要注意 [] 和 find的区别,数据不存在时 [] 会开辟内存 而find 不会。这个特性很重要。
这个特性很重要,假如一个map当前size是1,使用[]访问一个不存在的key时,你再去取size,发现 size变成2 了,就是这么叼。***
再假如,高并发多线程程序访问map 或 hash 的时候,为了提高性能使用读写锁,如果你再读锁里面使用[] 访问一个不存在的数据时,那就有可能崩溃了。******
本文探讨了在Map和HashMap中,使用`[]`和`find`方法访问不存在的键时的区别。`[]`操作会在找不到键时创建新条目,导致size增加,而`find`则不会。这种特性在多线程环境下可能导致问题,例如在读写锁保护的映射中使用`[]`访问不存在的键,可能会引发意外的并发问题。了解并正确使用这两种方法对于优化并发程序的性能和稳定性至关重要。
map 和 hashmap 在使用上需要注意 [] 和 find的区别,数据不存在时 [] 会开辟内存 而find 不会。这个特性很重要。
这个特性很重要,假如一个map当前size是1,使用[]访问一个不存在的key时,你再去取size,发现 size变成2 了,就是这么叼。***
再假如,高并发多线程程序访问map 或 hash 的时候,为了提高性能使用读写锁,如果你再读锁里面使用[] 访问一个不存在的数据时,那就有可能崩溃了。******
2364

被折叠的 条评论
为什么被折叠?