小记录

1、使用Collections.max()或者Collections.min()获取最大值或者最小值。

OrderMaster max = Collections.max(list, new Comparator<OrderMaster>() {  //找到最大值
    @Override
    public int compare(OrderMaster o1, OrderMaster o2) {
        return o1.getRequireTimeEnd() - o2.getRequireTimeEnd() > 0 ? 1 : -1;
    }
});

2、mysql使用强制索引
idx_delivery_no 是索引名
SELECT * FROM tbl FORCE INDEX (idx_delivery_no) WHERE 1=1

3、MySQL使用MIN()时想要过滤掉某个值,比如想找到最小值是0以外的最小值,使用 MIN(NULLIF(col, 0)),将字段中的0替换为null,此时可以取到除0外的最小值

4、存在即更新,不存在即删除,防止高并发下读取的数据不是最新导致后一次更新数据后错误。

INSERT INTO **表名** (col1,col2...) VALUES (val1,val2...) ON DUPLICATE KEY UPDATE col1 = col1+1,col2 = val2...

5、位运算

&:两个位上都为1才为1,否则为0,将某些不为1的位置0。与0进行运算结果是0,与1进行运算结果是1
|:只要有一个位上为1就为1,否则为0。与0计算结果是自己本身
^:两个位上不同时为1,相同则为0
<<:左移,丢弃最高位,右边0补齐,例:num << bit ,num向左移动bit位 相当于num乘2的bit次方倍
>>:右移,最高位是0,左边补齐0,最高位是1,左边补齐1;符号位(最高位)不变,左边补上符号位
>>>:无符号右移,无论最高位是0还是1,左边补齐0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值