新手在写短信接口使用hashMap在位运算中遇到的问题

 Java作为一种开发语言被广大的开发人员所喜爱,经常的看到网上一直有人问怎么能学好java。其实这是一个仁者见仁智者见智的问题。网上也有很多的回答,而我的方法比较简单但同时也是比较有效。就是去尝试看jdk的各种短信接口。如果能把jdk的短信接口吃的很透。我想离技术大牛的位置就不远了

        言归正传,写的很多年的代码了经常使用到hashMap这个类,闲来无事就像看看他里边的源码(前提你要装一下反编译工具,否则。。。)打开源文件之后看到了一堆<<,>> 等等

完全不知所云。

        其实这是就凸显出了一个概念“位运算”。Java位运算中 主要包含与、位或、位非、有符号左移、有符号右移、无符号右移、异域等等一下有几个例子说明:

 

位与&(真真为真 真假为假 假假为假)
4&6
0000 0000 0000 0000 0000 0000 0000 0100
0000 0000 0000 0000 0000 0000 0000 0110
0000 0000 0000 0000 0000 0000 0000 0100
结果:4

位或|(真真为真 真假为真 假假为假)
4|6
0000 0000 0000 0000 0000 0000 0000 0100
0000 0000 0000 0000 0000 0000 0000 0110
0000 0000 0000 0000 0000 0000 0000 0110
结果:6

位非~(取反码)【注:Java中正数的最高位为0,负数最高位为1,即最高位决定正负符号】
~4
0000 0000 0000 0000 0000 0000 0000 0100
1111 1111 1111 1111 1111 1111 1111 1011

解码:先取反码,再补码
0000 0000 0000 0000 0000 0000 0000 0100
0000 0000 0000 0000 0000 0000 0000 0101
结果:-5

位异或^(真真为假 真假为真 假假为假)
4^6
0000 0000 0000 0000 0000 0000 0000 0100
0000 0000 0000 0000 0000 0000 0000 0110
0000 0000 0000 0000 0000 0000 0000 0010
结果:2

......

        其实位运算在很大程度上用于性能的优化。而在数据运算也有着举足轻重的地位。同时在加密算法中也是佼佼者。

        最后,阅信小编要补充一句:这是一篇来自阅信短信验证码平台技术的一些技术感悟,就是这些人在不断探索,不断完善着我们的短信平台.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值