我应该在哈希映射中保存一个db表来加速我的程序

时间:2011-08-24 11:20:46

标签: java hashtable polling

我有一个访问设备的轮询循环,一些设备链接在一起,因此当轮询其中一个链接设备时,必须将其状态复制到另一个链接设备。

我正在尝试加快更新第二个链接设备的过程。如果设备4链接到设备5,则它很快但是如果轮询设备5并且发现改变,则必须等到轮询循环完成并再次启动。

我的想法是检查设备是否已链接,以便立即更新。有关哪些设备链接的信息存储在数据库中,并且每次轮询调用数据库都会大大减慢系统速度。我认为我想要做的是创建表的哈希表并检查它。

所以这是我的问题

  1. 这个想法有用吗?

  2. 哈希表会比数据库检查更快吗?

  3. 我应该多久重新创建一个哈希表,该程序一次会运行数周?

  4. 这是最好的方法。还有其他方法可以加快轮询循环吗?

1 个答案:

答案 0 :(得分:1)

如果搜索是优先级,请使用哈希表。哈希表在按键搜索时提供非常快速的搜索机制,在按值搜索时提供相当好的搜索 如果要删除特定元素,请使用哈希表(使用Remove方法) 存储元素的顺序与您无关时,请使用哈希表 如果您需要某些特定顺序的元素,请不要使用哈希表。您不能依赖Hashtable如何对其元素进行排序 如果需要在特定位置插入元素,请不要使用哈希表 如果要存储具有相同值的多个键,请不要使用哈希表。哈希表中的所有键必须是唯一的。