![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 68
6年半码农的渣渣辉
java中(高)级软件工程师
展开
-
回顾一次后台从war包启动到jar包启动的改造
spring boot方式启动原创 2023-01-19 15:41:34 · 3814 阅读 · 0 评论 -
曾经参与的web首页任务设计回顾
预警、待办事项类实现思考原创 2022-04-05 17:36:56 · 1280 阅读 · 0 评论 -
曾经用过一点的函数式编程
函数式编程地简单使用原创 2022-03-30 18:01:50 · 200 阅读 · 0 评论 -
曾经参与的数据实时提醒的一种设计回顾
数据实时提醒的一种设计原创 2022-03-27 18:04:27 · 1809 阅读 · 0 评论 -
曾经参与的项目(设计回顾篇)-xxljob引入
分布式调度框架xxljob原创 2022-03-25 11:01:18 · 834 阅读 · 0 评论 -
es学习记录
Elasticsearch是一个实时的分布式搜索分析引擎,它被用作全文检索、结构化搜索、分析以及这三个功能的组合,内部使用 Lucene 做索引与搜索。1.es的实际应用2.es全文检索简单介绍基础概念带过一下Index 可类比为DBMS的库Type 可类比一张表Document 可类比一条数据全文检索要求一个词语或一段话在整个文档中被搜索,传统的数据库每个字段存储单个值,这对全文检索并不够。文本字段中的每个单词需要被搜索,对数据库意味着需要单个字段有索引多值(这里指..原创 2021-12-21 21:53:24 · 1337 阅读 · 0 评论 -
redislock使用回顾与思考
最近工作上做一个需求,要求一个用户一天最多两次参与机会,参与一次要获得用户的一个虚拟值。参与接口涉及到关键数据的变化,考虑在这个接口做重复提交限制,以免用户提交时多次点击出现问题,另一个方面其实也是为了幂等,不管用户怎么提交,得到的结果应该都一样。于是用到redislock做重复点击控制。说到redislock的常见用法,一种是限流,防止多个用户同事操作,流量激增,导致接口压力过大出现非预期问题,比如(有空的话也可以自己试下):通过Annotation定义切点方法,定义@Aspect进行切面,切到.原创 2021-08-02 15:33:29 · 4857 阅读 · 0 评论 -
spring Transactional事务管理回顾
使用spring boot,涉及多表DML时,要保证事务一致,否则可能出现脏数据,一般我们用到的是Transactional注解,这里用一个数据库更新操作和大家一起探讨下下面5种情况事务的有效与否情况,并简单看下源码。语言:java框架:springboot版本:2.2.13.RELEASE1.service有Transactional注解,方法中抛异常;更新这一条数据把rate更新为888/0处打断点后,显示update 1再查一下数据,没有变...原创 2021-08-01 16:21:09 · 329 阅读 · 1 评论 -
mybatis的selectOne分享
平时我们使用mybatis查询一条数据时,有时会使用selectOne,但是selectOne有个小问题是可能会导致报错。经测试如下:测试版本:mybatis-spring:2.0.0。mapper的selectOne不会帮我们limit 1,如果记录不止1条就会报错。service的getOne调的也是mapper的selectOne,也是一样。如果我们不是用id查询,又不能确保查询用的条件上,数据一定唯一,除非条件上有唯一索引,建议不要selectOne,用list接口,或者自己写sql limit原创 2021-07-21 14:00:59 · 12997 阅读 · 0 评论 -
MyBatis排序+分页重复问题窥探
这个问题的探讨来源于同事遇到的问题:分页时数据重复了。这在之前是没有遇到过的,于是试着看找下原因。说到排序,其实有这几种情况:1.排序字段都没有值 这样排序没有意义2.排序字段都有值,但都一样 这样排序也没有意义3.排序字段都有值,值不唯一 较少的情况,也不是没有。4.排序字段都有值,值唯一 正常情况,因为我们既然用那个字段排序,肯定是看到那个字段可以用来排序,值互不相同,有序可排。这种情况不会有问题。那么就试着前三种情况看看MySQL的排序和通过MyBatis plus的结果原创 2021-07-01 18:56:09 · 2070 阅读 · 2 评论 -
gradle的dependencies中,compile和implementation的不同声明
公司项目用到的gradle,一段时间后,发现.gradle文件中的dependencies声明,compile和implementation有不同的写法,于是做个记录:编译声明compilecompile 声明要编译的包,包名要具体启动后(spring boot项目datasource是必须配置的)compile project 声明要编译的工程启动后可以看到compile group 声明要编译的包,和compile不同在于包名通过坐标元素定位,就像maven的gro原创 2021-06-24 15:49:13 · 6409 阅读 · 0 评论 -
搭建spring boot+mybatis(plus)踩坑记录(三):动态表名设置不生效
Mybatis-plus版本 3.4.0以上。通过DynamicTableNameInnerInterceptor设置动态表名。各种排查、打断点后发现是表名没写对,要全文匹配。原创 2021-02-23 15:40:12 · 4271 阅读 · 6 评论 -
搭建spring boot+mybatis(plus)踩坑记录(二):找不到方法getLanguageDriver
服务启动不了,报错:心得,不要盲目拷贝粘贴,要有自己的思考,配合工具的适当使用排查问题。第一次学会在idea上查看项目依赖依赖冲突,项目无法启动。原创 2021-02-23 15:39:54 · 6185 阅读 · 9 评论 -
搭建spring boot+mybatis(plus)踩坑记录(一):baseMapper自带的方法不能使用
这两天由于工作上需要,和同事一起搞一个项目,项目很简单,只对一张表维护,数据来源于硬件设备,通过Socket传输。我主要负责设计和项目搭建,过程中主要遇到两个问题,有一些新的思考,做个记录, 方便后面回顾学习。问题:baseMapper自带的方法不能使用语言:java框架:Spring boot + maven + Mybatis plus。这个就不用多说,Spring boot是在Spring框架上去配置化的升级,maven是现在广泛使用的包管理器,Mybatis是当下流程的JPA框架,Myb原创 2021-02-23 15:39:22 · 11923 阅读 · 14 评论 -
疑难杂症篇(二):把数据设为null数据库中不更新的问题
以真实的视角记录日常工作中遇到过的一些奇怪问题(涉及工作上的内容会打码,请多体谅),有所思考,如果你也遇到过类似的问题,欢迎一起交流,希望能帮到同为开发者的大家。问题:把数据设为null数据库中不更新-有一张表,有个数据,不为空可以插入,可以更新,但是为null后就不会更新到数据库中了语言:java后端框架:Spring boot+Mybatis Plus数据库:MySQL字段类型:Date测试同事也提了bug跟踪:后台用的是mybatisplus的updateById方法:原创 2021-02-08 12:00:26 · 2294 阅读 · 2 评论 -
疑难杂症篇(一):Java-double类型,整除后返回到前端回显成整数的问题
aaa原创 2021-02-08 11:20:01 · 1751 阅读 · 8 评论 -
记一次改代码后本地正常,开发环境服务能启动,一个生产环境发布正常,另一个生产环境服务启动失败的事故(还好没杀程序员祭天)以警示
这两天优化一处写死的代码,大概是这样的:原创 2021-01-27 20:20:46 · 409 阅读 · 0 评论 -
线上业务修改时间小于创建时间问题回顾
问题描述:某一天偶然发现生产库某个业务存在修改时间modify_at<创建时间create_at的数据:开发环境当时没发现,后来也有了:按理modify_at不可能比create_at小。开始排查首选确定了数据是用户录入的,不是导入的,另外没有改过数据,找到接口后,代码如是:代码中通过是否有id是新数据还是原来的数据,进而区别设置创建时间和修改时间,不会有问题。当时比较匪夷所思,不知道这样的数据是怎么来的,后来测试同事复现了,发现前端在新增有时会传入modif.原创 2021-01-27 19:18:44 · 289 阅读 · 0 评论 -
MySQL Longtext字段优化记录(一)
Longtext优化记录原创 2020-12-03 14:33:45 · 5516 阅读 · 0 评论 -
队列LinkedList Api使用小记
这两天稍微用了下LinkedList做一个问题的解答,我想作为程序员的我们对队列应该不会陌生,队列也属于线性数据结构,线性数据结构是个大家庭,有数组、队列、链表,我想我们工作中可能基本都用得上,我目前看到的队列的使用场景基本有事件处理和算法上,事件处理大多数是消息处理,队列的实现有很多,这里只讨论LinkedList吧。下面一起看下。1.add方法,往对尾添加一个元素,无返回值2.offer方法,往对尾添加一个元素返回true or false3.push,在队首添加一个元...原创 2020-11-02 14:24:01 · 242 阅读 · 2 评论 -
2022年面试记录
java中高级面经原创 2022-03-15 09:57:44 · 1024 阅读 · 4 评论