说起要转载的这篇文章还有个故事,开发工作中涉及通讯协议的部分,一直在用Windows系统自带的计算器(程序员模式)计算各种标志位掩码的真实值,偶然的机会同事问我有个二进制值为什么转换出来是负数而不是想要的值,而我转换的过程从来没有发现这个问题,结果不同之处就是在字长的选择上,同样的二进制10000000,当字长选择字节后转换为十进制,结果是-128,而在其它字长(如字,双字,四字)的情况下就是128,然后就惊奇的发现了一个错了好多年的认知 ——“Windows计算器里的二进制表示是原码显示”(补码显示才对),然后就想起了大学时好多课程里提到的原反补码,于是也就找到了这篇简明扼要的介绍原反补码的文章。
SetTimeout,SetInterval传参
方法一:
1 | var userName=”jack”; |
方法二:
1 | var userName=”jack”; |
查看Ubuntu版本号
方法一:
在终端中执行下列指令:
cat /etc/issue
可以查看当前正在运行的 Ubuntu 的版本号。其输出结果类似下面的内容:
Ubuntu 14.04.2 LTS
方法二:
使用 lsb_release 命令也可以查看 Ubuntu 的版本号,与方法一相比,内容更为详细。执行指令如下:
lsb_release -a
将输出结果:
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
apt-get upgrade和dist-upgrade的区别
Debian/Ubuntu Linux使用apt升级时都是执行如下命令:
apt-get update
apt-get upgrade(或)apt-get dist-upgrade
但是常常有人会问,upgrade和dist-upgrade有何不同,仔细查查,似乎大家对upgrade和dist-upgrade的解释都有点不同,在此也记录下自己的看法.
Hibernate实体关系判断
在使用hibernate配置实体间关系时,对于我总有个解不开的魔咒——思考两个实体间到底是一对一、一对多还是多对多的时候我总爱从指定的唯一个体出发来思考。比如学生和班级是很明显的一对多关系,但是从具体的个体出发,具体的某个学生只有一个具体的班级跟他相对应,变成了一对一关系然后就配置错误了,每次配置的时候都会跟自己强调千万要注意,但还是不长脑子,然后就在我要放弃治疗的时候突然在草稿上摸索出了这个关系总结的表格(让头脑比较清醒的淫们贱笑了哈,就当这是还算正确的歪理邪说好了),都是从固定个体出发,经我初步验证是正确的。