java - 实时匹配记录

标签 java hashmap

这就是我想要实现的目标:我正在通过蜂窝网络发送一些数据包。我还嗅探流量以检查对这些数据包的响应。响应可能会在 10 小时窗口内的任何地方出现。

我发送的数据包都是唯一的(发送和接收),我想知道匹配数据包和响应的最佳方式。

我可以创建一个 HashMap ,并将实时发送的每个数据包放入其中,并在返回时将其与响应进行匹配。此时,has 映射条目要么保留在 HashMap 中,要么被删除(在响应之后)。

那么,现在的问题是:考虑到我们每分钟发送 2000 个数据包,实现这一目标的最佳方法是什么? hashmap 足够健壮吗?搜索时间怎么样?

最佳答案

我认为 HashMap 本身不够健壮,因为它不是线程安全的。我会尝试ConcurrentHashMap

对于大量数据,请寻找一些缓存实现 - 这些实现通常能够溢出到磁盘并有时间过期,因此您可以免费进行清理。

关于java - 实时匹配记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7127770/

相关文章:

java - 使用 JDBC 连接访问表时如何知道表被锁定或正在被其他人读取?

java - 返回多个数组的方法

java - 如何将 HashMap 与 List<Number> 一起使用

Java Hashmap 尾部遍历

java - 从 java 代码调用 ruby​​ 脚本

java - 是否可以将 glassfish 与 cloudbees 一起使用?

java - 检查 'null' 的条件

ruby-on-rails - Ruby 使用正则表达式替换散列键

java - 如何将所有月份名称放入 HashMap 中并将一月替换为一月,二月替换为二月?

接口(interface)的 golang 映射 - panic : assignment to entry in nil map