自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Centos中基于Docker部署Mysql并开启Binlog日志

查看docker是否开启:systemctl status dockerdocker拉去mysql镜像:docker pull mysql:5.7如果出现如下拉取失败的情况,则可以在配置上相关阿里云镜像加速器通过docker images来查看是否拉取成功通过docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7创建容器,可以通过docker container ls是否创建成功.

2021-04-20 17:38:20 488

原创 Spring Cloud Alibaba——Nacos进行多配置文件的加载

Nacos 可以与 Spring, Spring Boot, Spring Cloud 集成,并能代替 Spring CloudEureka, Spring Cloud Config。通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更。(1) 应用场景在系统开发过程中,开发者通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JA.

2020-11-19 17:04:02 1480

原创 Spring Cloud Gateway + Nacos 实现路由转发

Spring cloud gateway是spring官方基于Spring 5.0、Spring Boot2.0和Project Reactor等技术开发的网关,Spring CloudGateway旨在为微服务架构提供简单、有效和统一的API路由管理方式,Spring Cloud Gateway作为Spring Cloud生态系统中的网关,目标是替代Netflix Zuul,其不仅提供统一的路由方式,并且还基于Filer链的方式提供了网关基本的功能,例如:安全、监控/埋点、限流等。步骤:创建父工.

2020-11-15 11:22:32 13436 3

原创 SpringBoot+Nginx实现项目的请求转发

步骤:分别创建两个SpringBoot项目,然后分别给这两个项目配置8001和8002的端口号#第一个SpringBoot项目# 服务端口server.port=8001# 服务名spring.application.name=service-edu#第二个SpringBoot项目# 服务端口server.port=8002# 服务名spring.application.name=service-oss然后在两个SpringBoot项目中分别创建一个TestControl.

2020-10-18 21:01:36 3200

原创 Spring的基本应用——InitializingBean接口的使用

InitializingBean接口为bean提供了属性初始化后的处理方法,它只包括afterPropertiesSet方法,凡是继承该接口的类,在bean的属性初始化后都会执行该方法。这里讲一种该接口的使用途径一般在使用spring/springboot进行开发时,或多或少会在.yml或.properties文件中编写相关配置,然后再创建一个类通过@Value()来获取相关配置中的值,但这样还是在调用该类时还是获取不到相关的值,这里就需要定义公开静态常量,然后通过InitializingBean接.

2020-10-09 21:34:21 454

原创 Spring Cloud Alibaba——Sentinel使用Nacos存储规则实现接口限流

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案,Sentinel作为其核心组件之一,具有熔断与限流等一系列服务保护功能Sentinel简介随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel具有如下特性:丰富的应用场景:承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀,可以实时熔断下游不可用应用;完备的实时监控:同时提供实时的监控.

2020-09-08 21:36:55 631 2

转载 Spring/SpringBoot常用注解使用和说明

文章目录文章目录1. @SpringBootApplication2. Spring Bean 相关2.1. @Autowired2.2. @Component,@Repository,@Service, @Controller2.3. @RestController2.4. @Scope2.5. @Configuration3. 处理常见的 HTTP 请求类型3.1. GET 请求3.2. POST 请求3.3. PUT 请求3.4. DELETE 请求3.5. P

2020-09-07 19:28:55 461

原创 Spring Cloud Alibaba——SpringBoot+Nacos实现服务的注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少团队的支持;同时,由于Spring Cloud Alibaba中的几项主要功能都直指Netflix OSS中的重要组件,而后者最近频繁宣布各组件不在更新新特性,这使得Spring Cloud Alibaba关注度不断飙升,不少开发者或团队也开始小范围试水。什么是Naco.

2020-09-06 11:37:51 727

原创 SpringBoot + Shiro + JWT 实现认证和授权

