自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 设计模式之工厂模式

引出我们如果要想去使用一个接口,那么一定要为接口定义他的子类,既然有了子类,那就可以按照子类对象的向上转型为接口对象进行实例化的处理操作,于是问题,也就从此出现了(我们开始讨论的不是行与不行,而是好与不好)。我们先来看一张图代码实现interface IBook { public void read();}class ProgramBook implements IBook { @Override public void read() { ...

2022-05-02 14:39:30 598

原创 设计模式之适配器模式

引入在我们实际的开发中,接口需要定义很多抽象方法。按照传统的来讲,即便某些子类不需要实现接口中的某些方法,那么也不得不进行方法的覆写(这是因为java语法的要求)。我们来看一下传统的方法interface IBook { public void read(); public void create(); public void message();}class MathBook implements IBook { @Override ...

2022-05-01 22:17:46 396

原创 SpringCloud学习之Hystrix

分布式系统面临的问题复杂的分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的"扇出"。 如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。对于高流量的应用来说,单一的后端依赖可能会导致所有服...

2022-02-18 16:14:50 155 2

原创 JUC学习之路(ThreadLocalRandom)(七)

ThreadLocal 是一个多线程操作的数据存储类,它可以实现当前线程的数据保存操作,而Random类是一个随机数的操作类范例:观察一个多线程环境中的Random的使用问题 @Test public void randomTest() { Random random = new Random(); // 定义一个随机数的处理类 for (int i = 0; i < 3; i++) { new Thread(() -

2022-01-17 20:03:15 292

原创 JUC学习之路(并发计算)(六)

在原子类中,是允许直接实现数学计算的,例如:在AtomicInteger 类是可以直接进行加法计算处理的,但是如果说此时有一些操作不希望使用原子类,就是一些最原始的操作数字想要安全的实现计算,在JDK1.8 之后提供了新的原子的计算类。原子计算类分为:累加器(DoubleAccumulator、LongAccumulator)和加法器(DoubleAdder、LongAdder)两种DoubleAccumulator 范例:累加器的使用 ...

2022-01-17 19:21:13 255

原创 JUC学习之路(属性原子操作类)(五)

目录AtomicLongFieldUpdater常用方法 源码: 范例:观察原子性的属性修改器 范例:使用属性修改器在一个类之中可能会存在有若干个不同的属性,但是有可能在进行线程同步处理的时候,不是该类中所有的属性都会被进行所谓的同步操作,只有部分的属性进行同步处理操作,所以在J.U.C 提供的原子类型里面,就包含有一个属性修改器,利用属性修改器可以安全的修改属性的内容。原子开发包中属性修改器一共包含三种:At...

2022-01-16 16:55:04 188

原创 JUC学习之路(引用类型原子操作类)(四)

引用类型在程序的开发之中也是需要进行同步处理的,例如:在一个多线程的操作类中,需要引用其他类型的对象,这个时候就要进行引用的原子类操作的使用,但是对于引用类型的原子类在J.U.C.A 包里面实际上提供有三种类型:AtomicReference(引用类型原子类)、AtomicStampedReference(带有引用版本号的原子类)、AtomicMarkableReference(带有标记的原子类型)AtomicReference引用原子类这个类可以直接实现引用数据类型的存储,在进行修改的时候可以实现

2022-01-16 15:43:15 197

原创 JUC学习之路(数组原子操作类)(三)

数组就是进行一组数据的存储,当然了,考虑到各种开发之中可能面对的情况,在J.U.C 里面也提供了数组的支持,提供的支持类有AtomicIntegerArray、AtomicLongArray、AtomicReferenceArray本次以原子对象数组操作类功能进行。 在数组原子类的操作过程之中,依然可以见到系列的CAS的操作方法,都是基于乐观锁的机制来实现数据的同步处理操作。实现数组的操作 @Test public void oper...

2022-01-15 19:42:31 191

原创 JUC学习之路(基础类型原子操作类)(二)

问题引出我们模拟一个存款操作,代码如下 private static int money = 0; @Test public void plus() throws InterruptedException { int[] data = new int[] {100,200,300}; for (int i = 0; i < data.length; i++) { final int temp = i;

2022-01-14 20:55:20 150

原创 JUC学习之路(概念、TimeUnit及ThreadFactory) (一)

什么是JUC Java的并发变成(J.U.C) ,本质上来讲就属于多线程的一种更加设计结构合理的开发框架,例如:Java类集是对数据结构的一种开发框架、JavaIO是对操作系统底层支持的一种开发框架,所以JDK本身也是会提供有开发框架支持的。J.U.C 是由java.util.concurrent包名称给出的三个首字母缩写,J.U.C的提供是为了方便解决并发编程开发过程之中的性能以及稳定性的设计问题,例如:在传统的多线程开发中,一定可以想到如下的几个机制: ...

2022-01-14 17:30:39 240

原创 nginx常用命令及配置文件详解

Nginx 常用命令# 1、找到nginx的启动文件cd /usr/local/nginx/sbin# 2、启动nginx./nginx# 3、停止./nginx -s stop# 4、安全退出./nginx -s quit# 5、重新加载配置文件./nginx -s reload# 6、查看nginx进程ps aux|grep nginx配置文件详解公共配置模块## 1、Nginx 用户及组:用户组。window下不指定user no...

2022-01-13 21:48:11 2584

原创 Nginx基本介绍及下载安装

什么是Nginx?Nginx是一个高性能的HTTP和反向代理web服务器,同时提供了IMAP/POP3/SMTP服务。其特点是占用内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现良好。其安装是一个非常的简单、配置文件非常简介、Bug非常少的服务。Nginx 启动特别容易,并且可以做到7*24不间断运行,即使运行数个月也不需要重新启动,你还能不间断服务的情况下进行软件版本的升级。官方数据测试表明能够支持高达50000个并发连接数的响应。Nginx作用...

2022-01-12 21:05:32 848

原创 RabbitMQ的集群搭建及WEB界面调试

目录概念配置(本次采取一主二从的方式)① 配置第一个节点②配置第二个节点 ③配置第三个节点 ④查看三个节点的运行状态④ 将rabbit-1 作为主节点⑤ 将rabbit-2作为从节点 ⑥将rabbit-3 作为从节点⑦验证集群状态 ⑦ Web界面管理小结概念RabbitMQ产品本身是基于Er...

2022-01-10 22:13:20 1023

原创 RabbitMQ与SpringBoot整合(JavaBean方式)

目录引入依赖公共配置RabbitMQ的连接配置发布/订阅(Publish/Subscribe)模式 路由(Routing)模式主题(Topics)模式测试Service 本次的学习是基于Gradle 来进行项目管理的,话不多少,直接上干货引入依赖 只选择显示了所需要引入的包,版本自行选择// 引入SpringBoot依赖compile('org.springframework.boot:spring-boot-starter-...

2022-01-10 15:42:50 755

原创 RabbitMQ快速入门及六大模式

实现步骤 1、JDK11 2、构建一个gradle项目 3、导入RabbitMQ的相关依赖 4、启动rabbitmq-server服务 5、定义生产者 6、定义消费者 7、查看消息在rabbitmq-server服务中的过程构建Gradle项目Maven 同样引入相应的依赖implementation group: 'com.rabbitmq', name: 'am...

2022-01-07 16:57:39 1156

原创 RabbitMQ基本介绍及下载

概念Rabbit 是一个消息中间件,它可以接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ是一个快递站,一个快递员帮你传递快件。RabbitMQ与快递站的区别在于,它不处理快递而是接受,存储和转发消息!四大概念生产者产生数据,发送消息的程序是生产者! 交换机交换机是RabbitMQ非常重要的一个部件,一方面它接受来自生产者的消息,另...

2022-01-06 19:15:58 1177

原创 activiti 学习之 与SpringBoot整合(Bean方式)

SpringBoot 整合 druid、mybatis-plus、activiti 基本配置,以及测试基本小demo本次整合过程全程使用了Bean方式的配置,因为是初学者,配置可能有问题,还忘指出,感谢感谢感谢

2021-12-11 18:30:02 1152

原创 activiti学习之网关

作用 网关主要是用来控制流程的流向的排他网关 排他网关,用来在流程中实现决策。当流程执行到这个网关,所有的分支都会判断条件为true,如果为true则执行该分支 注意:排他网关只会选择为true的分支执行。如果有两个分支条件都为true,排他网关会选择id值较小的一条分支去执行 不适用网关也可以实现分支。如:在连线的condition条件上设置分支条件。 在连线设置condition条件,如果条件都不满足,流程就结...

2021-12-10 17:58:02 981 2

原创 activiti学习之流程变量

定义 流程变量在Activiti 中是一个十分重要的角色,流程运转时,需要靠流程变量,业务系统和activiti 结合时少不了流程变量,流程变量就是activiti 在管理工作流时根据管理需要而设置的变量。比如:在出差申请流程流转是如果出差天数大于三天则需要总经理审批,否者只需要认识审批,出差天数就可以设置为流程变量,在流程流转时使用。类型 如果将实体 存入到流程变量中,则实体必须实现序列化接口serializable,为了防止由于新增字段无法反序列化,需要横撑ser...

2021-12-10 12:27:45 2488

原创 activiti 学习之入门案例

学习记录,欢迎指出错误

2021-11-17 08:42:36 998

原创 Shiro入门之基本概念

核心架构图: 1.SubjectSuject即主体,外部应用与subject进行交互,subject记录额当前操作用户,将用户的概念理解当前可操作的主体,可能是一个通过浏览器请求的用户,也可能是一个运行的程序。Subject在shiro中是一个接口,接口中定义了很多认证授权相关的方法,外部程序通过subject 进行认证授权,而subject 是通过SecurityManager 安全管理器进行认证授权的! 2.SecurityMan...

2021-11-11 16:48:14 195

原创 Redis学习之哨兵模式配置文件详解

话不多说,直接上配置文件# Example sentinel.conf# 1、哨兵sentinel 实例运行的端口 默认26379port 26379# 2、 哨兵 sentinel 的工作目录dir "/usr/local/bin"# 3、哨兵sentinel监控的redis主节点 host port# master-name 可以自己对 主节点 明明# quorum 配置多少个sentinel 哨兵认为master 主节点失联,那...

2021-10-14 08:45:46 2106

原创 Redis学习之哨兵模式

哨兵模式 (自动选主库的模式) 概述: 主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工进行干预,费事费力,还会造成一段时间内的服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。Redis从2.8开始提供了Sentinel(哨兵)架构来解决这个问题。 谋朝篡位的自动版,能够后台监控主机是否障碍,如果障碍了根据投票数自动转换为主库 ...

2021-10-13 20:52:48 126

原创 Redis学习之主从复制

目录概念 主从复制 主从复制的作用以及包括环境配置 一主二仆 方式一:通过命令设置方式二 通过配置文件设置 测试主从复制概念 主从复制 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称之为主节点(master/leader),后者称为从节点(salve/follower);数据库的复制是单向的,只能...

2021-10-13 16:20:22 80

原创 Redis学习之订阅发布

概述- Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。微信、微博、关注系统- Redis的客户端可以订阅任意数量的频道- 订阅/发布消息图 消息发送者、频道、消息订阅者命令 这些命令基本上被广泛用于构建即时通信应用,比如网络聊天室和实时广播、实时提醒等等测试 订阅端# 订阅频道 message127.0.0.1:7369> SUBS...

2021-10-13 11:26:06 104

原创 Redis学习之持久化

RDB 什么是RDB? 在指定的时间间隔内,将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读入内存里。 redis会单独创建(fork)一个子线程来进行持久化,会先将数据写入一个临时的文件中,持久化的过程结束后,再用这个临时文件替换上次持久化好的文件。整个过程,主线程是不进行如何io操作的。这就确保了极高的性能。如果需要进行大规模的恢复,且对于数据恢复的完整性不是特别敏感,那么RDB比ROF更加高效,RDB...

2021-10-13 09:35:21 85

原创 Redis学习之redis.conf配置详解

启动的时候,通过配置文件来进行启动!!!!配置文件,必须了解,优化必备!!!!!!单位 配置文件的Unit单位 对大小写不敏感!!!INCLUDES包含类似于spring中的 import、includeNETWORK 网络bind 127.0.0.1 # 绑定用户访问的ip 默认本机protected-mode yes # 保护模式 默认yesport 7369 # 设置访问的端口GENERAL通用#####...

2021-10-12 16:03:01 99

原创 redis学习之springboot整合redis

一、导入依赖 <!-- 导入springboot的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.5.5</v

2021-10-12 14:37:22 178

原创 Redis学习之事务

事务 Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行!一次性、顺序性、排他性!执行一些列的命令! - Redis事务没有隔离级别的概念! - 所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行!Exec - Redis单条命令是保存原子性的,但是事务不保证原子性! Redis事务: - 开启事务() ...

2021-10-06 22:25:26 55

原创 Redis学习之三种特殊类型

三种特殊类型: Geospatial(地理位置) Hyperloglog(基数统计) Bitmap(位图场景)Geospatial 简称geo,主要用于存储地理位置信息,并对内存的信息进行操作 基本方法 geoadd:添加地理位置坐标 geopos:获取地址位置坐标 geodist:计算两个位置之间的距离 georadius:根据给定的经纬度来...

2021-10-06 21:15:51 120

原创 Redis学习之五大数据类型

五大数据类型Redis-KeyString字符串 基本操作: keys * (查看所有的key)、set(添加值)、EXISTS(判断KEY是否存在)、INCR(自增1)、DECR(自减1)、INCRBY(步增)、RANGE(截取字符串)、SETRANGE(替换字符串)、SETEX(设置key的过期时间)、SETNX(如果存在则不设置,如果不存在则设置)、MSET和MGET(批量设置,和批量获取)、GETSET(先get后set)# 获取...

2021-10-06 18:18:01 77

原创 Redis学习之基本知识

基础的知识: redis默认有16个数据库 切换数据库默认使用的是第0个数据库 可以使用select 进行切换数据库!127.0.0.1:6379> select 3OK127.0.0.1:6379[3]> DBSIZE(integer) 0127.0.0.1:6379[3]> set name nni97OK127.0.0.1:6379[3]> dbsize(integer) 112...

2021-09-30 13:08:59 98

原创 Redis学习——>概述以及安装

目录NoSQL的四大分类 1、KV键值对 2、文档型数据库(bson格式 和json一样) 3、列存储数据库 4、图关系数据库概述: Redis是什么? Redis能做什么? 特性:安装 1、下载安装包!!Redis 2、解压Redis的安装包! 3、安装、启动、测试NoSQL的四大分类 1、...

2021-09-28 18:24:23 239

原创 Docker学习之理解Docker的网络

清空自己所有的环境测试[root@VM-4-3-centos ~]# ip addr三个网络:# 问题: docker 是如何处理容器网络访问的?# 1. 启动容器[root@VM-4-3-centos ~]# docker run -d -P --name tomcat01 tomcat:9.0# 2. 通过docker inspect 容器id 来查看容器所占用的ip[root@VM-4-3-centos ~]# docker inspect...

2021-09-22 20:17:21 123

原创 Docker学习 之 发布自己的镜像

1、地址Docker Hub创建自己的账号!2、确定自己的账号可以进行登录3、我们在服务器上DockerHub的账号[root@VM-4-3-centos /]# docker login --helpOptions: -p, --password string Password --password-stdin Take the password from stdin -u, --username string Username4、登录完毕后就可..

2021-09-22 09:01:14 151

原创 Docker学习之DockerFile

初识DockerFile dockerfile 就是用来构建docker镜像的构件文件!脚本命令,先体验一下!!! 通过这个脚本可以生成镜像,镜像是一层一层的,脚本是一个命令一个命令,每一个命令就是一层# 创建一个dockerfile文件,名字可以随机,建议dockerfile# 文件中的内容FROM centosVOLUME ["volume01","volume02"]CMD echo "-----end------"CMD /bin/bash...

2021-09-17 19:13:49 147

原创 Docker学习 之 容器数据卷

方式一:直接使用命令来挂载 -vdocker run -it -v 宿主机目录:容器内目录[root@VM-4-3-centos ~]# docker run -it -v /home/ceshi:/home centos /bin/bash通过docker inspect 容器ID 可以查看挂载的详情测试文件同步:再来测试!1、停止容器,修改宿主机的文件...

2021-09-17 15:04:02 95

原创 Docker学习之安装linux,tomcat、

Nginx:1、搜索镜像 search 建议大家去docker搜索,可以看到帮助文档2、下载镜像 pull[root@VM-4-3-centos ~]# docker search nginx # 第一步:查询nginx[root@VM-4-3-centos ~]# docker pull nginx # 第二部:下载nginx3、运行nginx[root@VM-4-3-centos ~]# docker ...

2021-09-15 22:00:40 67

原创 Docker学习之基本命令

一款产品:开发---上线 两套环境,应用位置! 开发 ---- 运维 。 问题:我在我的电脑

2021-09-15 19:39:01 293

原创 Docker学习之安装以及工作原理

Docker的架构图:环境准备:1、我们需要一点点linux的基础2、CentOS73、我这里使用的是finashell来进行远程连接环境查看:# 系统内核为3.10以上的[root@VM-4-3-centos /]# uname -r#系统的版本[root@VM-4-3-centos /]# cat /etc/os-release 安装:(基于docker的官方文档进行安装)1、卸载旧的版本[root@VM-4-3-centos /]# ...

2021-09-15 10:07:40 121

空空如也

空空如也

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

TA关注的人

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