为什么CookieStore的默认实现不使用树状结构?

2019年7月13日 14点热度 0条评论

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

解决方案如下:

CookieStore有一个方法

List<HttpCookie> getCookies()

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