【问题标题】:Web Service state with HashMap带有 HashMap 的 Web 服务状态
【发布时间】:2016-08-31 11:07:44
【问题描述】:

下午好。设计一个使用登录(和其他操作)并将所有用户数据和密码保存在内存中(不使用任何数据库)的 Web 服务我一直怀疑何时才能确保一个体面的效率标准:

首先,选择存储信息的数据结构。虽然我认为HashMap 是一个不错的选择,但用户名和其他信息(或只是密码)值的键值在哪里,我想知道是否还有其他更适合的数据结构。

另外,在HashMap的情况下,使用separateChainnigLinearProbing作为解决冲突的策略会更好吗?在 separateChaining 的情况下,我们面临 Hashmap 的“间隙”列表之一,在最坏的情况下非常长且复杂地上升到线性顺序,但 LinearProbing 可能会多次重复。

你的意见是什么?

非常感谢。

【问题讨论】:

  • What is your opinion? 我认为这个问题应该作为基于意见的问题结束
  • 使用 J2EE 兼容的 Web 服务器中可用的会话映射是我想到的第一件事。除此之外,您是否可以使用诸如 H2 之类的内存数据库?
  • 只是一个想法,为什么不使用Trie tree数据结构insted

标签: java data-structures hash hashmap hashtable


【解决方案1】:

为什么不使用一些内存中的持久性存储,如 Redis、H2 ......等等,它们都是开源的,而不是依赖于非持久性存储。它们有自己的数据结构支持,如地图、列表等。

但是,如果您仍然想使用 hashmap,如果您有一个唯一的键,这是一个很好的选择。但回答您的下一个问题(separateChainnig 或 LinearProbing)。当 java 已经在 J​​ava 8 中为您提供了更好的 hashmap 性能时,为什么您真的关心实现 hashmap。在此处查看示例 http://www.nurkiewicz.com/2014/04/hashmap-performance-improvements-in.html

【讨论】:

    猜你喜欢
    • 2010-09-10
    • 2011-02-05
    • 1970-01-01
    • 2011-06-22
    • 2011-09-11
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2011-09-23
    相关资源
    最近更新 更多