常量成员变量,涉及线程安全的讨论
class Test
{
static finall HashTable<String, String> table = initialHashTable();
public Test()
{
}
public void useHashTable()
{
//这里使用table
table.getValue("123");
}
static HashTable<String, String> initialHashTable()
{
HashTable<String, String> ht = new hashTable<String, String>();
ht.put("123", "abc");
ht.put("456", "dfe");
return ht;
}
}这个类是要在web上被调用,如果有100个人调用useHashTable这个函数,如果用HashTable(线程安全),每个人都得等别人使用完了才能用.效率也太低了吧.如果用hashMap,虽然不是线程安全的,但我的useHashTable只是读这个数组,并不写,有问题吗?
如果table 不是个复杂类型,只是个String类型,那不管多少个线程读它,都没问题吧?
相关推荐
锻炼变量
锻炼变量
C语言中结构体偏移及结构体成员变量访问方式的问题讨论
c语言结构体偏移 示例1 我们先来定义一下需求: 已知结构体类型定义如下: struct node_t{ char a; int b; int c; }; 且结构体1Byte对齐 #pragma pack(1) 求: 结构体struct node_t中成员变量c的偏移。 注:这里的偏移量指的是相对于结构体起始位置的偏移量。 看到这个问题的时候,我相信不同的人脑中浮现的解决方法可能会有所差异,下面我们分析以下几种可能的解法: 方法1 如果你对c语言的库函数比较熟悉的话,那么你第一个想到的肯定是offsetof函数(其实只是个宏而已,先姑且这样叫着吧),我们man 3 offset
Java中的常量和变量概念及定义.docx
初步整理的java常量变量的概念,十分粗浅,只是将简单的概念整理了出来,在使用过程中还需要慢慢累积和理解其中的更深含义
C++ 成员变量的初始化顺序问题详解
C++ 成员变量的初始化顺序问题详解 问题来源: 由于面试题中,考官出了一道简单的程序输出结果值的题:如下, class A { private: int n1; int n2; public: A():n2(0),n1(n2+2){} void Print(){ cout << "n1:" << n1 << ", n2: " << n2 <<endl; } }; int main() { A a; a.Print(); return 1; } 这时,那个考生这样回答:n1是2,n2是0。 在我电脑输出结果为: 如果你也这样回答,那么你肯定不懂初始化成
java 常量与变量
java 常量与变量 java 常量与变量


