为了账号安全,请及时绑定邮箱和手机立即绑定

请问java并发编程中这种变量怎么处理?如下图

请问java并发编程中这种变量怎么处理?如下图

青春有我 2019-02-20 17:16:20
/** * 从指定节点Element node开始,递归遍历其所有子节点 */ static Map<String, Object> map2 = new HashMap<String,Object>(); public static Map<String, Object> getNodes(Element node) { System.out.println("当前节点:" + node.getName() + ":" + node.getTextTrim());// 当前节点名称 map2.put(node.getName(), node.getTextTrim()); // 递归遍历当前节点所有的子节点 List<Element> listElement = node.elements();// 所有一级子节点的list for (final Element e : listElement) {// 遍历所有一级子节点 getNodes(e);// 递归 } return map2; } 并发的时候这个map2怎么处理?加上volatile关键字可以吗? static volatile Map<String, Object> map2 = new HashMap<String,Object>();
查看完整描述

2 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

使用ConcurrentHashMap:new ConcurrentHashMap<String,Object>();
或者Collections的静态内部类synchronizedMap:Collections.synchronizedMap都可以

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 377 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信