自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

个人博客

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

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

原创 全站导航 | 文章汇总

SpringBoot 极速通关1、SpringBoot 2.x | Spring Boot Admin 微服务监控2、SpringBoot 2.0 | SpringBoot 集成 Elasticsearch3、SpringBoot 2.0 | SpringBoot 集成 Apollo4、SpringBoot 2.0 | SpringBoot 集成 RabbitMQ5、SpringBoot...

2020-04-25 17:13:50 1120

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

MindManager思维导图Docker1、Docker 简介2、Docker 镜像3、Docker 容器4、Docker 仓库5、Docker 数据6、Docker 网络7、Docker 部署8、Dockerfile9、Docker ComposeSpring 应用Spring 源码1、BeanFactory & FactoryBeanJavaJVMJ...

2019-07-20 01:01:43 25032 31

原创 SpringBoot 博客系统

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

2018-11-23 10:56:44 1147

原创 Docker $ 界面管理 :Docker Web

一、简介docker 图形页面管理工具常用的有三种,DockerUI ,Portainer ,Shipyard 。DockerUI 是 Portainer 的前身,这三个工具通过 docker api 来获取管理的资源信息。平时我们常常对着 shell 对着这些命令行客户端,审美会很疲劳,如果有漂亮的图形化界面可以直观查看docker 资源信息,也是非常方便的。今天我们就搭建单机版的三种常用图形页面管理工具。这三种图形化管理工具以 Portainer 最为受欢迎。二、Docker UI1、查看 doc

2020-06-08 18:32:22 907

原创 SpringBoot 2.x | SpringBoot 整合 RocketMQ

1、maven 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.apache.rocketmq</groupId> &l

2020-06-08 15:33:09 559

原创 消息队列 RocketMQ | Docker 快速安装 RocketMQ

一、 创建 docker-compose.ymlversion: '3.5'services: rmqnamesrv: image: foxiswho/rocketmq:server container_name: rmqnamesrv ports: - 9876:9876 volumes: - ./data/logs:/opt/logs - ./data/store:/opt/store networks:

2020-06-08 15:30:21 473

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

一、简介Spring 提供了一种接口 —— Aware,这也是 Spring 中的扩展点,Aware 字面意思是感知到的,它能感知到什么呢?他的实现有 BeanFactoryAware,BeanNameAware,ApplicationContextAware, ImportAware 等等。这些接口能让我们动态地获取 Bean 的名字,工厂,还有这个容器的上下文,也就是他所能感知到的。最原始的...

2020-04-28 02:09:44 501

原创 创建多线程的 5 种方式

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

2020-04-27 00:31:21 401 1

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

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

2020-04-25 01:00:53 805

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

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

2020-04-23 22:37:36 887 4

原创 精通 Spring 源码 | BeanFactory & FactoryBean

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

2020-04-17 17:16:58 267

原创 精通 Spring 源码 | ImportSelector

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

2020-04-16 18:12:28 268

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

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

2020-04-14 21:18:22 500 1

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

一、简介InstantiationAwareBeanPostProcessor 是 Spring 的一个扩展点,他是 BeanPostProcessor 的子类,扩展了 BeanPostProcessor ,而外提供了 3 个方法:1、Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName)...

2020-04-14 18:45:49 229

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

一、简介InstantiationAwareBeanPostProcessor 是 Spring 的一个扩展点,他是 BeanPostProcessor 的子类,扩展了 BeanPostProcessor ,而外提供了 3 个方法:1、Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName)...

2020-04-13 20:27:56 233

原创 精通Spring源码 | BeanFactoryPostProcessor

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

2020-03-30 17:28:11 213

原创 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 1195

原创 Redis | Redis 哨兵模式

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

2020-03-20 21:54:20 318

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

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

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

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

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

2020-03-17 23:28:38 365

原创 Redis | Redis 主从复制

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

2020-03-17 19:33:32 181

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

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

2020-03-16 22:40:58 398

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

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

2020-03-16 18:34:32 471

原创 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 269

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

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

2020-03-16 00:48:54 338

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

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

2020-03-15 22:33:06 245

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

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

2020-03-15 19:46:00 301

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

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

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

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

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

2020-03-13 15:32:57 245

原创 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 279

原创 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 359

原创 Elasticsearch | 安装(Linux 环境)

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

2020-03-12 21:14:41 301

原创 Redis | 事务机制

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

2020-03-09 22:15:34 238

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

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

2020-03-09 00:57:04 1117

原创 Redis | 分布式锁的实现

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

2020-03-08 22:01:08 163

原创 Zookeeper | 分布式锁的实现

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

2020-03-08 17:22:26 201

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

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

2020-03-07 22:41:18 477

原创 Zookeeper | 环境搭建

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

2020-03-07 16:42:28 274

原创 MySQL | MySQL 主从复制

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

2020-03-06 18:16:09 237

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

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

2020-03-06 00:34:44 6833

项目开发文档规范.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关注的人

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