11月28日

27日

 ++ 在程序中不是线程安全的操作

随着开发能力的提升,对我来说,在开发中线程安全变的越来越重要了,每次使用多线程进行开发都感觉颇为麻烦

该好好学一下spring cloud了。。。

看了几个爬虫功能的帖子,有一种特别想学一下爬虫的冲动

-----------

接手的协议有点问题,顺便学习一下UML和定时器线程池

字节数  &  0xFF     是为了取正数,byte类型在表示255以内的数字时,会把一半的数字表示为负数

& 0xFF 则是为了让这个值变成整数,因为了解位运算的朋友就清楚,,

0xFF    用字节表示是  1111 1111

129 用字节表示是       1000 0001‬

与运算的规则是两位同时为“1”,结果才为“1”,所以这个计算结果为1000 0001,他不会影响数据的内容,但是129在Java的byte类型是-127,虽然在 & 0xFF 后表现的数值跟理想状态不同,那是为了在转回byte字节时,保证数据的完整性

 

顺便介绍一下按位与 |

参加运算的两个对象只要有一个为1,其值为1,比如 145|11

145 --- 1001 0001

11  ---  0000 1011

结果为1001 1011 = 155

 

^ 异或运算符

比如 168 ^ 19 = ?

168     ---    1010 1000

19      ----    0001 0011

结果为  ---  1011 1011 = 187

运算的规律就是   对应位不同为1,相同为 0 

 

取反运算符 ~

比如 ~243 = ?

243 --- 1111 0011

结果为 0000 1100 = 12

取反就是对字节中的每个数字,1取反为0,0取反为1

 

左移 <<

12 < 2 = 48

12 --- 0000 1100

48 --- 0011 0000

左移就是字节全部左移右边补0,每左移一位就是 * 2

 

右移 >>

102 >> 2 = ?

102   ---  0110 0110

结果为---0001 1001 = 25  

右移就是字节全部右移左边补0,末位抛弃,每左移一位就是 / 2

 

这个算法还蛮简单,不过每天玩的太快乐,经常要用的时候现查,好记性不如烂笔头,今天顺便记录一下

 

 

 

记一下UML的贴子 https://www.cnblogs.com/noteless/p/9907703.html 写的蛮好,正在看贴主的其他帖子,记录一下作用,印象深刻一点

 

 

 

posted @ 2019-11-28 09:45  没事睡一觉  阅读(86)  评论(0编辑  收藏  举报