随笔
文章平均质量分 63
珈凝
nice to meet you
展开
-
浏览器number精度问题(js)
问题前几天测试接口功能的时候,发现了一个奇怪的问题。一些店铺创建并上架的商品,能正常查看详情,有一些则报错。排查首先看一下整体的业务流程其中前一二三步是没有问题的,到第四部查看商品详情就开始出问题了,有一些商品查看时会报错。首先查看报错原因因为在搜索数据库数据的时候,搜索不到,导致了业务报错。然后查看搜索条件直接按照id搜索商品详情。然后找id哪来的在第三步返回商品分页数据的时候返回的。用arthas查看服务器中的商品返回数据发现id居然是正确的!!!然后用postman模原创 2022-01-05 11:37:26 · 1212 阅读 · 0 评论 -
抽象类和接口的区别
在语言层面上,抽象类和接口的区别是抽象类使用extend去继承,而接口是使用implement去实现一个类只能继承与一个抽象类,但是却可以实现多个接口在使用层面上呢举个栗子public abstract class animal{ public void eat(){}; public void sleep(); }public class dog extend animal{}public class bird extend animal{}动物都会吃饭睡觉,那么我们原创 2021-09-29 16:03:05 · 97 阅读 · 0 评论 -
jetcache的@CreateCache注解不生效
背景最近在帮另外一个项目组的同学解决一些产品搭建的环境问题,商品模块早已正常启动,但访问类目查询接口,出现了空指针错误。解决流程先找到空指针的代码位置通过堆栈日志,找到出现空指针的代码,大概是这个样子@CreateCache( name = "BackCategory:ancestor", expire = 1800)private Cache<Long, List<BackCategory>> cache;public List<BackCa原创 2021-09-16 12:48:09 · 3247 阅读 · 0 评论 -
ArrayList并发场景下出现NULL元素
起因早上收到通知,负责的模块中有一个借口出现了借口超时的问题,通过阿里云的Arthas监控接口的调用情况,发该接口中有一段代码循环了4000次,每次循环耗时在0.3ms到6ms之间,最终导致了接口的整体超时List<Result> results = new ArrayList<>();ids.forEach( it -> { Result result = findSomeThingFromRedis(it);原创 2021-03-11 00:27:26 · 1656 阅读 · 1 评论 -
Dubbo踩坑记录 ImmutableCollection不支持序列化导致的接口调用失败
由于业务需要,因此在接口的实现过程中调用了其他模块的接口,碰巧请求参数是一个List,所以就用了如下方法进行参数调用public List<DicResponse> getDicListByCode(String dicCode){ try{ Request request = new Request(); List<String> codes = ImmutableList.of(dicCode); request.setC原创 2021-02-04 18:24:12 · 873 阅读 · 0 评论 -
数据库设计的三大范式
三大范式第一范式(所有字段不可拆分)违反第一范式姓名年龄居住地张三17浙江省宁波市李四20江苏省无锡市所有的字段都是不可拆分的,这里的居住地字段就可以接着拆分为居住地省,居住地市改进姓名年龄居住地省居住地市张三17浙江省宁波市李四20江苏省无锡市第二范式(字段需依赖主键中的全部信息,而不能只依赖部分信息)这里的主键是理解为姓名 + 订单号姓名年龄居住地省居住地市淘宝订单号商品原创 2021-02-02 14:16:55 · 187 阅读 · 0 评论 -
service和dao层是否一定需要实现接口呢?
大多数项目中的架构都如下图所示其中facade和manager层可以根据业务需要选择是否保留通常在项目中我们会选择对facade和service做先写接口,再做实现的处理,但是在实际开发中,好像并没有体现出先写接口的必要性,写篇文章,总结一些接口的好处,以及分析在实际开发中是否一定要接口化处理接口的好处可以开发人员明确改类实现的功能在多实现的场景下,对实现类起规范作用在多人协作开发的场景下可以快速提供还未实现的方法java动态代理是基于接口去增强的思考实际工程开发中,功能从设计到实原创 2020-11-05 11:44:16 · 1376 阅读 · 0 评论 -
maven仓库配置,镜像,私服,远程仓库,本地仓库
镜像概念解释maven的镜像是在setting文件中配置的,镜像的作用相当给其他仓库中做的一个代理,假设A_repository中的资源是B_repository中资源的子集,那么就可以把B_repository配置成A_repository的代理镜像,也就可以吧B_repository称为A_repository的镜像。适用场景(用途)为什么需要镜像呢,在不做任何处理的场景下,我们利用maven拉包(),会到A_repository仓库去拉,但如果是这个repository不在国内,会导致拉包的原创 2020-08-27 15:42:57 · 1363 阅读 · 0 评论