CHuiL

spring Async注解 调用者不能是注解方法所在类中的方法

spring注解

EnableAsync注解注释说明 从上面这两段话知道 AdviceMode指出应该如何应用异步操作;默认方式为 AdviceMode.PROXY;这种方式只允许通过代理去截取调用,而同个类中的本地调用方式是不会被拦截的; 原因 spring 使用动态代理实现aop功能,而实现动态代理的手段有两种,一种是jdk动态代理,一种是CGLib代理; jdk动态代理 jdk动态代理要求 被代...

java动态代理

java动态代理

代理是基本的设计模式之一,为提供额外的或不同的操作,而插入的用来代替“实际”对象的对象。设计模式的关键就是封装修改。 动态代理即可以动态地创建代理并动态地处理对所代理方法的调用。使用动态代理,对象所有的调用都会被重定向到单一的调用处理器上 JDK动态代理 //调用接口 public interface Interface { void doSomething(); void...

skywalking 基本原理

要解决的问题-分布式调用链 自动采集数据 能够分析数据,产生==完整的调用链关系== OpenTracing OpenTracing 规范一套规范,定义了分布式追踪系统的API,类似JDBC那样; Trace:表示一个完整的请求链路 Span:一次调用过程(有开始时间和结束时间) SpanContext:Trace的全局上下文信息,包含有TraceId ...

dubbo 服务代理机制原理

spi

java 的代理机制 两种实现方式 jdk动态代理 //调用接口 public interface Interface { void doSomething(); void somethingElse(String arg); } //接口实现 public class RealObject implements Interface { @Override ...

dubbo spi扩展

spi

SPI Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。 dubbo SPI java也有SPI,不过其存在缺陷,每次加载会将所有实现类加载出来,导致加载慢资源浪...

排序算法相关知识

[TOC] 排序算法 简单选择排序(了解) 基本思路:不断的从未排序的区域中选择出最小(大)的元素放入到排序的数组区域中; 时间复杂度:最好=平均=最差:O(n^2); 空间复杂度:O(1) 不稳定 public int[] selectSort(int[] nums){ int len = nums.length; for(int i = 0 ; i...

广度优先搜索dfs

layout: post title: “DFS-广度优先搜索” subtitle: “” date: 2019-09-09 author: “CHuiL” header-img: “img/algorithm-bg.png” tags: 算法 103. Binary Tree Zigzag Level Order Traver...

股票买卖问题

股票问题 leetcode上的股票问题,归根到底就是给你一个数组,代表每一天股票的售价,问你买卖股票所能获得的最大利润,且每次交易只能卖了才能再次购买;不同题目会有不同的条件,如总共可以买卖k次,需要手续费,需要间隔一天等; 状态转移方程 每一天我们都有三个操作,即买入,卖出和无操作;对应这三个操作,每一天都有相应的状态,如某一天,在交易了k次之后,是否持有股票,已经在这个状态下所得到的最...

使用minio对象存储桶作为pv资源提供给pod挂载

Minio实践记录

minio MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 s3fs-fuse S3fs是基于FUSE的文件系统,允许Linux和Mac Os X 挂载S3的存储桶在本地文件系...

k8s共享存储概念理解

k8s学习记录

什么是共享存储 k8s对于有状态的容器应用或者对数据需要持久化的应用,不仅需要将容器内的目录挂载到宿主机目录,而且需要更加可靠的存储来保证应用产生的重要数据,以便再容器应用重建之后,仍然可以使用之前的数据。 如果只是单纯的靠挂载到宿主机目录上,那么在某个node宕机之后,pod被重启并调度到其他node上运行,但此时新的node上并没有原来的数据,这就无法保证可以使用到之前的数据。 Per...