0

InMemoryCookieStore 是 java 的默认 CookieStore,但主存储是一个 ArrayList,最坏的情况下添加和删除操作将花费 O(n),并且索引是 map,它会扫描 keySet 以删除过期的 cookie。为什么它使用树(可以很好地表示域,例如 .b.com 是 .abcom 的父级)和设置(在恒定时间内定位 Cookie)。

4

2 回答 2

1

CookieStore 有一个方法

List<HttpCookie> getCookies()

因此它必须按需维护或复制所有 cookie。我认为他们认为维护列表是最有效的。

于 2012-08-22T07:51:55.463 回答
0

就性能而言,您多久拥有如此多的 cookie,以至于 O(n) 明显大于 O(1)?在子优化和代码可管理性之间进行选择时,大多数人会选择干净、可管理的代码。

于 2012-08-22T08:02:42.680 回答