自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux系统安装Mysql

本人在Ubuntu20.4下安装测试过,没有问题,遇到的问题,也都可以解决,安装的方式在Linux下都是通用的

2022-10-13 09:10:12 1355 3

原创 CentOS7下Docker Compose安装

Docker ComposeCompose 是一个用于定义和运行多容器 Docker 应用程序的工具。在compose,你可以使用yaml文件去配置你的应用服务,然后,通过单一的命令,你可以从你的配置中创建和开启你的服务。使用compose有三个步骤:使用 Dockerfile 定义应用程序的环境,以便可以在任何地方复制它在 docker-compose.yml 中定义构成应用程序的服务,以便它们可以在隔离环境中一起运行运行 docker compose up,Docker compose 命

2022-03-30 15:11:45 1667

原创 CentOS7下Docker安装与卸载

1、卸载旧版本sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \

2022-03-30 15:10:15 3580

原创 RabbitMQ学习==》RPC远程服务调用

文章目录RPC(远程服务调用)1、回调队列Message properties2、相关Id3、示例Server:Client:RPC(远程服务调用)​ 如果我们需要在远程计算机上运行一个函数并等待结果。这种模式通常称为远程过程调用或RPC。1、回调队列​ 一般来说,通过 RabbitMQ 进行 RPC 很容易。客户端发送请求消息,服务器回复响应消息。为了接收响应,我们需要在请求中发送一个“回调”队列地址。// 创建一个临时队列callbackQueueName = channel.queueDe

2022-03-21 18:06:44 1233

原创 RabbitMQ学习==》Topic交换器

文章目录Topic交换器1、示例交换器:交换器topic详情:临时消息队列:发送消息:接收消息:Topic交换器​ 发送到topic交换器的消息不能有任意的routing_key,它必须是单词列表,由点分隔。​ 示例: “stock.usd.nyse”、“nyse.vmw”、“quick.orange.rabbit”​ 路由键中可以由任意多的单词,最多为255个字节​ topic交换器背后的逻辑类似direct交换器——使用特定路由键发送的消息将被传递到与匹配绑定键绑定的所有队列。但是,绑定键有两

2022-03-21 18:02:30 1975

原创 RabbitMQ学习==》路由绑定

文章目录工作路由1、绑定2、直接交换单个绑定:多个绑定:3、示例发送消息:接收消息:工作路由1、绑定​ 绑定是交换和队列之间的关系,绑定可以采用额外的routingKey参数channel.queueBind(queueName, EXCHANGE_NAME, "black" );绑定键的含义取决于交换类型2、直接交换单个绑定:​ 直接交换背后的路由算法很简单——消息进入 绑定键与消息的 路由键完全匹配的队列在这个设置中,我们可以看到绑定了两个队列的直接交换X。第一个队列使用绑定键

2022-03-21 17:56:10 2531

原创 RabbitMQ学习==》消息发布与订阅

文章目录发布与订阅1、交换器2、临时队列3、绑定4、示例发布:订阅:发布与订阅1、交换器​ 生产者只能向交换器发送消息。交换是一件非常简单的事情。一方面它接收来自生产者的消息,另一方面它将它们推送到队列中。​ 有以下几种可用的交换类型:​ direct、topic、headers、fanout// 定义一个交换器,名字为 logs,类型为 fanoutchannel.exchangeDeclare("logs", "fanout");fanout交换器将收到的所有消息广播到它知道的所有

2022-03-21 17:52:13 1713

原创 RabbitMQ学习==》消息队列

文章目录工作队列1、消息确认2、消息持久化3、任务调度公平化4、完整示例代码产生任务:任务调度及工作者:工作队列​ 创建工作队列,用于多个工作人员之间分配耗时的任务1、消息确认为了确保消息永远不会丢失,RabbitMQ 支持 消息确认。消费者发回一个确认,告诉 RabbitMQ 一个特定的消息已经被接收、处理并且 RabbitMQ 可以自由地删除它。如果消费者在没有发送 ack 的情况下死亡(其通道关闭、连接关闭或 TCP 连接丢失),RabbitMQ 将理解消息未完全处理并将重新排队。默认情况

2022-03-21 17:47:14 1677

原创 JDK源码==》InputStream、OutputStream、BufferedInputStream 和 BufferedOutputStream类学习

