自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sirius/天狼星

每个人心中都有一团火,而路过的人只看到了烟。

原创 全站导航 | 文章汇总
原力计划

SpringBoot 极速通关 1、SpringBoot 2.x | Spring Boot Admin 微服务监控 2、SpringBoot 2.0 | SpringBoot 集成 Elasticsearch 3、SpringBoot 2.0 | SpringBoot 集成 Apollo 4、S...

2020-04-25 17:13:50 101 0

原创 史上最全的 Java 技术体系思维导图,没有之一!

MindManager 思维导图 Docker 1、Docker 简介 2、Docker 镜像 3、Docker 容器 4、Docker 仓库 5、Docker 数据 6、Docker 网络 7、Docker 部署 8、Dockerfile 9、Docker Compose Spring 应用 S...

2019-07-20 01:01:43 13921 12

原创 SpringBoot 博客系统

1.项目介绍 该项目为一个博客系统 , 目前由笔者独自开发和完善 , 后续将会添加其他功能 , 后端技术采用的是springboot2.0 技术栈 , 将会加入 springcloud 技术栈 , 打造一个微服务系统。前端技术使用了最基础的 css , js , JQ 等 , 可能暂时存在...

2018-11-23 10:56:44 467 0

原创 高性能 Nginx | 虚拟主机&反向代理

