开源心得
iteye_10574
这个作者很懒,什么都没留下…
展开
-
二次方取余技术在HashMap的应用
[size=medium] 取余计算对计算机来说是相对比较慢的,但是在许多场景下,例如循环队列指针的移动,hashmap的哈希操作都必须要做取余运算。 解决思路的大方向,其实跟用逻辑右移代替乘法一样(x*2 等价于 x >> 1; n |= n >>> 2; n |= n >>> 4; n |= n >>> 8; ...2015-05-05 19:05:37 · 214 阅读 · 0 评论 -
Spring循环依赖检查算法分析
Spring在注入bean的时候会做循环依赖检查,例如A依赖B,B依赖C,C依赖A,这就形成了一个循环依赖,Spring会抛出异常。 那么Spring是怎么做到循环依赖检查的呢?我们先来考虑,Spring是如何实现注入功能的,在注入A之前,如果A依赖B那么需要先注入B,然后依次类推下去,明显,这是一个递归的调用,Spring在其BeanFactory的实现类中,...2015-05-06 17:20:36 · 1428 阅读 · 0 评论 -
java实现银行卡号校验算法luhn
Luhn是著名的校验和算法也叫模10算法,主要应用于解决银行卡号,社保号等重要信息传输出错问题。 先来解释下算法原理,校验和类型的算法,一般是ID+校验号,校验号和ID号的每位相关,如果出错,通过某种运算能检测出这种改动。借用维基百科的例子我来解释下。 我们以数字“7992739871”为例,计算其校验位:从校验位开始,从右往左,偶数位乘2(例如,7*2=14)...2015-05-08 20:05:16 · 451 阅读 · 0 评论