- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 webserive联调第三方接口
1. 通过soapui新建一个soapui project并填上项目一个地址类似这样:http://127.0.0.1:8888/EsbBusService.asmx?WSDL2.输入请求xml 类似这样:需要在body外加上:<![CDATA[]]><soap:Envelope xmlns:soap="" xmlns:tem="/"> <soap:Header/> <soap:Body> <tem:Process...
2020-07-23 10:59:58 594
原创 list转tree和list中查找某节点下的所有数据
类的实例化顺序父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量(父类实例成员变量)、父类构造函数、子类非静态变量(子类实例成员变量)、子类构造函数。已知组织类Org{String id,String name,String parentId},现在一List<Org>中存放无序的Org数据,求一个组织id下的所有组织。...
2020-07-21 09:29:34 422
转载 springboot 防重复提交
传统的web项目中,防止重复提交,通常做法是:后端生成一个唯一的提交令牌(uuid),并存储在服务端。页面提交请求携带这个提交令牌,后端验证并在第一次验证后删除该令牌,保证提交请求的唯一性。上述的思路其实没有问题的,但是需要前后端都稍加改动,如果在业务开发完在加这个的话,改动量未免有些大了,本节的实现方案无需前端配合,纯后端处理。思路1、自定义注解 @NoRepeatSubmit 标记所有Controller中的提交请求2、通过AOP 对所有标记了 @NoRepeatSubmit 的方法拦截
2020-07-14 14:42:48 484
原创 CAP和BASE
CAP一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。C 一致性即更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致。A 可用性服务一直可用,而且是正常响应时间。P 分区容错性即分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。举列:1 eureka APeureka 保证了可用性,实现最终一致性。Eure..
2020-07-10 11:51:31 245
转载 缓存数据库一致性
大多数人使用的策略,叫做 Cache Aside Pattern。简而言之,就是1. 首先尝试从缓存读取,读到数据则直接返回;如果读不到,就读数据库,并将数据会写到缓存,并返回。2. 需要更新数据时,先更新数据库,然后把缓存里对应的数据失效掉(删掉)--缓存删除失败需要不断重试直至成功。...
2020-07-09 17:23:38 122
转载 SpringCloud与Dubbo区别
SpringCloud和Dubbo都是当下流行的RPC框架,各自都集成了服务发现和治理组件。SpringCloud用Eureka,Dubbo用Zookeeper,这篇博客就将将这两个组件在各自系统中的作用机制的区别。1.注册的服务的区别Dubbo是基于java接口及Hession2序列化的来实现传输的,Provider对外暴露接口,Consumer根据接口的规则调用。也就是Provider向Zookeeper注册的是接口信息,Consumer从Zookeeper发现的是接口的信息,通过接口的name
2020-07-09 12:49:09 1374
原创 线程池处理数据代码
1.创建线程池public class ThreadUtil { public static ThreadPoolExecutor DATA_FIX_POOL = new ThreadPoolExecutor(30, 30, 300, TimeUnit.SECONDS, new LinkedBlockingDeque<>(), new ThreadFactoryBuilder().setNameFormat("thread_pool").build());
2020-07-08 09:08:07 244
原创 mysql隐式转换导致索引失效(失效原因分析)
当操作符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容。某些转换是隐式发生的。某些隐式转换会导致索引失效。1. in 参数包含多个类型2. 判断符合左边是字符串,右边是数字,列如 where a = 123 其中a是字符类型 左边是数字,右边是字符串,这种隐式转换后索引仍然有效。 分析: 根据官方转换规则, 一边数字一边字符串,两边都会转换为浮点数进行比较。 a: 左边数字,右边字符串情况: 索引有效: 左边作为检索项,数...
2020-07-07 12:50:55 1193
转载 公平锁/非公平锁源码深入分析
目标掌握AQS基本原理,理解ReentrantLock的具体实现挖掘体会AQS精妙设计总之,学习AQS过程,要多思考为什么要这样实现,善于带着问题主动探索答案,不断的回过头去看,去思考,我们对并发会有更深的理解。在学习过程中沉淀的“pattern”认知和学习能力能够轻松的复制到我们工作实践和其它优秀代码的学习中。工作后时不时会遇到业界通用方案不匹配自身业务,到造轮子的时候可能才会后悔之前没有多多沉淀吧~。同时感谢我参考学习过的大神资料。准备知识ReentrantLock类图:理想情况下
2020-07-06 13:00:37 458
原创 非公平锁抢锁分析
1.非公平锁有两次的抢锁机会 1.进入AQS同步队列之前 2.进入AQS同步队列后非公平锁第一次抢锁失败后,会进入AQS同步队列排序,当位于队首时会和其他线程开始抢锁。2.性能分析:公平锁和非公平锁的性能是不一样的,非公平锁的性能会优于公平锁。为什么呢?因为公平锁在获取锁时,永远是等待时间最长的线程获取到锁,这样当线程T1释放锁以后,如果还想继续再获取锁,它也得去同步队列尾部排队,这样就会频繁的发生线程的上下文切换,当线程越多,对CPU的损耗就会越严重...
2020-07-06 12:48:32 818 4
原创 easypoi导出excel表格数据
@ApiOperation(value = "列表数据导出")@PostMapping(value = "/preFollowListExport", produces = "application/json;charset=UTF-8") public Response<Boolean> export(HttpServletResponse servletResponse) throws IOException { String nam.
2020-07-01 18:55:08 531
原创 SpringBoot跳过权限验证配置
security.basic.enabled = falseinterceptor.exclude.path = /**
2020-07-01 18:39:39 5699 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人