1、JWTJWT是JSON WEB TOKEN的缩写,它是基于 RFC 7519标准定义的一种可以安全传输的的JSON对象,由于使用了数字签名,所以是可信任和安全的。1.JWT的组成JWT token的格式:header.payload.signatureheader中用于存放签名的生成算法 {"alg": "HS512"}payload中用于存放用户名、token的生成时间和过期时间{"sub":"admin","created":1489079981393,"exp":148968478

2020-08-05 11:22:14 1332 4

原创 MyBatisPlus快速入门——MyBatisPlus集成Druid配置应用

这里我重点讲一下如何使用mybatisplus与druid连接池进行整合,关于springboot整合mybatisplus可参考SpringBoot整合MyBatisPlus要引入Druid数据库连接池,其实只需要在application.yml中配置相关的druid的数据即可server: port: 8081spring: datasource: driver-class-name: com.mysql.jdbc.Driver username: root p

2020-08-05 10:10:43 827

原创 RabbitMQ学习笔记——交换机(Exchange)详解

概念Exchange:接收消息,并根据路由键转发消息至所绑定的队列中交换机的属性Name:交换机名称Type:交换机类型direct、topic、fanout、headersDurability:是否需要持久化,true表示持久化Auto Delete:当最后一个绑定到Exchange上的队列删除后,自动删除该ExchangeInternal:当前Exchange是否用于RabbitMQ内部使用,默认为FalseArguments:扩展参数,用于扩展AMQP协议自制定化使用交换机的类

2020-07-23 11:20:15 926

原创 AMQP高级消息队列协议与模型以及核心概念

什么是AMQP高级消息队列协议AMQP,即Advanced Message Queuing Protocol,是具有现代特征的二进制协议。是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。(说白了就是规范,开发时得按照规范要求来做)AMQP协议模型AMQP核心概念Server:又称Broker,接受客户端的连接,实现AMQP实体服务Connection:顾名思义,用于应用程序与Broker的网络连接Channel:网络信道,几乎所有的操作

2020-07-21 21:30:56 278

转载 Ubuntu配置安装和配置RabbitMQ

RabbitMQ是一个被广泛使用的开源消息队列。它是轻量级且易于部署的,它能支持多种消息协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求。关于安装和配置也可参考官方文档由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令: apt-get install erlang-nox # 安装erlang erl # 查看relang语言版本,成功执行则说明relang安装成功添加公钥wget -O- ht.

2020-07-21 20:47:14 743

原创 MyBatisPlus快速入门——SpringBoot整合MyBatisPlus

MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网:https://mp.baomidou.com/创建user表,用于接下来MyBatisPlus对表进行CRUD操作DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `na.

2020-07-13 17:18:56 640

原创 剑指 Offer 59 - I. 滑动窗口的最大值——双向链表实现

思路:在不考虑使用双向链表的情况下,通过上面的例子最直接可以想到的便是暴力解法,即每滑动一次窗口时都遍历窗口内的值并得出其中最大的值加入到数组中,那么每次遍历窗口的时间复杂度为O(k),k为窗口的长度,那么长度为n的数组总共需要的时间复杂度为O((n+1-k)*k)。这样固然得出结果,但是否可以在将 “获取窗口内最大值” 的时间复杂度从 O(k)降低至O(1)?如果要降为O(1)的话,即只需进行一次操作即可获取窗口内的最大值,这里我们可以想到维护一个链表来,并且该链表内的大小顺序是从大(队首)到小..

2020-06-23 09:58:37 176

原创 Java高并发系列——单例模式

单例模式是设计模式中使用最为普遍的模式之一。它是一种创建对象模式,用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例。好处:对于频繁使用的对象,可以省略new操作花费的时间。对于那些重量级对象而言,是非常可观的一笔系统开销由于new操作的次数减少,因而对系统内存的使用频率也会降低,这将减轻GC压力,缩短GC停顿时间例子:Spring Bean中默认作用域为singleton,即容器里拥有唯一的Bean实例,相对于单例,spring中的prototype作业域就相当于是多例的,.

2020-06-20 11:34:32 235

原创 Springboot整合OSS实现文件上传

阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。OSS中的相关概念Endpoint:访问域名,通过该域名可以访问OSS服务的API,进行文件上传、下载等操作。Bucket:存储空间,是存储对象的容器,所有存储对象都必须隶属于某个存储空间。Object:对象,对象是 OSS 存储数据的基本单元.

2020-06-01 09:14:31 4028 1

原创 阿里云部署elasticsearch报错:curl: (7) Failed connect to Connection timed out

原因:没有在阿里云控制台开发9200端口,因此连接超时

2020-05-29 21:26:49 5462 2

原创 SpringBoot整合Swagger-UI实现自动生成API文档

Swagger-UI是HTML, Javascript, CSS的一个集合,可以动态地根据注解生成在线API文档,号称世界上最流行的API框架。官网:https://swagger.io/常用注解@Api(tags = "xxx模块说明") :用于修饰Controller类,生成Controller相关文档信息@ApiOperation("xxx接口说明") :用于修饰Controller类中的方法,生成接口方法相关文档信息@ApiModelProperty(value = "xxx属性说明".

2020-05-25 19:44:48 217

原创 Java高并发系列(读书笔记)——关键字synchronized的功能扩展:重入锁

重入锁可以完全替代关键字synchronized。在JDK5.0的早期版本中,重入锁的性能远远优于关键字synchronized,但从JDK6.0开始,JDK在关键字synchronized上做了大量优化,使得两者的性能差距并不大重入锁的几个重要方法如下:lock( ):获得锁,如果锁已经被占用,则等待lockInterruptibly( ):获取锁,但优先相应中断tryLock( ):尝试获得锁,如果成功,则返回true,失败返回false。该方法不等待,立即返回unlock( ):释放锁.

2020-05-21 19:58:14 130

原创 SpringMvc中实现文件上传和下载——前端使用html+jquery+ajax

下面步骤中主要讲解如何实现文件上传,关于SSM的详细配置见SSM配置整合项目的相关结构如下1)导入相应的maven依赖<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.

