不要用魔法值!!!
发表于|更新于
|浏览量:
我来到这个世界为的是看太阳和蔚蓝色的田野。——巴尔蒙特
《阿里Java手册》中第一条编程规约下的第二条常量定义里的第一条

例如这里

我们使用了魔法值
我们改成常量则为

像是字符编码此类都有对应的常量或者枚举等
例如java.nio.charset.StandardCharsets
相关推荐
2021-06-09
为什么总说不要循环调用dao
我要让全世界都记住我的温柔。——曼德拉 上次咱们测试过了单表多次查询和连表一次查询的性能比较 这次咱们又抽了点时间进行了一次 循坏调用dao查询性能测试 同样是那一百万条数据,最后测试结果出乎意料 123456789101112131415@Testpublic void cycleTest() { long startTime = System.nanoTime(); List<Film> films = filmMapper.selectList(Wrappers.lambdaQuery()); List<Map<String, Object>> collect = films.stream().map(film -> { Language language = languageMapper.selectById(film.getLanguageId()); Language language1 = languageMapper.selectById(film.ge...
2020-07-29
jenkins自由风格项目构建
到Jenkins中新建一个项目名叫web_demo_freestyle 然后拉取代码 然后编译打包 123echo "——编译打包开始——"mvn clean packageecho "——编译打包结束——" 完成 安装Deploy to container插件 安装完成 回到web_demo_freestyle项目的配置 增加构建后操作步骤->点击Deploy war/ear to a container 输入war包目录 1target/*.war 添加一个凭据 输入用户名tomcat和密码tomcat 输入tomcat服务器地址,保存 然后构建,成功后就是这样了 我们发现已经能访问了 我们更改一下代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960<%@ page language="java" co...
2021-09-14
并行流线程数获取
我那时喜欢的是黄昏、荒郊和忧伤,而如今则向往清晨、市区和宁静。——博尔赫斯 这里用一个Set去接收并行流产生的线程id,对于上方的reduce函数我之前一篇博客已经讲过了,今天就来论证一下,到底并行流的线程数是否和JVM虚拟机可用的处理器数一致: 代码如下: 12345678910List<Integer> list = Stream.generate(() -> 1).limit(100).collect(Collectors.toList());System.out.println(list);int sum = list.parallelStream().reduce(1, Integer::sum, (a, b) -> { System.out.println(Thread.currentThread().getId() + " " + Thread.currentThread().getName() + " parallelStream执行sum时上次结果:[" + a + "...
2022-04-21
在SpringBoot单元测试中添加参数
我的肩上是风,风上是闪烁的星群。——北岛《结局或开始·献给遇罗克》 当时是解决一个issue而去查阅的 https://github.com/baomidou/mybatis-plus/issues/4417 最后代码如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566package com.ruben.mybatisplusissue;import javax.annotation.Resource;import org.junit.jupiter.api.Test;import org.junit.jupiter.api.extension.ExtendWith;import org.springframework.boot.SpringApplication;import org.springframework.boot.test.context.SpringBootCo...
2021-10-20
逻辑删除与联合索引冲突处理
早知今日读书是,悔作从前任侠非。——李欣 今天发现联合唯一索引和逻辑删除冲突了,导致我这边已删除的数据还具有唯一索引的约束 本来一开始是考虑要不要在删除前手动将数据清空一下,但这样感觉并不优雅 然后今天跟朋友探讨了下,决定使用datetime作为逻辑删除字段的类型,如果未删除,则字段为魔法值的固定时间,已删除,则设为删除时的时间 使用Mybatis-plus能够优雅实现: 将逻辑删除字段如下配置即可 12345/** * 逻辑删除 已删除为删除时间,未删除为null */@TableLogic(delval = "NOW()", value = "'2001-01-01 00:00:00'")private LocalDateTime delFlag; 如果不是用注解,也可以配置全局,全局配置的方法我之前写过一篇博客,只要把对应的删除值修改一下即可 然后对应的数据库联合唯一索引,将其关联上 最后效果也是很棒: 可以看到查询自动带上了设置的日期 而我们进行删除时也成功设为NOW() 这里对应的代码实现com.ba...
2021-03-26
mybatis-plus最新版配置分页最大限制条数
价值产生信心,信心产生热忱,而热忱则征服世界。——华特·H·柯亭姆 开发中,我们对于分页,经验老道的程序员会限制分页最大数据条数,避免被攻击、或是数据量太大造成各种可避免问题 mybatis-plus中配置分页最大限制非常容易,在配置分页的地方 加上如下代码即可 123final PaginationInnerInterceptor innerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);innerInterceptor.setMaxLimit(200L);interceptor.addInnerInterceptor(innerInterceptor); 全部代码配置在我之前的博客可以找到

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog