说起要转载的这篇文章还有个故事,开发工作中涉及通讯协议的部分,一直在用Windows系统自带的计算器(程序员模式)计算各种标志位掩码的真实值,偶然的机会同事问我有个二进制值为什么转换出来是负数而不是想要的值,而我转换的过程从来没有发现这个问题,结果不同之处就是在字长的选择上,同样的二进制10000000,当字长选择字节后转换为十进制,结果是-128,而在其它字长(如字,双字,四字)的情况下就是128,然后就惊奇的发现了一个错了好多年的认知 ——“Windows计算器里的二进制表示是原码显示”(补码显示才对),然后就想起了大学时好多课程里提到的原反补码,于是也就找到了这篇简明扼要的介绍原反补码的文章。

阅读全文 »

方法一:

1
2
3
4
5
6
7
8
var userName=”jack”;
//根据用户名显示欢迎信息
function hello(_name){
alert(“hello,”+_name);
}

//用字符串形式,函数及变量必须为全局作用域
window.setTimeout(“hello(userName)”,3000);

方法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var userName=”jack”;
//根据用户名显示欢迎信息
function hello(_name){
alert(“hello,”+_name);
}
//创建一个函数,用于返回一个无参数函数
function _hello(_name){
return function(){
hello(_name);
}
}

//返回值为函数形式,变量名及调用的函数可以是局部作用域
window.setTimeout(_hello(userName),3000);
阅读全文 »

方法一:

在终端中执行下列指令:

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

Debian/Ubuntu Linux使用apt升级时都是执行如下命令:

apt-get update
apt-get upgrade(或)apt-get dist-upgrade

但是常常有人会问,upgrade和dist-upgrade有何不同,仔细查查,似乎大家对upgrade和dist-upgrade的解释都有点不同,在此也记录下自己的看法.

阅读全文 »

在使用hibernate配置实体间关系时,对于我总有个解不开的魔咒——思考两个实体间到底是一对一、一对多还是多对多的时候我总爱从指定的唯一个体出发来思考。比如学生和班级是很明显的一对多关系,但是从具体的个体出发,具体的某个学生只有一个具体的班级跟他相对应,变成了一对一关系然后就配置错误了,每次配置的时候都会跟自己强调千万要注意,但还是不长脑子,然后就在我要放弃治疗的时候突然在草稿上摸索出了这个关系总结的表格(让头脑比较清醒的淫们贱笑了哈,就当这是还算正确的歪理邪说好了),都是从固定个体出发,经我初步验证是正确的。

阅读全文 »