java 如何创建一个map_如何在Java中创建一个线程安全的一次性read-many Map?

我有一个带有私有静态映射的Java类,用于在应用程序执行期间存储信息.我只会将一次键/值放入Map中,但可能会多次读取地图值.

所以我现在拥有它的方式,代码执行get并检查null.如果为null,那么我收集我需要的数据并将其放入地图中.客户端代码的后续调用将保证从映射中获取值.客户端不需要进行空检查.

这样做的原因是将数据放入地图可能很昂贵,所以我只希望每个键执行一次.

这有什么模式吗?我似乎找不到任何讨论这种情况的东西.

TIA

这是一个完全非线程安全的例子:

public class TestWorm {

private static Map map = new HashMap(32);

public Object getValue(String key) {

if (map.get(key) != null) {

return map.get(key);

}

// do some process to get Object

Object o = new Object();

map.put(key, o);

return o;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值