文章目录1、InputStream和OutputStream2、BufferedInputStream 和 BufferedOutputStreamBufferedInputStream 类的继承与实现关系及对应的成员变量、构造、方法BufferedIOutputStream 类的继承与实现关系及对应的成员变量、构造、方法demo:red读取内容:write写内容:1、InputStream和OutputStreampublic abstract class InputStream implement

2022-03-09 12:16:04 410

原创 MySQL存储对象

文章目录MySQL存储对象1、存储过程与存储函数1、创建存储过程2、创建存储函数2、触发器3、事件1、启用和禁用任务调度2、创建事件4、视图MySQL存储对象存储过程包含存储过程与存储函数存储程序包含存储过程、触发器和事件存储对象包含存储程序和视图1、存储过程与存储函数1、创建存储过程delimiter // #定义分隔符CREATE PROCEDURE dorepeat1(p1 INT) #创建存储过程dorepeat1BEGINSET @x = 0; #设置变量x等于

2022-03-04 16:18:55 1899

原创 JDK源码==》LinkedList类学习

文章目录1、主要的成员变量及构造2、添加内容执行add执行addFirst执行addLast执行offer方法,执行的是add方法3、查找内容getcontainsindexOf4、移除内容remove1、主要的成员变量及构造public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io

2022-03-02 21:55:18 361

原创 JDK源码==》TreeMap类学习

文章目录2、put添加元素put添加元素执行的流程第一次添加元素,需要执行的compare(key, key)方法添加第一个元素的示意图:需要执行的root = new Entry<>(key, value, null);代码段非第一次添加内容的执行的流程执行k.compareTo(t.key);需要执行的方法fixAfterInsertion(e);执行的方法rotateLeft(parentOf(parentOf(x)));执行的方法添加第二个元素时的示意图:添加第三个元素时的示意图:添加第

2022-03-02 11:39:46 436

原创 JDK源码==》LinkedHashSet类学习

