自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 redisson分布式锁

1、可重入锁2、公平锁3、MultiLock

2021-07-02 13:19:51 145

原创 ByteTcc 分布式事务图解

入口分析: 功能性框架,看下datasource引入的 SpringCloudConfiguration里面相关的配置、bytetcc-supports-springcloud.xml相关配置。发现以下重要类: CompensableMethodInterceptor、CompensableManagerImpl、CompensableHandlerInterceptor、CompensableFeignHandler、CompensableTransactionImpl、Compens.

2021-06-24 15:48:25 600

原创 JTA + Atomikos + Druid 分布式事务源码图解

入口: 根据前一篇文章,得知入口是 TransactionInterceptorXA 规范说明: 对多个数据源操作 d1: 1) d1XAResource.start: xa事务准备 2) d1.prepareStatement sql拼接 3) d1XAResource.end xa事务准备完成 d2: 1) d2XAResource.start: xa事务准备 2) d2.

2021-06-16 18:13:26 271

原创 spring事务源码分析

入口分析:1、对于spring源码有一定了解的话,一定知道,对每个插件想要被spring管理,则会实现其对应的接口,并以*Handler结尾,所以找到了 TxNamespaceHandler2、TxNamespaceHandler extends NamespaceHandlerSupport 2.1 init() new TxAdviceBeanDefinitionParser(); 根据类继承体系,找到关键的bean实例化代码 2.2 TxAdv.

2021-06-15 14:42:58 136

原创 Feign源码图解

1、Feign入口分析// Scans for interfaces that declare they are feign clients@Import(FeignClientsRegistrar.class)public @interface EnableFeignClients {}2、初始化流程分析 2.1 FeignClientsRegistrar.registerBeanDefinitions FeignClient注册到spring容器 2.1.1 re.

2021-05-28 10:53:08 291

原创 Ribbon源码图解

1、Ribbon分析入口 LoadBalancerAutoConfiguration2、Ribbon 分析流程 2.1 LoadBalancerInterceptor.incept 方法 2.2 RibbonLoadBalancer.execute 方法 2.2.1 getLoadBalancer -> 选择loadbalancer -> ZoneAwareLoadBalancer 2.2.2 getServer -> 选择.

2021-05-27 15:33:34 182

原创 eureka源码画图剖析

