美文网首页我爱编程
新手工作笔记

新手工作笔记

作者: Mr_三明治 | 来源:发表于2018-03-30 11:25 被阅读0次

    1.maven安装跳过测试:install -DskipTests

    2.Mybatis配置文件#表达,避开转成sql符号: like CONCAT('%',#{liveName},'%')

    3.表单提交要用json格式

    4.Linux安装rz(文件上传工具); yum install -y lrzsz

    5.日志查看管道; less requestLog.log.2018-03-03 | grep live | grep update | grep 500

    6.Preconditions.checkArgument(StringUtils.isNotBlank(originFileName).检查checkArgument(boolean)中条件是否为真,不为真抛出异常

    7.判断一个字符串是否是数字字符串:StringUtils.isNumeric(param)

    8.开关mock的使用思想;

    9.两个集合封装到一个集合,使用map思想;

    10.防止接口重复请求: @InvokeLimiter(key = {"keys"}, overHint = "请不要重复请求", ttl = 3)

    11.修改虚拟机内存 : -Xms1024m -Xmx1024m

    12.Spring Cache返回结果判断使用unless :@Cacheable(value = "indexLive", key = "methodName", unless = "#result.code != 200")

    13.Redis缓存Json数据,反序列化异常-->import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

      @JsonIgnoreProperties(value = "apiSuccess", ignoreUnknown = true)

    14.HashMap初始化尽量指出集合的长度

    15.使用Entry遍历Map,而不是keySet-->keySet是遍历了两次map.一次是转换成迭代器,另一次是拿出所有的value(效率低)

    16.线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式

    17.多线程之volatile锁:每个线程有自己的工作内存,而共享的成员属性放在了主内存中,多个线程访问并修改属性的值只会放在自己的工作内存中;

      从而导致线程的不安全;volatile修饰共享的变量,当某个线程修改该属性的值,会及时同步到主内存中,线程读取值时也会读取主内存中的新值.

    18.在高并发场景中,避免使用"等于"判断作为中断或退出的条件,使用大于和小于来判断区间(防止if判断语句击穿)

    19.if判断的条件尽量不要写复杂的逻辑语句,可赋值给一个boolean变量,作为if的条件判断;

    20.@Cacheable注解的使用,如果是固定不变的值,使用方法名作为key,如果是根据形参改变的值,要以参数作为key;

    相关文章

      网友评论

        本文标题:新手工作笔记

        本文链接:https://www.haomeiwen.com/subject/cjobcftx.html