切换到电脑端
跳转到我的求职导航
后端技术

开发代码自我规范-高效开发参照-代码自我review

开发代码自我规范:单元测试跑一下。事务未提交问题,(尽量在aftercommit写逻辑,不一定有效;ttl保存;调整隔离级别,另外增删改要加事务)。异常处理。insertOrUpdate或者selectThenInsert操作都需要同步锁,另外加锁场景注意限制锁范围,刷数据接口重复请求(静态变量判断)。增加详细日志【如果测试环境的打印不出来,需要调整日志的打印级别,注意启动参数profiles可能也要调整】。异步threadlocal有没有值。aftercommit异常捕获。关注编辑器警告。sql一对多导致查询数据不正确,这个非常隐蔽,on条件尽量写到
阅读全文
后端技术

SpringBoot-校验前后端代码版本是否一致-前后端版本-提示用户刷新页面

1.需求背景系统前后端发布后,用户如果未刷新页面,提交的接口数据可能就不符合后端最新的代码逻辑,此时需要告知用户刷新页面。2.实现思路仅在前端需要setAuthorizationheader头的接口中(可以共用shiro.anons配置,不用再梳理api接口)增加一个Api-Version的头,Api-Version的值每次迭代和后端约定即可。以下场景需要推荐修改Api-Version的值,发布后:有删减接口接口的出入参结构发生变化前端数据处理逻辑的变化前端样式或提示文案等变化可不修改Api-Version的值,具体问题具体分析。3.代码//WebMv
阅读全文
Java

Java-小工具-大文件Sql分割小文件-navicat导入大sql文件中止现象说明

packagecn.jiangjiesheng.utils.file;importjava.io.;importjava.nio.charset.StandardCharsets;importjava.nio.file.;importjava.text.DecimalFormat;publicclassFileSplitter{publicstaticvoidmain(String[]args){//补充说明://navicat导入4g左右的sql可能会突然中止,但是又没有错误,很可能是格式的问题,使用如下的方法转成utf-8无bom格式后尝试再导入下
阅读全文
后端技术

Java南京在线求职

熟练使用Spring、SpringBoot等开源框架。熟悉使用常用的设计模式,如责任链、工厂模式、观察者模式等。熟悉Java高并发多线程编程。熟悉JVM内存模型和常见垃圾回收算法,使用jmap、jstack和arthas工具进行生产故障分析处理。熟悉RabbitMQ消息中间件,消息丢失、消息重复消费等问题解决方案。能够对复杂业务SQL进行调优。对接过第三方平台,如视频、支付宝支付、微信公众号、小程序等。其他后端相关技术栈包括但不限于MySQL、MyBatis、Nacos、Redis、Feign、Dubbo、Minio、ElasticSearch等。具备
阅读全文
后端技术

调优-arthas-Java应用诊断利器

相关文档:https://arthas.aliyun.com/dochttp://arthas.gitee.io/Arthas问题排除案例https://www.cnblogs.com/yifanSJ/p/17723333.html下载:curl-Ohttps://arthas.aliyun.com/arthas-boot.jar下载全量包https://github.com/alibaba/arthas/releases运行:java-jararthas-boot.jar--repo-mirroraliyun--use-http(需要权限时sudos
阅读全文
数据库

Mybatis-mybatis-plus-tkmabatis-表前缀设置-全局Interceptor拦截替换sql表前缀

mybatis-plus相关配置,按需使用mybatis-plus:global-config:db-config:#tk方法的表前缀table-prefix:${spring.application.name}_configuration-properties:#自定义sql中表名带前缀https://www.cnblogs.com/javalinux/p/14338780.html#prefix是内置参数prefix:${spring.application.name}_#key1等是自定义的,使用时直接${key1},但是不要使用##key1:2
阅读全文
Java

Java-反射-反射设置父类字段的值-获取包括父类的所有字段

getField和getDeclaredField的区别:这两个方法都是用于获取字段getField只能获取public的,包括从父类继承来的字段。getDeclaredField可以获取本类所有的字段,包括private的,但是不能获取继承来的字段。(注:这里只能获取到private的字段,但并不能访问该private字段的值,除非加上setAccessible(true))//使用示例privatevoidsetDayXdangrifeishuipaifang(FoulWaterSlaveWith28DayVofoulWaterSlaveWithA
阅读全文
本文目录
    Loading...