自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 spring boot 2源码系列(七)- 创建自己的starter

使用spring-boot的时候,若需要使用一些中间件,最简单直接的方式是导入starter,例如使用redis需要做以下两步: 1、添加spring-boot-starter-data-redis依赖 2、application.properties新增redis配置。 starter极大...

2020-06-03 20:09:42 2 0

原创 spring boot 2源码系列(六)- 自动装配

在老版本的spring项目中,需要通过xml配置IOC Bean,新版本的spring支持自动装配bean。在spring boot项目中只需要在配置文件中写几行配置,就能实现bean的自动装配。 spring注解支持派生 新建一个MyComponent注解,注解加上@Component注解。...

2020-06-02 22:51:09 8 0

原创 spring boot 2源码系列(五)- 外部化配置

spring 外部化配置官方文档https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config Spring Boot允许...

2020-05-04 13:47:26 58 0

原创 spring boot 2源码系列(四)- ApplicationRunner和CommandLineRunner

spring boot工程启动成功后会回调ApplicationRunner和CommandLineRunner接口的run方法,这两个接口主要有两点不同: 1、ApplicationRunner的run(ApplicationArguments args)接收一个ApplicationArgu...

2020-04-06 15:29:48 47 0

原创 spring boot 2源码系列(三)- banner

spring boot自定义banner很简单,只需要在resources目录下添加 banner.txt 文件即可。 banner.txt内容如下: _ooOoo_ o888...

2020-04-05 23:14:45 34 0

原创 spring boot 2源码系列(二)- 监听器ApplicationListener

强烈建议阅读本文之前,先看spring boot 2源码系列(一)- 系统初始化器ApplicationContextInitializer。监听器的源码跟初始化器的源码有很多相似之处,例如:加载、初始化监听器,监听器委派,监听器排序。 spring boot监听器的使用 spring boo...

2020-04-05 16:53:52 39 0

原创 spring boot 2源码系列(一)- 系统初始化器ApplicationContextInitializer

ApplicationContextInitializer接口的文档是这样说的: 1、ApplicationContextInitializer是一个回调接口,用于在ConfigurableApplicationContext#refresh()初始化ConfigurableApplicatio...

2020-03-29 15:40:59 72 0

原创 spring boot + mybatis plus + 多数据源 + 分布式事务

本文介绍一种使用spring boot + mybatis plus + 多数据源 + 分布式事务 的实现方式。 由于涉及多个数据库,自然就涉及到分布式事务。先了解几个概念: 1、XA是什么? XA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transa...

2020-03-28 14:41:27 393 0

原创 spring-boot-2+shiro+jwt集成实现权限管理

年前年后有空,花了些时间研究apache shiro。示例代码地址 https://github.com/CodingSoldier/java-learn/tree/master/project/shiro/shiro-jwt 如果不了解Apache shiro,我提供下我的学习路线: 1、...

2020-01-31 14:58:19 859 0

原创 线程未捕获异常处理器Thread.UncaughtExceptionHandler

