自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

个人博客

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

  • 博客(31)
  • 资源 (14)
  • 收藏
  • 关注

原创 精通Spring源码 | BeanFactoryPostProcessor

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

2020-03-30 17:28:11 242

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

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

2020-03-22 01:46:24 1228

原创 Redis | Redis 哨兵模式

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

2020-03-20 21:54:20 345

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

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

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

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

一、简介代理模式 (Proxy Pattern) 是一种结构型模式 模式,一个类能代理另一个类做一些事情,相当于一个中介 。代理模式分为两种,一种是静态代理,一种是动态代理,他们的区别在于静态代理是程序在运行前就已经存在代理类的字节码文件,代理类和原始类在运行前就已经确定。 动态代理 是在程序运行期间,通过JVM反射机制或者操作字节码方式动态生成代理类。代理类和委托类的关系是运行时在确定的。下...

2020-03-17 23:28:38 442

原创 Redis | Redis 主从复制

一、简介Redis 主从复制可以实现一主一从,或者一主多从,主 (master) 节点写数据,从 (slave) 节点读数据,相比于单击版本,可以整体提高性能,而且还能做数据备份。二、环境搭建1、安装我们需要准备好两台服务器,然后分别安装好 RedisRedis 安装2、启动主服务器可自行修改配置,如连接端口 bind 0.0.0.0取消保护模式 protected-mode n...

2020-03-17 19:33:32 196

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

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

2020-03-16 22:40:58 430

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

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

2020-03-16 18:34:32 509

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

一、简介Spring Cloud Gateway 是 Spring Cloud 官方的亲儿子,用来代替 Zuul 网关,两者的区别在于 Zuul 是基于servlet,使用阻塞 API,不支持任何长的连接,如 websocket,Gateway 建立在 Spring 5 ,Spring Boot 2 之上上,使用非阻塞 API。支持Websockets,因为它与 Spring 无缝集成,可以...

2020-03-16 16:45:41 308

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

一、简介状态模式 (State Pattern) 中,类的行为是基于它的状态改变的。属于 行为型模式。在状态模式中,需要创建 表示各种状态的对象 以及他们的 共同抽象接口 和一个行为随着状态对象改变而改变的 context 对象。二、实例我们以下面一段代码使用状态模式进行重构,这是一个多重 IF 判断,当然在实际项目中,具体流程会更复杂,如果使用 if,将会产生大量的代码。public ...

2020-03-16 00:48:54 365

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

一、简介外观模式 (Facade Pattern) 也称作 门面模式,包装模式,是一种 结构型 模式,其特点是把复杂流程通过接口封装起来,使用起来更加简单,降低系统复杂度。二、实例比如我们一个购物操作,需要下单,减库存,支付,记录日志,等等一系列复杂的操作还有判断,如果我们都写在一个方法里面,这样,一个方法几十上百行代码,会造成代码难以阅读维护,类似于这样所以,我们可以通过外观模式,优化...

2020-03-15 22:33:06 287

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

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

2020-03-15 19:46:00 324

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

一、简介在分布式中,如下有 order 和 stock 是两个系统,调用方服务(order)调用完被调用方服务(stock)的接口后,发生异常,调用方(order)的事务回滚了,但是被调用(stock)方的事务没有回滚,这就是分布式事务问题,例如下图:CPA 和 Base 理论是解决分布式事务的基本理论CPA一致性(C)在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所...

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

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

一、简介分布式日志收集 ELK 为 Elasticsearch + Logstash + kibana,Elasticsearch负责存储日志。Logstash 负责日志收集,把本地文件搬到ES里面,一个接受,处理,转发日志的工具。kibana 是开源的分析和可视化平台,和ES一起工作,实现ES可视化,用来搜索,查看,并和存储在ES中的数据进行交互。二、ELK 安装1、Elasticsear...

2020-03-13 15:32:57 267

原创 SpringBoot 2.0 | SpringBoot 集成 Elasticsearch

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

2020-03-12 23:23:02 336

原创 Elasticsearch | Kibana 安装与使用

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

2020-03-12 21:23:48 383

原创 Elasticsearch | 安装(Linux 环境)

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

2020-03-12 21:14:41 330

原创 Redis | 事务机制

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

2020-03-09 22:15:34 266

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

为什么我们很难让自己改变,为什么我们喜欢玩手机,为什么我们不喜欢学习,为什么我们喜欢拖延,是什么阻碍了我们的发展,《反本能》一书则向我们解释了这一系列的问题的根源。以及给我们分析了这一系列问题的原因,让我们知道该采取怎样的策略,才能对抗我们与生俱来的本能。是什么阻止我们走向卓越,书中提到三点,1、认知模式。2、急功近利。3、停在舒适区。认知模式,我记得小时候,每当我们犯了什么错的时候,大人们总...

2020-03-09 00:57:04 1196

原创 Redis | 分布式锁的实现

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

2020-03-08 22:01:08 183

原创 Zookeeper | 分布式锁的实现

一、简介ZK 实现分布式锁的原理是使用临时节点+事件通知的方式实现,实现思路如下:1、多个客户端在 ZK 上创建临时节点。2、因为临时节点的路径是唯一的,所以只能有一个创建成功,哪个客户端能创建成功就能获得锁。3、当一个客户端创建节点后,其他客户端只能等待。4、当一个客户端执行完逻辑后,删除节点。5、其他客户端监听到节点被删除,则去争夺资源创建节点。二、实现这里基于 curator...

2020-03-08 17:22:26 220

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

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

2020-03-07 22:41:18 517

