08 2011 档案
摘要:我们都知道在多线程操纵Map时,需要对Map数据结构进行同步,因为通过同步可以保证数据的一致性。但是同步化的同时,程序性能也往往会随之下降。在数据一致性与程序性能之间寻找平衡,是个挺纠结的事儿-_-|||…我们一定要在多线程环境下对Map进行同步吗? 不是的。例如应用场景对Map中的数据无一致性要求时,即可不做同步。当然,这种情况是很少发生的。那在要求Map中数据一致时怎样呢?这个…这个要具体问题具体分析啦! 对Map只有读操作 Map数据结构在初始化后,所有相关线程只做读操作,这时就没有必要进行同步了。因为不牵扯到数据修改,所以此时Map就相当于static的。我们在平时的应用场景中,还是存
阅读全文
摘要:相同点: 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。区别: 指针是一个实体,而引用仅是个别名; 引用使用时无需解引用(*),指针需要解引用; 引用只能在定义时被初始化一次,之后不可变;指针可变; 引用“从一而终” ^_^ 引用没有 const,指针有 const,const 的指针不可变; 引用不能为空,指针可以为空; “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof指针”得到的是指针本身(所指向的变量或对象的地址)的大小; typeid(T) == typeid(T&) 恒为真,sizeof(T) ==sizeof(
阅读全文