平安陆金所

2019-06-01  本文已影响0人  valor_wang
  1. ConurrentHashMap和Hashtable的区别

它们都可以用于多线程的环境,但是当Hashtable的大小增加到一定的时候,性能会急剧下降,因为迭代时需要被锁定很长的时间。因为ConcurrentHashMap引入了分割(segmentation),不论它变得多么大,仅仅需要锁定map的某个部分,而其它的线程不需要等到迭代完成才能访问map。简而言之,在迭代的过程中,ConcurrentHashMap仅仅锁定map的某个部分,而Hashtable则会锁定整个map。

  1. HashMap原理
  2. Spring AOP如何生成代理对象

SpringAOP 集成了JDK 代理和 CGLIB 代理两种动态代理。

  1. 创建容器对象时,根据切入点表达式拦截的类,生成代理对象
  2. 如果目标对象有实现接口,使用 JDK 代理。如果目标对象没有实现接口,则使用 CGLIB 代理。然后从容器获取代理后的对象,在运行期植入“切面”类的方法。
上一篇下一篇

猜你喜欢

热点阅读