2020-05-18 22:36:04 903

原创 LeetCode-560. 和为K的子数组——前缀和+哈希表

给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。思路:前缀和通俗地来说就相当于数组的前 n 项和,题目中要求的是连续的子数组,并且还是连续和为k的。首先对于连续的子数组中的连续和,可以推出:su

2020-05-15 11:58:38 288

原创 Java高并发系列(读书笔记)——等待线程结束(join)和谦让(yield)

join /** * 表示无限等待,它会一直阻塞当前线程,直到目标线程执行完毕. */ public final void join()throws InterruptedException /** * 如果超过给定时间目标线程还在执行,当前线程也会因为"等不及",而继续往下执行 * @param millis 最大等待时间 */ public final synchronized void join(long millis)

2020-05-11 20:18:38 126

原创 Java高并发系列(读书笔记)——等待(wait)和通知(notify)机制

等待(wait)和通知(notify)这两个方法是在Object类中,任何对象都可以调用。public final void wait()throws InterruptedExceptionpublic final native void notify()如果 一个线程调用了object.wait(),那么它就会进入object对象的等待队列。这个等待队列中,可能会有多个线程,因为系统运行多个线程同时等待某一个对象。当object.nofity()被调用时,它就会从这个等待队列中,随机选择一个线

2020-05-10 17:59:20 159

原创 Java高并发系列(读书笔记)——相关的重要概念和并发级别

相关的重要概念(1)同步(synchronous)和异步( asynchronous)、阻塞(blocking)和非阻塞(non-blocking)关于这个可以看同步、异步和阻塞、非阻塞的区别与理解,这里有较为详细的解释。对于同步和异步,举个栗子,比如你中午要去外面吃饭,你在前台点好菜后就在座位上等待服务员上菜,前台就会根据你点的菜单交厨师做好菜来,于是你就在座位上慢慢等待菜做好端上来,直到厨师做好菜服务员将菜端上来,你就可以吃饭了。这就是同步调用,它强调方法调用一旦开始,调用者必须等到方法调用返回

2020-05-09 22:09:29 193

原创 阿里云短信业务的开通以及使用

短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。支持向国内和国际快速发送验证码、短信通知和推广短信,服务范围覆盖全球200多个国家和地区。国内短信支持三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。完美支撑双11期间20亿短信发送,6亿用户触达。(1) 获取accessId, accessSe...

2020-05-04 16:22:57 1023

原创 Docker应用(mysql、tomcat、nginx、redis)在Linux中的相关部署

docker相关执行环境的部署无非分成以下4步搜索相关应用镜像拉取相关应用镜像创建容器测试访问部署Mysql1)搜索mysql镜像 docker search mysql2)拉取mysql镜像 docker pull mysql:5.63)创建容器,设置端口映射、目录映射(在/root目录下创建mysql目录用于存储mysql数据信息)docker run -id \-p...

2020-05-03 15:01:13 297 1

原创 Docker常用(进程、镜像、容器)命令

Docker进程相关命令启动docker服务 systemctl start docker停止docker服务 systemctl stop docker重启docker服务 systemctl restart docker查看docker服务状态 system status docker设置开启启动docker服务 systemctl enable dockerDocker镜...

2020-05-03 11:38:28 393

原创 Springboot整合Elasticsearch 7.X以及相关API的使用

在idea中创建springboot项目,并选中Elasticsearch依赖自定义elasticsearch版本,保证跟本地一致(由于我本机安装的是7.X版本的),同时再添加上相关json依赖。 <dependency> <groupId>com.alibaba</groupId> <ar...

2020-04-27 20:17:19 2200 14

原创 Elasticsearch 关于索引和文档的基本操作

索引:索引是映射类型的容器,elasticsearch中的索引是一个非常大的文档集合。索引存储了映射类型的字段 和其他设置。 然后它们被存储到了各个分片上了。 相当于数据库文档:相当于数据库中的表准备工作:在elasticsearch文件夹中的bin目录中打开elasticsearch.bat用于启动,同时在elasticsearch-head-master目录中使用cmd并输入npm ...

2020-04-24 21:30:03 571

原创 阿里云CentOS7.4部署安装Nginx