1、主要的构造public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, java.io.Serializable { public LinkedHashSet(int initialCapacity, float loadFactor) { super(initialCapacity, loadFactor, t

2022-02-28 20:40:22 195

原创 JDK源码==》HashSet类学习

文章目录1、HashSet主要的成员变量及构造方法2、add添加内容3、contains是否包含某个键4、remove移除节点5、clear清空1、HashSet主要的成员变量及构造方法public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable { // 存储数据 private transient HashMap

2022-02-28 16:13:32 117

原创 JDK源码==》LinkedHashMap类学习

文章目录1、LinkedHashMap的主要成员变量及构造2、get通过键名查找定的数据3、put、replace、remove,由于该类没有重写对应的put、replace、remove方法,所以引用父类HashMap的方法,但是对应的功能方法里面执行的方法却有重写4、containsValue查询是否存在对应的Value值5、clear清空6、LinkedHashMap与HashMap的关联在LinkedHashMap中这三个方法对应的重写方法1、LinkedHashMap的主要成员变量及构造pub

2022-02-27 16:43:36 2235

原创 JDK源码==》HashTable类学习

文章目录1、HashTable主要的成员变量及构造2、put添加数据3、get通过键名查询指定的内容4、replace将指定键名的内容修改为指定数据5、remove移除指定键名对应的数据1、HashTable主要的成员变量及构造public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable { //

2022-02-26 16:38:36 343

原创 JDK源码==》HashMap类学习

文章目录1、HashMap主要的成员变量及构造方法2、添加数据3、get查询数据4、replace替换数据5、containsKey判断是否包含某个键6、remove通过指定键名移除指定节点内容7、HashMap类中的Node类和TreeNode的结构1、HashMap主要的成员变量及构造方法public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Se

2022-02-26 15:50:25 286

原创 JDK源码==》ArrayList类学习

文章目录1、ArrayList主要成员变量及构造2、add添加内容3、get通过索引查询数据4、set通过索引修改指定数组下标的数据5、remove删除内容6、clear清空全部内容1、ArrayList主要成员变量及构造public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{

2022-02-25 20:42:18 51

原创 JDK源码==》AbstractStringBuilder、StringBuffer、StringBuilder学习

文章目录1、StringBuffer类学习以下重载方法有的被synchronized修饰,有的没有2、AbstractStringBuilder类中的成员变量及构造方法3、StringBuilder类学习StringBuilder类与SpringBuffer类的方法基本相似,StringBuilder类构造法以外的方法全部没有被synchronized修饰1、StringBuffer类学习public final class StringBuffer extends AbstractStringBuil

2022-02-24 18:06:30 173

原创 JDK源码==》String类学习

文章目录1、String类学习2、常用方法1、String类学习public final class String implements java.io.Serializable, Comparable<String>,CharSequence { // 该数组用于存放字符数据,不可变 private final char value[]; // 缓冲hash码值,默认是0 private int hash; private sta

2022-02-24 18:04:01 169

原创 MongoDB中CRUD操作

文章目录1、插入数据向inventory集合插入一条数据向inventory集合插入多条数据2、查询数据查询所有条件查询,等于指定条件分隔查询使用$and条件使用or、or、or、lt条件使用and、and、and、or条件嵌套查询数组条件查询查询指定条件的数据并显示指定字段查询null的数据3、更新数据4、删除数据5、SQL与MongoDB的对应关系6、分析查询性能7、聚合管道符1、插入数据如果指定的集合(类似于关系型数据库中的表)不存在,则自动创建该集合如果没有指定_id字段,MongoDB默认

2022-02-23 18:01:07 387

原创 Linux安装Redis

安装rediswget http://download.redis.io/redis-stable.tar.gz # 下载tar xvzf redis-stable.tar.gz # 解压缩cd redis-stablemake # 编译######或者#########make install # 编译安装,(也可以指定安装的位置)启动服务redis-server######也可以通过指定配置文件启动服务#####redis-server /etc/redis.conf #启动服

2022-02-23 12:10:09 49

原创 Spring5.2.X源码构建

文章目录1、从[gradle官网](https://gradle.org/releases/)下载gradle-5.6.4.zip压缩包2、解压缩,配置环境变量,测试是否安装成功3、使用Git克隆GitHub上spring源码4、预编译spring-oxm5、导入idea,并设置gradle6、等待构建完成即可1、从gradle官网下载gradle-5.6.4.zip压缩包2、解压缩,配置环境变量,测试是否安装成功解压到E盘下的Dev-RunTime文件下,并在E:\Dev-RunTime\grad

2022-02-18 11:15:32 380

原创 Git的使用

Git有三种状态:已提交(committed)表示数据已经安全地保存在本地数据库中已修改(modified)表示修改了文件,但还没有保存到数据库中已暂存(staged)表示对一个已经修改文件的当前版本做了标记,使之包含在下次提交的快照中1、查看Git所有的配置及所在的文件git config --list --show-origin2、设置用户信息git config --global user.name "用户名"git config --global user.email tom

2021-12-16 16:42:10 674

原创 Yum软件包管理工具的命令

语法: yum [option] command [package …]​ command:install package1 [package2] [...] #安装update [package1] [package2] [...] #更新update-to [package1] [package2] [...] #更新到指定的版本check-update #检查更新upgrade [package1] [package2] [...] #升级upgrade-to [packa

2021-12-08 15:50:35 262

原创 rabbitmq在centos7下简单安装与配置管理

1、导入相关的签证## primary RabbitMQ signing keyrpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc## modern Erlang repositoryrpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey## RabbitMQ serve

2021-12-08 15:18:06 1013

原创 Centos7安装Mongodb

1、修改系统默认的镜像源(主要是解决系统下载慢的问题)备份默认镜像配置文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo运行 yum

2021-11-15 15:06:41 1030

原创 quartz实现自定义任务

1、导入quartz、C3p0、MySQL的jar包(懒得找jar包,直接创建springboot工程导入坐标)<dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version></dependency><dependency> &

2021-10-29 17:55:51 1270

原创 Java后端发送http请求

1、在pom.xml中导入jar的坐标<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.5</version></dependency>2、创建请求客户端CloseableHttpClient aDefault = H

2021-10-26 14:50:47 2903

转载 SpringBoot中使用Aop

1、添加aop的maven坐标 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>2、创建一个切面类,并添加注解(注意:不要创建Aspect的切面类(不然会不起作用),

2021-10-25 12:09:46 393

原创 MySQL字符串处理

1、substring_index(str,delim,count)​ str:要处理的字符串delim:分隔符count:计数​ 计数为负数时,从右边开始select SUBSTRING_INDEX("6666,7777,88888",",",1) # 结果为6666select SUBSTRING_INDEX("6666,7777,88888",",",-1) # 结果为88888select SUBSTRING_INDEX("6666,7777,88888",",",2) # 结果

2021-09-26 16:13:58 1702

转载 CentOS7上安装rabbitmq

1、安装依赖包yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf2、安装erlang[root@localhost ~]# mkdir /data && cd /data[root@localhost /data]# tar zxvf otp_src_23.2.tar.gz[root@localhost /data]# cd otp_src_23.2[root@loca

2021-09-02 10:05:58 200

原创 quartz的简单使用

1、quartz的简单使用1、首先引入一个调度器scheduleSchedulerFactory sf = new StdSchedulerFactory();Scheduler sched = sf.getScheduler();2、计算下次的运行时间Date runTime = evenMinuteDate(new Date());3、定义一个与job相关的类(该类需实现Job接口)​ job1为任务的名字,group为任务的组JobDetail job = newJob(Hello

2021-08-03 14:09:58 903

转载 前后端分离使用VUE-element-template动态加载路由

前后端分离动态加载菜单当用户登录之后获取用户信息的时候,将获取到的路由信息存储到vuex中的全局数据区在getters.js文件下定一个存储的变量在router文件下创建两个文件_import_development.jsmodule.exports = file => require('@/views/' + file + '.vue').default_import_production.jsmodule.exports = file => () => impor

2021-07-29 18:03:23 1342 1

原创 Centos7下安装nginx、反向代理

nginx学习1、centos7下安装nginx首先去nginx官网https://nginx.org/下载对应的版本安装nginx所需要的依赖yum -y install pcre-devel yum -y install openssl openssl-devel解压nginx压缩包 tar -zxvf nginx-1.18.0.tar.gz进入解压后的目录,进行检查、编译、安装,执行如下命令:./configuremakemake install2、nginx启动、关闭、

2021-04-18 15:40:50 411

原创 创建Vue项目、项目结构及路由的使用

1、使用vue脚手架创建VUE项目,使用webpack管理项目全局安装脚手架npm install -g @vue/cli# ORyarn global add @vue/cli更新VUE脚手架工具npm update -g @vue/cli# 或者yarn global upgrade --latest @vue/cli创建VUE项目VUE3.x方式一:vue create hello-worldVUE2.x方式二:$ npm install -g vue-cli /

2021-03-31 09:54:53 258

原创 Java各种类型的时间转换

Java各种类型的时间转换 /**** * 将日期转换为yyyy-MM-dd HH:mm:ss格式 * @param date * @return */ public static String dateConvertFormat(Date date){ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); } /***** * 将

2021-03-31 09:42:00 191

原创 VUE路由传参的两种方式

VUE路由传参的两种方式1、使用query传参(类似于get方式)//跳转地址和携带的参数,跳转的地址path的值需要与路由中的path的值对应this.$router.push({path: '/test', query: {name: 'tom'}})//路由表配置routes = [ { path: '/test' name: 'test' component: TestComponent }]//接受传过来的参数this

2021-03-29 11:20:41 602

转载 FastDfs分布式文件系统的搭建及使用

FastDfs分布式文件系统的搭建及使用本文章是参照江南一点雨发表的博客教程搭建的https://blog.csdn.net/u012702547/article/details/104589468在cento7下搭建1、简介FastDFS 由淘宝的余庆大佬在 2008 年开源的一款轻量级分布式文件管理系统,FastDFS 用 C 语言实现,支持 Linux、FreeBSD、MacOS 等类 UNIX 系统。FastDFS 类似 google FS,属于应用级文件系统,不是通用的文件系统,只能通过

2021-03-10 10:32:35 324

原创 thymeleaf简单使用文档

1、变量${x}将返回x存储在Thymeleaf上下文中或作为请求属性的变量。${param.x}将返回一个称为的请求参数x(可能是多值)。${session.x}将返回名为的会话属性x。${application.x}将返回名为的Servlet上下文属性x。2、不转义这是th:text属性的默认行为。如果我们希望Thymeleaf尊重我们的HTML标记而不是对其进行转义,则必须使用不同的属性:(th:utext用于“未转义的文本”):<p th:utext="#{h

2021-03-10 10:22:51 915

用命令制作U盘启动盘

该文档是不需要通过其他工具软件就可以制作U盘启动盘,只需要在window的命令行下敲命令就可以完成制作U盘启动盘,不会夹带其他软件,可用来制作纯净的启动盘

2019-01-13

空空如也

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

TA关注的人

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