该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-09
其实我不是说楼主,确实有点。。。。
|
|
返回顶楼 | |
发表时间:2010-12-09
个人看法,不要继承,可以Decorator或Proxy一个map类,这样灵活多了,还可以根据策略或其它方式封装不同的map实例,以实现有序,同步等功能。
|
|
返回顶楼 | |
发表时间:2010-12-09
谢谢大家的回复,我当初是看了 How Tomcat works后,看到这个类比较好,才展示给大家看看,如果有不对的地方请大家多多指教。。。
|
|
返回顶楼 | |
发表时间:2010-12-09
aabcc 写道 http4j 写道 我不觉得这个类很二, 楼主扩展的是HashMap,又不是ConcurrentHashMap,要那么多同步锁或者AtomicBoolean,未必适合楼主的场景。不理解说二的人都怎么想的?
lz提到了锁,但是既没有 同步块也没有lock-free算法 很容易让人误解啊,后面LZ的解释我算是明白一点点了 这个其实是 LZ看 How Tomcat works 得到的例子吧? 这个明显是 Tomcat的Custom解决方法,只适合TOMCAT的某场景 个人觉得不太适合作为一个 编程方法来让大家学习 这个楼主有责任,只不过说人家二的人明显没仔细看帖子,就上来攻击了。 楼主所说的所明显是控制访问用的,而不是多线程概念里的同步锁。 |
|
返回顶楼 | |
发表时间:2010-12-09
有点像struts例的freeze
不过说真的,这题目真的…… |
|
返回顶楼 | |
发表时间:2010-12-09
LZ大学专业是计算机吗?
|
|
返回顶楼 | |
发表时间:2010-12-09
he_wen 写道 这个类没有考虑线程安全问题,因为HashMap本来就是线程不安全。我主要做的就是限制HashMap值的操作。在Tomcat源码中就是这样做的,因为Servlet获取请求信息如:request.getParameterMap()时候,刚刚开始Tomcat是不会马上把字符串解析出来,而是存放字符串,只有用户调用了函数的时候它才会解析,在存放到HashMap中。。。呵呵。。。可能起的名字有误会,希望大家见谅!!!刚刚开始写博客有很多地方请指教
请问这个跟加lock有什么关系呢? 我老笨呢,想了半天没想明白。 |
|
返回顶楼 | |
发表时间:2010-12-09
最后修改:2010-12-09
如果想得到一个不能修改 的Map,还是建议用
Collections.unmodifiableMap(originMap); 如果传递出去的map中途还需要修改,那只能说整体设计有点问题了。 |
|
返回顶楼 | |
发表时间:2010-12-09
在我印象中,锁这个东东应该会跟synchronized挂钩。
|
|
返回顶楼 | |
发表时间:2010-12-09
的确,单纯控制访问,应用代理模式就OK了,
|
|
返回顶楼 | |