1、eurekaServer启动web.xml<listener> <listener-class>com.netflix.eureka.EurekaBootStrap</listener-class></listener>@Overridepublic void contextInitialized(ServletContextEvent event) { try { initEurekaEnvironment();

2021-05-20 14:47:44 114

原创 Chrome 跨域 请求不携带cookie

一个月没动的项目,今天突然需要优化一个功能,项目启动,美滋滋的 localhost:8082访问前端页面,登录成功,访问数据页面,报未登录一脸懵逼,一个月前好好的项目,突然就出问题了,查看下请求发现没有携带cookie异常情况,没有携带cookie正常访问 携带cookie一脸懵逼的找来了搭建项目的大佬,好像也不清楚,没法自己研究吧,发现浏览器console中有这么个提示Indicate whether to send a cookie in a cros..

2020-08-21 15:23:19 5440

原创 2次生产环境调优

一直都是在网上看各种调优,自己没遇见过,好了,终于在生产环境中遇到了,一个是同事代码造成的,一个是自己造成的,记录一下一、问题说明:问题一 、OOM 之 Java.lang.OutOfMemeoryError:unable to create new native thread,导致服务挂掉了问题二、top命令查看服务器CPU使用情况,目前查看占用是 760%,严重异常了二、问题排查问题一: 1、日志问题排查 从日志中就能看出是...

2020-07-27 11:20:19 180

原创 Spring Spring Mvc源码 图形化解读

阶段性的学习总结,留作纪念: 已完成:Spring源码、Spring mvc源码 简单了解,画图学习 待完成:@RequestBody、@ResponseBody的解析过程分析,Aop、Tx在请求时的处理PS:大半个月才画出来,没想到能坚持下来,还有mac不用鼠标画图是真的难受一、Spring源码,初始化目的:了解Bean的实例化、初始化进程分析起源...

2019-11-25 17:12:53 243

原创 Nio flip()方法,position limit capacity

代码: FileInputStream fileInputStream = new FileInputStream("test1.txt"); FileChannel channel = fileInputStream.getChannel(); ByteBuffer byteBuffer = ByteBuffer.allocate(20); S...

2019-05-22 17:56:21 193

原创 反射 + 注解实现动态导入功能,单表导入与有关联的外检表,以及对象内表关联

最近项目中有5个导入模块,不想复制粘贴,加上最近对注解和反射有点想用的的冲动,写了个粗略的动态导入:PS:以下内容过长,容易引起舒适度不爽,请做好心理准备一、需求分析:0、导入的数据列头是中文,所以需要用反射 + 注解进行对应1、基础字段,如user 的 name 、age;2、外键关联字段,如属于哪个部门 ,dept_id(导入的是中文名称,需要将对应的id查询出来)3、...

2019-01-02 15:00:19 439

原创 node+webpack+babel+vue2

最近初学vue,以前也没玩过node,参照着各种博客,完成了简单的环境搭建,步骤如下:一、安装node.js(很简单,官网下载,一键到底安装)安装完成后 node -v能出现版本号安装成功二、环境配置(以下均为原生的npm,没有研究淘宝的cnpm)1、新建项目,在开发工具或者目录中直接新建项目,在项目根目录执行一下命令npm init -y该命令可以生成package.js...

2018-10-15 15:04:47 473

原创 SpringBoot异常统一处理机制

springboot官网说了三种异常处理,分为机器客户端和浏览器客户端,区别为机器客户端请求返回的是头中Accept是"/"或者空,异常返回值json,浏览器客户端请求头中Accept是"text/html" 返回的是html如下图:机器客户端:浏览器客户端:下面对两种客户端的三种异常处理方式做简单分析:一、浏览器客户端:官网提供两种方式,一种是直接在public...

2018-10-09 16:30:49 4501

原创 ThreadLocal线程安全

ThreadLocal原理:1、查看ThreadLocal的set方法可以看到getMap方法通过当前线程获取当前线程的ThreadLocalMap public void set(T value) {        Thread t = Thread.currentThread();        ThreadLocalMap map = getMap(t);        if ...

2018-09-27 15:46:00 292

原创 快速排序

实现原理:1、找出中值项M2、将数据通过中值项分为 D1(所有小于等于M的数据) D2(所有大于M的数据)3、在D1 D2中递归执行1/2/3PS:中值项的选取,如果直接选取最中间的数据,在某些时候会导致快速排序的性能下降到O(N^2),所以为了容错,选取数据的第一个,最后一个,中间的数据,对三个进行排序,再进行上诉的 1 2 3(1的规则在此说明) 快速排序和归并排序的区...

2018-09-27 15:15:53 173

原创 多线程循环打印A B C D。。。。

class ProducerThread1 extends Thread {     private UserEntity userEntity;     public ProducerThread1(UserEntity userEntity) {           this.userEntity = userEntity;     }     @Override   ...

2018-09-25 09:31:18 368

原创 希尔排序

希尔排序:排序时间大Obiao表示预估为O(N^(3/2)) 到 O(N^(7/6))30万数据耗时: 1276代码如下:    private long[] longArr;    private int nElems;    public ShellSort(int size) {        longArr = new long[size];        nEle...

2018-09-03 11:24:15 188

原创 归并排序

归并排序: 效率高,会占用内存空间,在排序阶段会生成与排序数组相同大小的数组(内存充足随便用)大O表示:Nlog2(N) 与 简单排序(O(N^2))相比,数据越大,效率相差越大30万时间:57 ms简单排序见 https://blog.csdn.net/fighterGuy/article/details/81707108/归并排序  即二分排序和递归的结合体public c...

2018-08-29 10:22:20 181

原创 spring类的注入和new简单理解

springboot    1、main.run方法进入    2、refreshContext    3、refresh    4、finishBeanFactoryInitialization(完成beanFactory的初始化)    5、preInstantiateSingletons(初始化单例)    6、getBean(获取Bean)    7、doGet...

2018-08-21 16:54:34 3498

原创 docker学习篇之docker简单部署springboot

1、将docker文件和打包的springboot项目放入linux服务器2、docker构建镜像docker build -t receivetest .(此处有个小点)3、docker images可以看到镜像4、运行镜像docker run -d -p 8080:8000 receivetest:latest (测试镜像是否可用,并在页面访问应用可以访问)5、打包成tar包 ...

2018-08-20 14:08:14 225

原创 Cannot execute request on any known server

一、Cannot execute request on any known server产生原因分析:  1、服务端启动报这个错误,原因没有以下配置,配置的含义为不将服务端作为客户端使用    register-with-eureka: false    fetch-registry: false2、客户端报这个错误     原因:        a、eureka没有启...

2018-08-20 14:01:19 11837

原创 几种简单排序算法

最近对java数据结构和算法的一些编程和总结,以博客形式开始记录:一、冒泡排序:    /**         *          *   冒泡排序,两个相邻的比较大小 1、右侧为最大 2、左侧为最大         *  10万条数据排序时间: 16234ms 30万:151927ms          *   大O分析:          *         比较次数: (...

2018-08-15 17:11:03 214

jaxws-ri 2.3完整包

用于jaxws-ri的webservice开发,使用于Tomcat部署,亲测可用,最新更新,调整积分供各位下载

2018-09-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除