常量成员变量,涉及线程安全的讨论

oN5GrzoN oN5GrzoN 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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

weixin_38654415

Java中的常量和变量概念及定义.docx

初步整理的java常量变量的概念,十分粗浅,只是将简单的概念整理了出来,在使用过程中还需要慢慢累积和理解其中的更深含义

微风吹过李子树

C++ 成员变量的初始化顺序问题详解

C++ 成员变量的初始化顺序问题详解 问题来源: 由于面试题中,考官出了一道简单的程序输出结果值的题:如下, class A { private: int n1; int n2; public: A():n2(0),n1(n2+2){} void Print(){ cout &lt;&lt; "n1:" &lt;&lt; n1 &lt;&lt; ", n2: " &lt;&lt; n2 &lt;&lt;endl; } }; int main() { A a; a.Print(); return 1; }  这时,那个考生这样回答:n1是2,n2是0。 在我电脑输出结果为: 如果你也这样回答,那么你肯定不懂初始化成

weixin_38560768

java 常量与变量

java 常量与变量 java 常量与变量

kunkun55
评论 3
收藏 已收藏
分享
返回顶部
oN5GrzoN
Java 51,407 成员 86,133 内容