原创 Zookeeper | 环境搭建

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

2020-03-07 16:42:28 295

原创 MySQL | MySQL 主从复制

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

2020-03-06 18:16:09 254

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

首先如何做毕设,首先需要分情况,一种情况是你的技术很好,怎么总取决于你自己的爱好,还有一种是你技术一般,甚至不知道如何入手。如果你的技术相对好的话,你有两种选择,第一,你可以选择做你擅长的,第二,你可以选择自己没有做过的,没有尝试过的题目,这都各有各的好处。如果你选择自己擅长的技术,在这一段时间,你应该考虑的问题应该是:1、如何做的更细,更好,而不只是简单的做做CRUD,代码还能不能优化,代...

2020-03-06 00:34:44 6992

原创 Redis | 持久化机制

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

2020-03-05 20:55:11 231

原创 SpringBoot 2.0 | SpringBoot 集成 Apollo

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

2020-03-03 23:30:22 339

原创 延迟满足 —— 达到目标需要忍住重重诱惑

20世纪60年代,美国斯坦福大学心理学教授沃尔特·米歇尔做了一个著名的“延迟满足”实验,这个实验所在美国斯坦福大学附近的一间幼儿园粒粒面进行的。实验过程大致如下:研究人员找来数十名儿童,把他们都单独安排在一间只有一张桌子和一把椅子的小房间里面,然后再桌子上放着他们喜欢吃的棉花糖,曲奇和各种小零食。然后告诉他们,如果等 20 分钟后再吃,还能得到更多的奖励,如果现在就吃了,将没有任何奖励。当研究...

2020-03-02 21:11:50 624

原创 Redis | Redis 单机版安装与使用(Linux)

一、简介是完全开源免费的,用c语言编写的,是一个单线程,高性能的(key/value)内存数据库,基于内存运行并支持持久化的 nosql 数据库。主要是用来做缓存,但不仅仅只能做缓存,比如:redis的计数器生成分布式唯一主键,redis 实现分布式锁,队列,会话缓存,点赞,统计网站访问量。二、安装1、下载https://redis.io/download2、解压下载完成后,传到 Li...

2020-03-02 13:40:00 222

原创 分布式的冰与火 | 分布式配置中心 Apollo (CentOS安装)

一、Docker 快速安装1、安装 DockerDocker 安装与入门2、安装 Docker-ComposeDocker-Compose 安装与入门3、下载配置文件https://github.com/ctripcorp/apollo/tree/master/scripts/docker-quick-start4、启动 Docker-Compose在 docker-quick-s...

2020-03-01 22:38:33 477

原创 写作的好处

一、我们为什么需要写作写作是一个重要的技能,无论何总职业,无论身在何处,好的文笔,不仅能给我们带来更多的机会,还能让我们更易于得到他人的信服,从而让我们能够接近自己的目标。所以,这是一个人人都有必要掌握的技能。在互联网的时代,我们如果想提高自己的影响力,通过的途径除了是演讲,还有就是写作,写作是一项低门槛的,绝大多数人都能够学习的技能。二、写作的好处1、锻炼思考和表达能力写作能够锻炼我们的...

2020-03-01 02:55:43 1372

项目开发文档规范.zip

项目开发文档的规范,包含两份文件,一份是基本项目开发文档规范,上百个文件,精确到每一个阶段,每一个文件都包含了具体任务;另一份是java项目开发文档,比较专业和简洁。

2019-07-13

ASP.NET实现增删改查

快速入门ASP.NET,并实现一个简单的CRUD,环境基于VS 2017。

2019-06-16

成组链接法Java版

成组链接法 java 版本,对应文章:https://mp.csdn.net/postedit/80822999

2018-12-19

计算机网络自顶向下方法原书第六版课后练习题答案pdf+课后编程题答案

计算机网络自顶向下方法原书第六版课后练习题答案pdf+课后编程题答案。

2018-12-05

JavaWeb增删改查

JavaWeb 基础增删改查,一个 Servlet ,使用反射技术,实现多个表单事件处理。

2018-11-29

prop-types.js(15.6.1)

Props 验证使用 propTypes,它可以保证我们的应用组件被正确使用,React.PropTypes 提供很多验证器 (validator) 来验证传入数据是否有效。当向 props 传入无效数据时,JavaScript 控制台会抛出警告。

2018-09-06

react,babel,react-dom三个包整合

react,babel,react-dom三个包的整合,实现react环境的搭建

2018-09-05

PowerDesigner16.6破解

PowerDesigner16.6(x32,x64)破解文件pdflm16.dll和原文件pdflm16.dll,亲测,完美破解,注意版本是16.6的。

2018-07-20

成组链接法java模拟实现

操作系统文件管理成组链接法的java代码模拟实现,详细解析

2018-06-25

Android悬浮拖动无视父类组件按钮

Android悬浮拖动,无视父类组件的按钮,绝对比其他地方下载的更加精致。

2018-05-31

SSM框架精致注册登录

IDEA开发环境,maven搭建的SSM框架的精致漂亮的登录注册界面,若静态资源无法加载,请参考博主文章https://blog.csdn.net/sirius_hly/article/details/80417320

2018-05-31

访慕课网实战页面精致前端代码

访慕课网前端实战界面,相似度95%以上,还增添了动态图片效果,献给所有初学者,值得下载。创作不易,请支持。

2018-05-30

类似淘宝电商平台详细用例图

类似淘宝电商平台详细用例图,包括总模块,各类细分模块共10页ppt,需求获取详细分析

2018-05-09

空空如也

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

TA关注的人

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