【笔记】很杂---mysql/jquery/linux/java/CSV防注入

好记性不如烂笔头

1.group_concat
    功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
    语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )
    说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。

2.长单词或其他字符自动换行  word-wrap: break-word;

3.keyup中正则校验--replace(/正则表达式/,'');
    nowVal.replace(/^(0+)|[^\d]+/g,'');   //只能输入正整数
    nowVal.replace(/^\./g,"");   //去掉数字开头的小数点
    nowVal.replace(/\.{2,}/g, ".");  //去除连续的小数点 仅保留一个
    nowVal.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");  //把第一个小数点留下 其他去除
    nowVal.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数
    // ^匹配输入字行首!!
    aa.replace(/\-/g,"$#$")        //替换所有-为$#$
    aa.replace(/^\-/g,"$#$")    //首字符是-时替换为&#&
    aa.replace(/^\-/g, "$#$").replace(/\-/g, "").replace("$#$", "-")  //把第一个-留下 其他去除
    aa.replaceAll("[^0-9\.\-]", "")  //去除所有非数字、负号、小数点的字符

4.vim打开文件后,非编辑状态(不是i之后)下命令
    d   删除 
    dd  删除整行
    y   复制 (默认是复制到"寄存器) 
    p   粘贴 (默认从"寄存器取出内容粘贴) 
    v   从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。 
    V   从光标当前行开始,光标经过的行都会被选中,再按一下V结束。
    u   撤销上一次操作

5.CSV防注入,tab防御方式,可以加英文逗号绕过防御= =那么就把逗号变成中文逗号

6.MessageFormat.format()处理包含单引号的字符串替换参数不成功,需要转换成双单引号

7.img图片元素的width和height为0
    浏览器异步运行非常快,图片未加载完成时获取不到宽和高,使用onload方式避免此情况
    xxImg.onload=function(){};

8.第一次加载img不进入onload方法
    图片已经存在的情况下,不需要load,可直接调用回调方法
    if(xxImg.complete){
        callback();
        return; //直接回调,不需要再判断onload
    }else{
        //onload判断放在下面
        xxImg.οnlοad=function(){
            callback();
        }
    }

9.控制台输入Scanner两种方式
    Scanner sc = new Scanner(new BufferedInputStream(System.in)); 
    Scanner sc = new Scanner(System.in); 
    解决while(sc.hasNext()){}死循环,可以加上一个且条件来限制输入个数
    int k = 0;
    while(sc.hasNext() && k<=5){
        // TODO
        k++;
    }
    或者设置一个终止符:while (!sc.hasNext("0")) {}

10.protect修饰的类成员变量,不同包的子类可访问+同一个包的类可访问
    不同包子类:不在同一个包中但是继承了父类的类可以访问父类成员

11. 在linux中,&和&&,|和||介绍如下:
    &  表示任务在后台执行,如要在后台运行redis-server,则有  redis-server &
    && 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1' && echo '2'    
    | 表示管道,上一条命令的输出,作为下一条命令参数,如 echo 'yes' | wc -l
    || 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo "fail"

12.int型转byte
    byte x=(byte) 128;  //x=-128
    int数值(4字节,32位)转换成byte型(单字节,8位)会仅保留后八位为1000 0000,
    二进制最高位0表示正数,1表示负数,所以1000 0000表示-128(计算数值时最高位也参与计算)

    byte y =(byte)-129; //y=127
    -129的是负数,负数以补码形式存于内存,负数的补码为绝对值的二进制取反再加一
    129原码:1000 0001,取反:0111 1110,加一:0111 1111,最终结果是127

13.Collections.nCopies   n个重复元素列表,不可变列表,多个相同内容仅占用一个内存空间
    List obj =Collections.nCopies(10,"xxx");
    System.out.println(obj);

14.Arrays.asList是通过泛型实现的,而java 8个基本数据类型不能泛型化,int[]的内容被当做一个整体元素处理了
    int[] intList = {1,2,3,4,5};
    Integer[] integerList = {1,2,3,4,5};
    List list = Arrays.asList(intList);  //list.size()=1
    list = Arrays.asList(integerList);   //list.size()=5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值