public class Test1 { /** * 线程未捕获异常处理器接口 Thread.UncaughtExceptionHandler * 此接口会在线程由于未捕获异常而突然终止时被调用 */ public static class Custo...

2020-01-10 22:25:45 27 0

原创 interrupt中断与停止线程

线程总共有6中状态,分别是: New、Runnable、Blocked、Waiting、Timed Wating、Terminated 下面来分析当Runnable的run方法有while循环时,该如何在线程外部停止执行while循环的线程。 先看一段代码 public st...

2020-01-10 22:25:19 32 0

原创 线性回归

本文来源于liuyubobobo的“Python3入门机器学习经典算法与应用” 假设有如下样本数据 X轴表示房屋面积,Y轴表示价格。从图中样本可以看出房屋面积和价格成线性关系且价格随着面积的增加而增加。那我们能否找到一条直线,此直线能最大限度的拟合房屋面积与价格之间的关系。 此直线方...

2019-11-09 19:47:05 29 0

原创 kNN - k邻近算法

本文来源于liuyubobobo的“Python3入门机器学习经典算法与应用” k邻近算法就解释完了,按照惯例,还是应该给出k邻近算法的官方定义,我从百度百科上拷贝过来了 K近邻算法:在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这...

2019-11-05 22:19:48 29 0

原创 邻接矩阵、邻接表

本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 图的基本概念 先了解图的一些概念。 图在数学、代码中的实现方式, 一般来说使用邻接矩阵表示稠密图,使用邻接表表示稀疏图。下面会对邻接矩阵、邻接表加以说明。 实现代码: // 稠密图 -- 邻接矩阵...

2019-10-29 22:12:33 33 0

原创 并查集

本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 并查集是一种树形的数据结构,可以用户判断数据是否相连接的问题。 例如在下图中任意取两个点,怎么判断这两个点是否连接在一起呢? 上图中的这个问题太复杂,举个简单的例子来练手。 使用quick find算法实现...

2019-10-27 13:45:11 20 0

原创 快速排序

本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 代码如下: // 快速排序 public void quickSort(int[] arr){ quickSort(arr, 0, arr.length-1); } ...

2019-10-20 17:03:20 19 0

原创 归并排序

本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 选择排序、插入排序都是O(n^2)复杂度的排序算法(即这两种算法都使用了两重for循环) 归并排序是O(n log n)时间复杂度的排序算法 归并排序思路 上面归并思路中最理解、最难处理的点在于:相邻数组段合并...

2019-10-16 22:21:32 16 0

原创 选择排序、插入排序

本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 选择排序 // 选择排序 public static void selectionSort(int arr[]) { for (int i = 0; i < arr.length; i++) { ...

2019-10-14 22:42:07 11 0

原创 《玩转数据结构 从入门到进阶》红黑树

本文来源于liuyubobobo的“玩转数据结构 从入门到进阶”视频教程 本教程是基于二分搜索树实现红黑树,请先看《玩转数据结构 从入门到进阶》二分搜索树 Binary Search Tree 红黑树也有左旋转、右旋转这种操作,如果不了解,请先阅读《玩转数据结构 从入门到进阶》平衡二叉树AVL...

2019-08-24 18:53:08 41 0

原创 《玩转数据结构 从入门到进阶》平衡二叉树AVL

本文来源于liuyubobobo的“玩转数据结构 从入门到进阶”视频教程 平衡二叉树的定义:对于任意一个节点,左子树和右子树的高度差不能超过1。 使用代码实现AVL需要用到我之前的一篇《玩转数据结构 从入门到进阶》二分搜索树 Binary Search Tree 中的代码,建议先看这篇...

2019-08-22 20:37:07 28 0

原创 《玩转数据结构 从入门到进阶》Tire字典树

本文来源于liuyubobobo的“玩转数据结构 从入门到进阶”视频教程 上图是一个Trie字典树 1、字典树是一个多叉树 2、字典树的Node节点使用字典结构(java中叫map)储存与子节点的关系。 3、沿着根节点的路径搜索,可以发现字典树中存储着单词{"cat"...

2019-08-15 20:22:18 38 0

原创 《玩转数据结构 从入门到进阶》二叉堆

本文来源于liuyubobobo的“玩转数据结构 从入门到进阶”视频教程 先介绍几个概念 1、满二叉树如下图: 2、完全二叉树 3、二叉堆 使用数组实现一个最大二叉堆。 上图中的树只是数组存储元素的形象画法,实际存储数据的还是数组,但数组元素之间具备树那样的关系。 ...

2019-08-08 22:41:54 122 0

原创 《玩转数据结构 从入门到进阶》二分搜索树 Binary Search Tree

本文来源于liuyubobobo的“玩转数据结构 从入门到进阶”视频教程 上图是一个Binary Search Tree,因汉字数量庞大,就有了很多种翻译,如:二分搜索树、二叉搜索树、…………… 二分搜索树以二叉树为基础,但多了两个特点: 1、二分搜索树节点的值具有可比较性。 2、每个...

2019-08-06 22:53:38 84 0

原创 《玩转数据结构 从入门到进阶》 链表实现队列

本文来源于liuyubobobo的“玩转数据结构 从入门到进阶”视频教程 链表结构如下图,链表节点包含一个e属性和next属性 使用java代码实现链表节点 // 链表节点 private class Node{ // 当前节点的值 public E e; //...

2019-08-02 21:55:08 55 0

原创 《玩转数据结构 从入门到进阶》 循环数组实现队列

本文来源于liuyubobobo的“玩转数据结构 从入门到进阶”视频教程 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。 假设我们使用数组实现队列,请看下图 入队操作很快速,只需要在队尾添...

2019-08-02 21:54:45 76 0

原创 Redis Cluster集群与spring boot 2集成

搭建Redis Cluster集群 本文使用redis-5.0.5,redis安装在/soft/redis目录下,需新建/soft/redis/data目录。 安装ruby wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.ta...

2019-07-04 15:15:09 1004 9

原创 Redis哨兵模式sentinel与spring-boot集成

Redis的哨兵模式是官方提供的一种高可用解决方案,而且配置非常简单。 安装Redis集群 本文使用redis-5.0.5,redis安装在/soft/redis目录下,需新建/soft/redis/data目录 主节点配置 vim config/redis-6379.conf # b...

2019-07-04 15:15:00 510 0

原创 Mysql存储引擎Innodb的读写锁、行级锁

读写锁 Mysql存储引擎Innodb在处理并发读或者写的时候,通过两种类型的锁来解决并发问题,这两种锁通常称为共享锁和排他锁,也叫读锁和写锁。 读锁是共享的,即多个客户端可以同时读取同一资源。 写锁是排他的,也就是说写锁会阻塞其他的写锁和读锁。 举个例子: 客户端A读取操作不需要等待客...

2019-06-29 12:45:58 459 1

原创 mysql事物隔离级别Read Committed(读取已提交)、Repeatable Read(可重读)的区别演示

mysql有四种隔离级别 Read Uncommitted(读取未提交) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。 Read Committed(读取...

2019-06-21 10:32:58 1744 0

原创 kubernetes部署微服务spring cloud的简单例子

示例代码https://github.com/CodingSoldier/java-learn/tree/master/project/k8s-spring-cloud-csdn csdn下载地址(积分似乎无法修改)https://download.csdn.net/download/u0106...

2019-06-17 20:29:31 1354 0

原创 kubernetes就绪探针readinessProbe

docker容器启动成功,并不代表容器中的服务就能处理外部的请求。比方说java web项目启动需要一段时间。 Kubernetes提供了readiness probe来检测pod中的容器是否可以接受外部流量。 可以在java项目中提供一个接口,kubernetes发请求给此接口,当此接口返回数据...

2019-06-17 20:29:25 1535 0

原创 kubernetes持久化存储卷PersistentVolume、持久化存储卷声明PersistentVolumeClaim的使用

准备一台机器安装nfs #安装nfs-utils yum -y install nfs-utils systemctl start nfs systemctl enable nfs # 创建目录 mkdir /data/volumes -pv cd /data/volumes mkdir v{...

2019-06-07 19:06:20 835 0

原创 kubernetes的DNS解析

新建test-svc-dns目录,在test-svc-dns目录下新建两个文件busybox.yaml、myapp-pod-service.yaml busybox.yaml apiVersion: v1 kind: Pod metadata: name: busybox names...

2019-06-03 19:12:12 2539 1

原创 Kubernetes资源对象Pod、ReplicaSet、Deployment、Service之间的关系

Pod、ReplicaSet、Deployment、Service之间的关系如下图 Pod: Pod是一个或多个容器的组合,这些容器共享存储、网络和命名空间,以及如何运行的规范。Pod是Kubernetes的最小可部署单元。Pod的中文译词是豌豆荚,docker容器就像是豆子运行在豌豆荚内...

2019-06-03 17:01:21 2031 0

原创 使用docker-compose安装elasticsearch和kibana

安装docker-composesudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/lo...

2019-05-28 09:02:40 727 0

原创 docker网络bridge、host、none

docker默认有3中网络bridge、host、none bridge桥接网络 docker安装成功后,会在宿主机创建一个网桥docker0,可以将网桥docker0理解为一个虚拟的交换机 运行一个nginx容器 docker run --name web -d nginx 安装b...

2019-05-21 11:01:04 329 0

原创 安装3节点kubernetes集群

按照此教程安装dockerhttps://blog.csdn.net/u010606397/article/details/89816295 注意:docker-base必须已经安装好docker、修改了docker镜像仓库、关闭防火墙 配置一台k8s基础虚拟机模板 复制一个k8s-base...

2019-05-05 00:16:45 415 0

原创 安装docker

使用virtualbox安装好centos7后,我喜欢先安装一大堆常用的或者不常用的软件。 1、使用root用户登录,避免出现权限不够的情况 2、先安装一大堆常用的或者不常用的软件 yum -y install lshw pciutils gdisk system-storage-manag...

2019-05-04 20:43:58 74 0

原创 @ParamsValidate 三 Collection、复杂参数校验

@ParamsValidate系列教程 https://blog.csdn.net/u010606397/article/category/7689866 一、认识"request":false 有一个House.java,House中有一个属性window,window也...

2019-01-21 21:22:41 213 0

原创 @ParamsValidate 二 ValidateInterface接口、值、init.json

@ParamsValidate系列教程 https://blog.csdn.net/u010606397/article/category/7689866 一、ValidateInterface接口 在《@ParamsValidate 一 入门》教程中,我们新增了一个类ValidateInte...

2019-01-20 19:29:17 153 0

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