以下在Xshell和Xftp上进行操作的1、准备工作(1) 使用远程连接工具Xshell和Xftp连接阿里云服务器(2) 到Nginx官网下载相关安装包 [nginx官网](http://nginx.org/)(或从下面百度云中直接下载) 链接:https://pan.baidu.com/s/1zqIA56PcmqfIP1dqu4_rpA 提取码:f7il2、开始进行Nginx安...

2020-04-21 16:45:48 249

原创 Nginx——反向代理配置和实例

什么是反向代理既然有反向代理,那么相对地也就有正向代理1)正向代理:需要在客户端配置代理服务器进行网站访问2)反向代理:与正向代理的不同在于用户不需要进行任何的配置。暴露的是代理服务器地址,隐藏了真实服务器IP地址=========================================================================为什么要使用反向代理简单地...

2020-04-19 12:06:32 199

原创 Redis事务及锁的相关操作和实例

什么是事务redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照顺序依次执行,中间不会被打断。一个队列中,一次性、顺序性、排他性的执行一系列命令事务的基本操作:开启事务(事务的开启位置) multi执行事务(事务的结束位置) exec取消事务 discard加入事务的命令暂时进入到任务队列中,并没有立即执行,只有执行ex...

2020-04-18 19:58:57 199

原创 Redis——5种常用的数据存储类型的基本操作和应用场景

Redis数据类型(5种常用类型)string Stringhash HashMaplist LinkedListset HashSet1) string业务场景主页高频访问信息显示控制,例如定期更新某B站Up主个人页面显示的视频播放数和收到的点赞数在redis中为该up主设定用户信息,以用户主键id和属性值(点赞数、播放数)设置为ke...

2020-04-13 22:08:35 585

原创 LeetCode-887. 鸡蛋掉落 ——动态规划加二分查找

如果没有看懂题目意思的老哥,建议可以先看李永乐老师的视频:《复工复产找工作?先来看看这道面试题:双蛋问题》,下面我使用的思路方法也基本是按照该思路来的。思路:正如在例题解释中所说,要在最坏的情况下,那么什么是最坏情况下至少要扔几次呢?1)首先先考虑只有一个鸡蛋的情况下(假设有n层楼),那么你只能从第1层开始摔,要是你从中间开始摔并且摔坏了,那不好意思,你就只知道F层只有可能在中间层以下的位置...

2020-04-11 17:18:38 268

原创 Springboot + Shiro——MD5 盐值加密(配置)

其实这里所说的盐,简单的说,就是一组安全随机数。它会在特定的时候,加入到密码中(一般来说是加密后的密码)。从而使密码变得更有味道(从单一简单化到复杂化),更安全。如何做到?1). 在 doGetAuthenticationInfo 方法返回值创建 SimpleAuthenticationInfo 对象的时候, 需要使用SimpleAuthenticationInfo(principal,...

2020-04-09 20:49:42 2364 10

原创 使用Git将本地项目上传到GitHub远程仓库中

登录GitHub创建仓库在本地创建一个空目录,我这里就创建了一个local_item的目录,通过Git指令克隆(通过刚才的http地址)线上仓库到本地(即刚创建的文件夹中)接着我们将要上传的项目上传到该对应文件夹中(即item文件夹里),然后再通过git对其进行操作1)提交至暂存区git add 项目名2)提交本地仓库 git commit -m "提交的信息"3)提...

2020-04-03 16:43:21 120

原创 LeetCode-1155. 掷骰子的N种方法 ——动态规划

这里有 d 个一样的骰子,每个骰子上都有 f 个面,分别标号为 1, 2, …, f。我们约定:掷骰子的得到总点数为各骰子面朝上的数字的总和。如果需要掷出的总点数为 target,请你计算出有多少种不同的组合情况(所有的组合情况总共有 f^d 种),模 10^9 + 7 后返回。示例 1:输入:d = 1, f = 6, target = 3输出:1示例 2:输入:d = 2, f ...

2020-04-03 11:26:53 421

原创 阿里云部署java项目——执行环境搭建

这里先列一下关于SpringBoot常用的执行环境清单1)JDK(我这里选择的是JDK1.8)下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html这里我选择的是:jdk-8u241-linux-x64.rpm (要下载的是.rpm的后缀名)2)Tomcat 8下载...

2020-03-31 21:43:11 374

原创 解决阿里云部署项目到Tomcat中时,外网访问过慢的问题

最近将自己的Sping boot项目部署到Tomcat后,每次通过ip访问网站都要加载很久才可以访问,也在网上查过一些资料,总结一下就是阿里云服务器的熵池太小,关于详细的原因可以参考一下博客链接阿里云服务器tomcat启动太慢或访问应用堵塞 解决如何解决呢?只需在你的阿里云服务器上按照一个工具即可,然后每次要启动Tomcat时运行执行语句即可先安装 :yum install -y rng-t...

2020-03-31 20:30:58 1256 3

druid-1.0.9.rar

该Druid包含了在进行数据库连接处连接时要导入的相关jar包。

2019-08-28

空空如也

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

TA关注的人

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