一、虚拟主机配置 1、新建文件夹 data/www data/blog 把 index.html 复制到文件夹下,修改内容 2、域名不同,根据域名跳转到不同目录 在 http 标签下添加配置 server { listen 80; server_...

2020-04-29 02:55:23 45 0

原创 精通 Spring 源码 | Spring 中的各种 Aware
原力计划

一、简介 Spring 提供了一种接口 —— Aware,这也是 Spring 中的扩展点,Aware 字面意思是感知到的,它能感知到什么呢?他的实现有 BeanFactoryAware,BeanNameAware,ApplicationContextAware, ImportAware 等等。这...

2020-04-28 02:09:44 142 0

原创 创建多线程的 5 种方式
原力计划

一、简介 使用多线程可以提高程序执行的效率,比如我们常见的多线程下载,批量发送文件等功能,常见的实现多线程的方法如下。 二、实现多线程的 5 种方法 1、实现 Runnable 接口 public class MyRunnable implements Runnable { private...

2020-04-27 00:31:21 40 0

原创 创建定时任务的 5 种方式
原力计划

一、简介 定时任务的解释为周期性地执行特定的任务,比如我们所熟悉的闹钟,传统单机形式的常用解决方案有多线程、TimeTask、线程池、SpringBoot 注解、Quartz 等方案,下面我们先来事件一下这几种方案,在分布式集群条件下的解决方案,我们将在后续的文章中进行讲解。, 二、示例 1、多...

2020-04-25 01:00:53 93 0

原创 SpringBoot 2.x | Spring Boot Admin 微服务监控
原力计划

一、简介 SpringBootAdmin 是一个开源项目,用来监控 SpringBoot 应用,SpringBootAdmin 客户端可以整合 SpringCloud ,通过集成 Eureka 进行微服务的监控。本教程基于最新版本 2.2.0, 提供了汉化等功能。 二、示例 1、创建工程项目 父...

2020-04-23 22:37:36 179 2

原创 精通 Spring 源码 | BeanFactory & FactoryBean
原力计划

一、简介 BeanFactory 和 FactoryBean 有什么区别?这也是很多公司的面试题,他们到底有什么区别,我们即将去探讨。 二、分析 1、BeanFactory BeanFactory 是 Spring 中提供的一个工厂,能够产生对象,我们可以使用 getBean() 得到对象。 @C...

2020-04-17 17:16:58 58 0

原创 精通 Spring 源码 | ImportSelector

一、简介 ImportSelector 是Spring的扩展点之一,这个扩展点有什么用呢,如果说在 SpringBoot 中,我们熟悉的 @EnableXXX 就是通过这个扩展点来实现的,下面我们来进行分析和实现。 下面是他的源码,在 Spring 中是一个接口,具体有什么用呢 public in...

2020-04-16 18:12:28 55 0

原创 面试必问的设计模式 | 装饰者模式

一、简介 装饰者模式(Decorator Pattern)是一种结构型模式,原理是创建了一个装饰类,用来包装原有的类,并在保持类方法完整性的前提下,提供了额外的功能。 二、示例 基于装饰者模式实现一级,二级缓存,首先创建缓存接口,声明方法 public interface ICache { ...

2020-04-14 21:18:22 105 0

原创 精通 Spring 源码 | InstantiationAwareBeanPostProcessor(1)

一、简介 InstantiationAwareBeanPostProcessor 是 Spring 的一个扩展点,他是 BeanPostProcessor 的子类,扩展了 BeanPostProcessor ,而外提供了 3 个方法: 1、Object postProcessBeforeInsta...

2020-04-14 18:45:49 28 0

原创 精通 Spring 源码 | InstantiationAwareBeanPostProcessor(2)

一、简介 InstantiationAwareBeanPostProcessor 是 Spring 的一个扩展点,他是 BeanPostProcessor 的子类,扩展了 BeanPostProcessor ,而外提供了 3 个方法: 1、Object postProcessBeforeInsta...

2020-04-13 20:27:56 25 0

原创 精通Spring源码 | BeanFactoryPostProcessor

BeanFactoryPostProcessor 是 Spring 中 Bean 工厂的后置处理器,她在 Spring 加载了 Bean 的定义文件后,在 Bean 实例化之前执行。所以,当我们实现了这个接口,就可以修改整个 Bean 工厂的 Bean 的一些属性,比如,修改 Bean 的作用域,...

2020-03-30 17:28:11 46 0

原创 Spring Cloud Alibaba 极速通关 | Sentinel 整合 Gateway 实现网关限流

一、简介 Sentinel 支持对 Spring Cloud Gateway、Zuul 等主流的 API Gateway 进行限流。本篇将会讲解如何在 gateway 网关层配置 sentinel 限流。 二、示例 1、添加核心依赖 <dependency> <gro...

2020-03-22 01:46:24 249 0

原创 Redis | Redis 哨兵模式
原力计划

一、简介 针对 Redis 主从复制所产生的主节点宕机导致整个服务无法操作,需要人工手动修改配置文件选择主节点问题,Redis 哨兵模式则是一种改进方式。 我们可以运行多个哨兵,每个哨兵会向其他哨兵,节点定时发送消息,确认对方是否活着,而且哨兵的作用如下: 1、管理 Redis 服务器,检查 Ma...

2020-03-20 21:54:20 68 0

原创 面试必问的设计模式 | 观察者模式
原力计划

一、简介 观察者模式(Observer Pattern) 是一种 行为型 模式,观察者模式定义了对象之间一对多依赖,让多个观察者对象同时监听主体对象,当主体对象发生变化,所有观察都会收到通知并更新,也叫发布订阅模式。 二、实例 下面我们使用观察者模式,模拟一个用户下单,就可以收到短信和邮件通知的功...

2020-03-18 22:40:09 218 1

原创 面试必问的设计模式 | 代理模式
原力计划

一、简介 代理模式 (Proxy Pattern) 是一种结构型模式 模式,一个类能代理另一个类做一些事情,相当于一个中介 。代理模式分为两种,一种是静态代理,一种是动态代理,他们的区别在于静态代理是程序在运行前就已经存在代理类的字节码文件,代理类和原始类在运行前就已经确定。 动态代理 是在程序运...

2020-03-17 23:28:38 72 0

原创 Redis | Redis 主从复制

一、简介 Redis 主从复制可以实现一主一从,或者一主多从,主 (master) 节点写数据,从 (slave) 节点读数据,相比于单击版本,可以整体提高性能,而且还能做数据备份。 二、环境搭建 1、安装 我们需要准备好两台服务器,然后分别安装好 Redis Redis 安装 2、启动主服务器 ...

2020-03-17 19:33:32 51 0

原创 面试必问的设计模式 | 模板方法模式
原力计划

一、简介 模板方法模式 (Template Pattern) 是一种 行为型模式,基本思路是抽象类定义算法基本骨架,相同行为定义在抽象方法中,不同行为实现部分交给子类完成。 二、示例 这里我们使用模板方法模式模拟一个支付功能,进行支付宝和微信支付,我们先定义一个支付功能的抽象类,这里提供了 4 个...

2020-03-16 22:40:58 71 0

原创 Spring Cloud Alibaba 极速通关 | Sentinel 整合 Apollo 实现配置持久化
原力计划

一、简介 默认情况下,我们在控制台配置的规则并不会持久化,当项目重新启动之后,配置就会删除,这里我们整合 apollo + sentinel 进行配置持久化。 二、实例 1、添加核心依赖 <dependency> <groupId>org.springframe...

2020-03-16 18:34:32 77 0

原创 Spring-Cloud-Finchley | 路由网关 GateWay

一、简介 Spring Cloud Gateway 是 Spring Cloud 官方的亲儿子,用来代替 Zuul 网关, 两者的区别在于 Zuul 是基于servlet,使用阻塞 API,不支持任何长的连接,如 websocket,Gateway 建立在 Spring 5 ,Spring Bo...

2020-03-16 16:45:41 49 0

原创 面试必问的设计模式 | 状态模式
原力计划

一、简介 状态模式 (State Pattern) 中,类的行为是基于它的状态改变的。属于 行为型模式。 在状态模式中,需要创建 表示各种状态的对象 以及他们的 共同抽象接口 和一个行为随着状态对象改变而改变的 context 对象。 二、实例 我们以下面一段代码使用状态模式进行重构,这是一个多重...

2020-03-16 00:48:54 67 0

原创 面试必问的设计模式 | 外观模式

一、简介 外观模式 (Facade Pattern) 也称作 门面模式,包装模式,是一种 结构型 模式,其特点是把复杂流程通过接口封装起来,使用起来更加简单,降低系统复杂度。 二、实例 比如我们一个购物操作,需要下单,减库存,支付,记录日志,等等一系列复杂的操作还有判断,如果我们都写在一个方法里面...

2020-03-15 22:33:06 49 0

原创 Spring Cloud Alibaba 极速通关 | 分布式系统的流量防卫兵 Sentinel
原力计划

一、简介 Sentinel 是 Alibaba 的一个开源框架,是 Spring Cloud Alibaba 的一个子项目,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性,和 Hystrix 的功能类似,但他和 Hystrix 的区别如下 以上图片来自网络 二、环境搭建 1、添加核...

2020-03-15 19:46:00 59 0

原创 分布式的冰与火 | 分布式事务解决方案 LCN
原力计划

一、简介 在分布式中,如下有 order 和 stock 是两个系统,调用方服务(order)调用完被调用方服务(stock)的接口后,发生异常,调用方(order)的事务回滚了,但是被调用(stock)方的事务没有回滚,这就是分布式事务问题,例如下图: CPA 和 Base 理论是解决分布式事...

2020-03-15 01:46:22 533 1

原创 分布式的冰与火 | 分布式日志收集 ELK 搭建
原力计划

一、简介 分布式日志收集 ELK 为 Elasticsearch + Logstash + kibana,Elasticsearch负责存储日志。Logstash 负责日志收集,把本地文件搬到ES里面,一个接受,处理,转发日志的工具。kibana 是开源的分析和可视化平台,和ES一起工作,实现ES...

2020-03-13 15:32:57 66 0

原创 SpringBoot 2.0 | SpringBoot 集成 Elasticsearch

一、添加依赖 创建 SpringBoot 项目后,添加以下 Maven 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...

2020-03-12 23:23:02 36 0

原创 Elasticsearch | Kibana 安装与使用

一、简介 kibana 是开源的分析和可视化平台,和ES一起工作,实现ES可视化,用来搜索,查看,并和存储在ES中的数据进行交互。 二、安装 kibana 1、下载 kibana https://mirrors.huaweicloud.com/kibana/6.4.3/ 2、安装 tar -z...

2020-03-12 21:23:48 100 0

原创 Elasticsearch | 安装(Linux 环境)
原力计划

一、简介 ES 是基于Lucence构建的开源、分布式、RESTful接口的全文搜索引擎,可以在短时间内存储和分析大量数据,分布式文档数据库,每个字段都是索引可以被搜索,是面向文档型数据库,一条数据就是一个文档。其存储结构和关系数据库的区别为: 关系数据库 :数据库->表->行-&g...

2020-03-12 21:14:41 119 0

原创 Redis | 事务机制

一、简介 Redis 提供了事务的机制,由以下命令可以实现 Redis 事务: multi 开启事务 exec 提交事务 watch 监听一个key,在提交事务之前是否发生变化,发生变化就不会提交事务,没有变化才提交 discard 取消提交事务 和 MySQL 的区别在于,当有两个客户端...

2020-03-09 22:15:34 41 0

原创 《反本能》读后感(一) | 是什么阻止了我们成功

为什么我们很难让自己改变,为什么我们喜欢玩手机,为什么我们不喜欢学习,为什么我们喜欢拖延,是什么阻碍了我们的发展,《反本能》一书则向我们解释了这一系列的问题的根源。以及给我们分析了这一系列问题的原因,让我们知道该采取怎样的策略,才能对抗我们与生俱来的本能。 是什么阻止我们走向卓越,书中提到三点,1...

2020-03-09 00:57:04 118 0

原创 Redis | 分布式锁的实现

一、简介 Redis 实现分布式锁,思路是使用 setnx 命令在 Redis 上创建相同的 Key,因为 Key 值不允许重复,哪个客户端能够创建成功,就能获取到锁,否则,就会进行等待,当释放锁后,就会通知客户端去争夺锁资源。 和 set 命令不同,set 如果设置相同的键,就会覆盖原来的值,返...

2020-03-08 22:01:08 30 0

原创 Zookeeper | 分布式锁的实现

一、简介 ZK 实现分布式锁的原理是使用临时节点+事件通知的方式实现,实现思路如下: 1、多个客户端在 ZK 上创建临时节点。 2、因为临时节点的路径是唯一的,所以只能有一个创建成功,哪个客户端能创建成功就能获得锁。 3、当一个客户端创建节点后,其他客户端只能等待。 4、当一个客户端执行完逻辑后,...

2020-03-08 17:22:26 65 0

原创 Zookeeper | 实现服务注册与发现

一、简介 Zookeeper 可作为注册中心,实现服务注册与发现,当服务启动后,就会注册到 Zookeeper,然后保存该服务的地址以以及一些基本的信息,其他服务可从注册中心获取到该服务的地址,进行 RPC 远程调用,和 Eureka 作为注册中心同理,Eureka 和 Zookeeper 的区别...

2020-03-07 22:41:18 154 0

原创 Zookeeper | 环境搭建

一、简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,他的应用场景有:服务注册与发现,分布式锁,分布式队列,数据发布订阅,配置管理,负载均衡。 二、L...

2020-03-07 16:42:28 89 0

原创 MySQL | MySQL 主从复制
原力计划

一、简介 MySQL 主从复制是 MySQL 自带的一个功能,他是借助 bin-log日志文件里面的 SQL 命令实现主从复制,我们在 Master 端执行了一条命令,在 Salve 端 也会执行一遍,从而达到主从复制的效果,通过主从复制可以实现数据备份, 故障转移,MySQL集群,高可用,读写分...

2020-03-06 18:16:09 101 0

原创 计算机专业Java毕设怎么做

首先如何做毕设,首先需要分情况,一种情况是你的技术很好,怎么总取决于你自己的爱好,还有一种是你技术一般,甚至不知道如何入手。 如果你的技术相对好的话,你有两种选择,第一,你可以选择做你擅长的,第二,你可以选择自己没有做过的,没有尝试过的题目,这都各有各的好处。 如果你选择自己擅长的技术,在这一段时...

2020-03-06 00:34:44 1550 0

原创 Redis | 持久化机制

一、简介 在指定的时间间隔内,将内存中的数据集快照写入磁盘,恢复时是将快照文件写入内存。持久化的类型有 3 中,分别是 RDB 持久化(默认),AOF 持久化,还有就是两种混合持久化。 二、原理 1、RDB 在默认的 RDB 模式中,Redis 会单独 fork 一个与当前进程一模一样的子进程来进...

2020-03-05 20:55:11 100 0

原创 SpringBoot 2.0 | SpringBoot 集成 Apollo

一、创建项目 首先我们在安装好的 Apollo 配置中心门户网站创建一个项目,然后添加配置,最后进行发布配置,效果如下。 二、 SpringBoot 对接 Apollo 1、添加 maven 依赖 <dependency> <groupId>com.ctrip....

2020-03-03 23:30:22 59 0

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