struts和spring整合,

  struts和spring整合,

  http://san-yun.iteye.com/blog/1430028

  http://www . blog Java . net/hijackwust/archive/2007/08/21/138464 . html

  http://www.realqi.cn/tag/scan/

  http://blog.csdn.net/applebomb/article/details/1074557

  http://blog.csdn.net/inthirties/article/details/4491973

  ConcurrentHashMap应用中的注意事项

  1.public V get(Object key)不涉及lock,也就是说获取对象时不使用锁;

  2.密钥集()。迭代器()和键()。获得的迭代器和枚举变量对于单线程访问是安全的。多线程访问时,要么生成多个迭代器和枚举(通过调用相应的获取方法),要么将ConcurrentHashMap的变量作为锁来同步(同步该变量);ConcurrentHashMap变量对于多线程访问是安全的。虽然它是多线程的,但在大多数情况下应该不会有锁争用。

  3.put和remove方法需要使用锁,但是不一定存在锁争用。原因是ConcurrentHashMap将缓存的变量分成多个段,每个段都有一个锁。只要多个线程访问一个段,就不会有锁争用,所以不会出现阻塞。每个线程都使用自己的锁。默认情况下,ConcurrentHashMap生成16个段,即允许16个线程并发更新,并且尽量没有锁。

  4.迭代器和枚举得到的对象不一定与其他更新线程同步,但得到的对象可能是更新前的对象。ConcurrentHashMap允许同时更新和遍历,未遍历的键一般可以显示值更新;

  5.在某些情况下,这种不一致是允许的。如果需要最大的性能和吞吐量,只需使用ConcurrentHashMap。

  目前我只认为它可以用来缓存无关信息,甚至在读写必须同步的操作中加入同步操作,这是一个悲剧的线程安全。

  http://blog.sina.com.cn/s/blog_4a1f59bf0100o98k.html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: