java
g3230863
这个作者很懒,什么都没留下…
展开
-
Redis+Aop 缓存
Redis+Aop 缓存原创 2023-03-01 16:52:54 · 357 阅读 · 1 评论 -
HttpClientUtil连接池工具类
httpClient工具类原创 2022-12-07 15:35:31 · 779 阅读 · 0 评论 -
Mock Mockito 单元测试
Mock Mockito 单元测试原创 2022-11-02 16:12:21 · 144 阅读 · 0 评论 -
git本地项目关联远程仓库
git本地项目关联远程仓库原创 2022-10-11 16:53:35 · 112 阅读 · 0 评论 -
CompletableFuture并发处理,多线程,限流RateLimiter
CompletableFuture并发执行,多线程 , 限流RateLimiter原创 2022-09-23 14:23:00 · 304 阅读 · 0 评论 -
easyExcel工具类
easyexcel工具类原创 2022-09-07 19:41:23 · 645 阅读 · 0 评论 -
spring cloud gatewa修改路由等信息
Spring Cloud Gateway 修改路由信息原创 2022-08-26 14:06:06 · 279 阅读 · 0 评论 -
validation校验
validation校验原创 2022-08-18 19:07:11 · 180 阅读 · 0 评论 -
apollo源码启动服务,apollo源码分析
apollo源码启动服务原创 2022-07-28 16:55:38 · 715 阅读 · 0 评论 -
Disruptor源码分析
disruptor 源码分析原创 2022-06-29 18:27:50 · 494 阅读 · 0 评论 -
队列的实现(循环队列Disruptor)
队列原创 2022-06-21 15:03:33 · 345 阅读 · 0 评论 -
计数排序算法
核心思想:桶排序适用于:数据量大,但是数据的范围小的情况第一版import java.util.Arrays;/** * @description: 计数排序,复杂度为O(n+k)的稳定的排序算法,k是待排序列最大值 * 可以参考https://www.cnblogs.com/xiaochuan94/p/11198610.html * @create: 2021-04-04 20:05 **/public class CountSort { /** * 计数排序适原创 2022-03-29 19:09:47 · 812 阅读 · 0 评论 -
Elasticsearch RestHighLevelClient操作
RestHighLevelClient操作,ES,ElasticSearch原创 2022-03-14 11:19:41 · 7329 阅读 · 0 评论 -
skywalking
skywalking原创 2022-02-08 18:15:09 · 3291 阅读 · 0 评论 -
DDD 领域驱动设计
1.事件风暴事件既事实,既在业务领域中已经发生的事件。分析“已下单”下面是用户点餐的分析微服务设计:1.先根据事件风暴进行领域建模领域建模是将系统分了多个子域,每个子域有独立的业务场景。2.基于领域建模进行上下文的设计。每个子域的实现就是“限界上下文”,子域之间的联系就是上下文地图。领域事件通知异步消息通知各个微服务聚合聚合根唯一入口判断是不是聚合工厂仓库如果创建订单;订单中会保存多个订单明细,通过仓库进行统一的保持通过仓库来查询查询订单贫原创 2022-01-31 17:40:33 · 969 阅读 · 0 评论 -
idea springboot项目自定义Maven脚手架
自定义Maven脚手架原创 2022-01-11 15:41:35 · 635 阅读 · 0 评论 -
arthas学习
arthas使用原创 2021-09-13 23:08:15 · 1639 阅读 · 0 评论 -
最近难忘的生产问题处理
下面是dubbo validation的官方文档https://dubbo.apache.org/zh/docs/advanced/parameter-validation/我们用的是dubbox 2.8.4版本有一个参数没传,但是在捕获异常的时候,并没有拿到校验的错误信息,反而报了一个null指针 try { String say = sayHelloApi.say(req); System.out.println(say);原创 2021-09-09 11:23:20 · 83 阅读 · 0 评论 -
策略+工厂,策略+模板+工厂
策略,工厂,模板原创 2021-09-08 16:38:49 · 80 阅读 · 0 评论 -
Elasticsearch相关 ES
Elasticsearch 相关 ES原创 2021-09-07 00:18:59 · 255 阅读 · 0 评论 -
异步servlet
异步Servlet带来的最大好处是HTTP push ,在该服务器中,服务器可以在选择时向客户端发送信息,而不是在客户端请求时将信息发送回客户端。在异步Servlet之前,这将需要长时间运行的HTTP连接,每个HTTP连接都会束缚服务器线程,这是非常低效的。这个新模型使服务器端处理与连接处理脱钩。异步的servletpackage com;import org.springframework.web.bind.annotation.GetMapping;import org.springfra原创 2021-07-25 23:35:00 · 237 阅读 · 0 评论 -
java8 函数接口
JDK默认会把当前实例传入到非静态方法,位置必须是一个参数package com;import lombok.ToString;import java.util.function.*;@ToStringpublic class Dog { public String name; public int totalNum = 10; public Dog(String name) { this.name = name; } pub原创 2021-07-25 23:26:21 · 121 阅读 · 1 评论 -
apollo
JVM 启动参数添加启动参数-Dapollo.meta 与-Dapollo.configService的区别1.先找configServicecom.ctrip.framework.apollo.internals.ConfigServiceLocator#getCustomizedConfigService如果configService为空,在去找apollo.meta中的地址原创 2021-07-21 15:27:05 · 213 阅读 · 0 评论 -
Java工程师成神之路
GitHub 项目地址:进入GitHub Pages 完整阅读:进入Gitee Pages 完整阅读:进入 (国内访问速度较快)原创 2021-07-17 15:51:07 · 213 阅读 · 0 评论 -
spring bean的生命周期和事务
springbean的生命周期和事物原创 2021-06-21 18:56:07 · 192 阅读 · 1 评论 -
String相关的
https://www.cnblogs.com/old-cha/p/13357533.html原创 2021-06-19 00:42:01 · 68 阅读 · 0 评论 -
java 锁相关
AtomicInteger对应的方法如下:调用了C++的如下代码这里看到有一个LOCK_IF_MP,作用是如果是多处理器,在指令前加上LOCK前缀,因为在单处理器中,是不会存在缓存不一致的问题的,所有线程都在一个CPU上跑,使用同一个缓存区,也就不存在本地内存与主内存不一致的问题,不会造成可见性问题。然而在多核处理器中,共享内存需要从写缓存中刷新到主内存中去,并遵循缓存一致性协议通知其他处理器更新缓存。Lock在这里的作用:在cmpxchg执行期间,锁住内存地址[edx],其他处理器不能访问.原创 2021-06-14 01:31:54 · 257 阅读 · 0 评论 -
AQS,ReentrantLock,CountDownLatch,CyclicBarrier的原理
https://zhuanlan.zhihu.com/p/265096774原创 2021-06-07 23:57:40 · 82 阅读 · 0 评论 -
springboot与springcloud的功能使用
http://c.biancheng.net/view/5316.html原创 2021-06-02 22:19:42 · 157 阅读 · 0 评论 -
Spring 如何解决循环依赖的问题
下面是循环依赖的解释https://blog.csdn.net/qq_36381855/article/details/79752689下面是为什么需要二级缓存的解释https://www.cnblogs.com/sxrtb/p/14460635.html原创 2021-06-02 17:15:10 · 65 阅读 · 0 评论 -
@Builder注解使用
在请求参数中,加入了@Builder注解,会报错,加上@AllArgsConstructor 与@NoArgsConstructor就能解决问题,但在请求参数上不建议写@Builder注解,一个@Data就行了{ "code":500, "message":"JSON parse error: Cannot construct instance of `com.xxx` (although at least one Creator exists): cannot deserialize原创 2021-05-26 10:56:23 · 940 阅读 · 0 评论 -
二叉树按层打印,求最大的宽度
一.按层打印,从左到右分层打印 public static void level(Node node) { if (node != null) { Queue<Node> queue = new LinkedList<Node>(); queue.add(node); while (!queue.isEmpty()) { Node n=queue.poll原创 2021-05-24 23:04:30 · 96 阅读 · 0 评论 -
二叉树遍历(先序,中序,后序)
可以看到用递归的方式只是System.out.print(node.val+" ")位置不同而已/** * @description: 二叉树 * @create: 2021-05-22 15:50 **/public class treeTest { public static void main(String[] args) { Node node1=new Node(1); Node node2=new Node(2); No..原创 2021-05-22 16:49:11 · 165 阅读 · 1 评论 -
redis+lua脚本
redis lua脚本原创 2021-05-19 10:07:07 · 745 阅读 · 0 评论 -
spring cloud gateway跨域
spring cloud gateway跨域import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.http.HttpHeaders;import org.springframework.http.HttpMethod;import org.springframework.http原创 2021-04-26 14:07:54 · 291 阅读 · 0 评论 -
动态刷新apollo配置
配置apollo的监听器import com.ctrip.framework.apollo.model.ConfigChange;import com.ctrip.framework.apollo.model.ConfigChangeEvent;import com.ctrip.framework.apollo.spring.annotation.ApolloConfigChangeListener;import lombok.extern.slf4j.Slf4j;import org.sprin原创 2021-04-20 10:20:45 · 1314 阅读 · 0 评论 -
跨域解决
CAS集成网关后,遇到跨域问题,只有下面的这种能解决@Component@Order(Ordered.HIGHEST_PRECEDENCE)public class AjaxCorsFilter extends CorsFilter { public AjaxCorsFilter() { super(configurationSource()); } private static UrlBasedCorsConfigurationSource configu原创 2021-04-06 11:27:14 · 133 阅读 · 0 评论 -
快速排序算法
原理: 快速排序的本质就是把基准数大的都放在基准数的右边, 把比基准数小的放在基准数的左边,这样就找到了该数据在数组中的正确位置 时间复杂度: 最好的情况是O(N*logN) 最坏的情况是O(N2),最左边或者最右边是边缘的数,即最大(1,2,3,4,5)或者最小(5,4,3,2,1)的, 因为每次分成两个区间时,只能确定一个数的位置 避免出现O(N2)为了避免已经排好序的这种情况,可以随机取一个位置的数与数组最后一个数做交换在来排序 下面是选取左边的数为基准原创 2021-04-05 00:21:07 · 359 阅读 · 1 评论 -
希尔排序
public class Shell { public static void main(String[] args) { int[] arr={9,8,7,4,5,6,1,3,2}; Shell_Sort(arr); System.out.print(Arrays.toString(arr)); System.out.println(); } public static void Shell_Sort(int[原创 2021-04-01 15:32:16 · 74 阅读 · 0 评论 -
算法-对数器
验证手写的算法是否正确import java.util.Arrays;import java.util.Random;public class DataChecker { public static void main(String[] args) { int[] arr =newArr(10,1000); int[] arr1 = Arrays.copyOf(arr, arr.length); System.out.println("原创 2021-03-30 20:52:25 · 61 阅读 · 0 评论