文章列表
public static void main(String[] args) {
int x = 1984;
int y = 2001;
x ^= y^= x ^= y;
System.out.println("x" + x);
System.out.println("y" + y);
}
以上代码 亦为 使用xor进行数值互换.
等同于:
x = x ^ y;
y = x ^ y;
x = x ^ y;
但是实际结果为:
x = 0;
y = 1984;
在Java中,操作符的 ...
什么是位运算? 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。 ...
最近在check项目的数据库,check到存储过程,里面看到存储过程有用到in 和 exsits.整理下 in 和 exsits 的区别:
in 是把外表和内表做hash join,而exists是对外表做loop, 每次loop再对内表进行查询.如此,exists适合外表结果集很小的情况.其他情况则使用in.
not in 与 not exsits 的区别:
两者都首先调用子查询,但如果子查询记录中有包含空值的记录.not in 不返回任何值. 所以尽量使用not exsits.
当然如果子查询字段有非空限制,这时也可以使用not in.