自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA 异常处理

1、异常:就是程序运行时出现不正常情况异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述。并封装成对象。其实就是java对不正常情况进行描述后的对象体现。对于问题的划分(两种):一种是严重的问题,一种是非严重的问题;对于严重的,java通过Error类进行描述。对于Error一般不编写针对性的代码对其进行编写对于非严重的,java通过Exception类进行描述。对于Exception可以使用针对性的处理方式进行处理无论Error还是Exception都具有一些共

2020-10-31 17:19:59 1629 18

原创 Centos 7 开启端口出现“FirewallD is not running”

最近在阿里云服务器centos上安装了MongoDB数据库,默认是不开启远端访问功能,需要设置一下防火墙,在开放默认端口号 8080时提示FirewallD is not running,经过排查发现是防火墙就没打开造成的,出于安装考虑还是把防火墙开上吧,以下步骤仅供参考。解决方法/步骤1、执行firewall-cmd --permanent --zone=public --add-port=8080/tcp,提示FirewallD is not running,如下图所示。2、通过systemct

2021-08-17 03:09:16 948 3

原创 mysql5.7初始化密码报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before

mysql初始化密码常见报错问题:在配置完数据库后,使用数据库,提示:解决办法:1、首先,修改validate_password_policy参数的值mysql> set global validate_password_policy=0;Query OK, 0 rows affected (0.00 sec)validate_password_length(密码长度)参数默认为8,我们修改为1mysql> set global validate_password_length

2021-08-17 02:15:37 608

原创 IDEA-Maven的Dependencies中出现红色波浪线

1、将所有dependency全都注释了。2、打开右侧maven projects,Lifecycle->clear.3、将第一部注释的依赖全部还原即可。我是这样解决的,希望对你也有用。

2021-08-17 02:04:29 406

原创 在阿里云服务器上安装mysql并且初始化

1、卸载MySQL1 删除Mysqlyum remove mysql mysql-server mysql-libs mysql-server;find / -name mysql 将找到的相关东西delete掉(rm -rf /var/lib/mysql);rpm -qa|grep mysql(查询出来的东东yum remove掉)rm /etc/my.cnf查看是否还有mysql软件:rpm -qa|grep mysql如果存在的话,继续删除即可。rpm方式安装的mysql

2021-08-16 02:36:27 407 5

原创 #ls -/bin/sh: ls: not found失效的问题

#ls-/bin/sh: ls: not found#vi /etc/profile-/bin/sh: vi: not found#gedit /etc/profile-/bin/sh: gedit: not found在linux开发板上出现了以上问题——因为之前这些命令都是OK的,但是因为修改了/etc/profile里面的内容,然后被我source之后就失效了,所以肯定是我修改出现的问题。于是,我利用以下命令,就解决了:PATH=$PATH:/bin...

2021-08-16 00:34:12 577

原创 手把手教你在阿里云服务器上安装Java环境(图文教程)

前言:最近闲买了个阿里云的服务器,主要有三个用途:1、学习Redis2、复习一下Linux命令3、尝试将一个Spring项目搭建到云服务器上。1.准备工具磨刀不误砍柴功,我们先准备好需要用到的两个工具:XShell:用于通过SSH协议远程连接服务器;XFtp:用于从本地向服务器上传文件;这两个版本都有教育版,是免费的,这里就不给大家介绍怎么安装,怎么使用的了。2.下载JDK并上传到服务器首先从Oracle官网(https://www.oracle.com/java/technologies

2021-08-15 23:53:31 4642 1

原创 redis学习-------哨兵模式

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

2021-08-14 02:16:07 249 1

原创 redis学习------Redis主从复制

概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave 以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主要包括:数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障恢复:当主节点出现

2021-08-14 01:47:12 143 1

原创 redis学习——数据持久化(看这一篇就够了)

一、概述Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的,然而当Redis重启后,所有存储在内存中的数据将会丢失,在很多情况下是无法容忍这样的事情的。所以,我们需要将内存中的数据持久化!典型的需要持久化数据的场景如下:将Redis作为数据库使用;将Redis作为缓存服务器使用,但是缓存miss后会对性能造成很大影响,所有缓存同时失效时会造成服务雪崩,无法响应。本文介绍Redis所支持的两种数据持久化方式。二、Redis 持久化之RDB和AOFRedis支持两种数据持久化方式:

2021-08-13 22:35:55 318 3

转载 redis学习——redis.config简单阅读

1、单位容量单位不区分大小写,G和GB有区别2、组合3、网络bind 127.0.0.1 # 绑定的ipprotected-mode yes # 保护模式port 6379 # 端口设置4、通用 GENERALdaemonize yes # 以守护进程的方式运行,默认是 no,我们需要自己开启为yes!pidfile /var/run/redis_6379.pid # 如果以后台的方式运行,我们就需要指定一个 pid 文件!# 日志# Specify the se.

2021-08-13 21:28:50 122

原创 SpringBoot整合Redis及Redis工具类撰写

1、创建一个SpringBoot项目,导入redix依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis-reactive</artifactId> </dependency>2、application.proper

2021-08-13 02:53:25 150 2

原创 redis工具类

import java.util.List;import java.util.Map;import java.util.Set;import java.util.concurrent.TimeUnit;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.util.CollectionUtils;public class RedisUtil { private Redi

2021-08-13 02:17:31 119

原创 redis学习——redis事务

Redis事务的概念:Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。总结说:redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。Redis事务没有隔离级别的概念:批量操作在发送 EXEC 命令前被放入队列缓存,并不会被实际执行,也就不存在事务内的查询要看到事务里的更新,事务外查询不能看到。Redis不保证原子性:Redis不

2021-08-12 23:06:39 149 3

原创 Redis是什么?看这一篇就够了

最近在学redis,看到了这篇写的据详细的文章,在此分享给大家。不做任何商业用途。转载请标注 原文地址:https://www.grapecity.com.cn/引言在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原因是因为那时候Web站点基本上访问和并发不高、交互也较少。而在后来,随着访问量的提升,使用关系型数据库的Web站点多多少少都开始在性能上出现了一些瓶颈,而瓶颈的源头一般是在磁盘的I/O上。而随着互联网技术的进一步发展,各种类型的应用层出不穷,这导致在当今云计算、大数据

2021-08-12 22:39:14 192

原创 redis学习——Geospatial(地理位置)、Hyperloglog(基数统计)、BitMaps(位图)

Geospatial(地理位置)使用经纬度定位地理坐标并用一个有序集合zset保存,所以zset命令也可以使用。这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人。以Geo开头。指定单位的参数 unit 必须是以下单位的其中一个:m 表示单位为米。km 表示单位为千米。mi 表示单位为英里。ft 表示单位为英尺。关于GEORADIUS的参数:通过georadius就可以完成 附近的人功能withcoord:带上坐标withdist:带上距离,单位与半径单位相同COUN

2021-08-12 20:51:34 245 1

转载 redis学习——五大数据类型总结:字符串、散列、列表、集合和有序集合

一、字符串类型(String)1.介绍:字符串类型是 Redis 中最基本的数据类型,可以存储二进制数据、图片和 Json 的对象。字符串类型也是其他 4 种数据库类型的基础,其它数据类型可以说是从字符串类型中进行组织的,如:列表类型是以列表的形式组织字符串,集合类型是以集合的形式组织字符串。2.命令:【备注】包括 INCR 在内的所有 Redis 命令都是原子操作。3.命令测试:4.命名建议:“对象类型:对象ID:对象属性”命名一个键,如:“user:1:friends”存储 ID 为

2021-08-12 20:30:50 252 1

原创 redis学习——Sorted Set(Zset)数据类型

一、概述:Sorted Set(有序集合)和Set类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted Set中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管Sorted Set中的成员必须是唯一的,但是分数(score)却是可以重复的。(有序集合中的元素不可以重复,但是score 分数 可以重复,就和一个班里的同学学号不能重复,但考试成绩可以相同)。在Sort

2021-08-12 19:52:39 679 1

原创 redis学习——Hash数据类型

一、概述我们可以将Redis中的Hash类型看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。每一个Hash可以存储4294967295个键值对。二、相关命令1、赋值命令命令原型:HSET key field value时间复杂度:O(1)命令描述:为指定的Key设定Field/Value对,如果Key不存在,该命令将创

2021-08-12 17:33:54 239 5

原创 redis学习——Set数据类型

一、概述在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作。Set可包含的最大元素数量是4294967295。集合类型也是用来保存多个字符串的元素,但和列表不同的是集合中不允许有重复的元素,集合中的元素是无序的,不能通过索引下标获取元素,支持集合间的操作,可以取多个集合取交集、并集、差集。二、相关命令使用:命令都是以s

2021-08-12 16:32:03 267 1

原创 redis学习——List数据类型

一、概述在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数量是4294967295。从元素插入和删除的效率视角来看,如果我们是在链表的两头插入或删除元素,这将会是非常高效的操作,即使链表中已经存储了百万条记录,该操作也可以在常量时间内完成。然

2021-08-12 15:17:53 224

原创 redis学习——String数据类型

Redis五种数据结构如下:对redis来说,所有的key(键)都是字符串。String数据类型一、概述字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。二、相关命令1、赋值命令命令原型:SET key value时间复杂度:O(1)命令描述:设定该Key持有指定的字符串Value,如果该Key已经存在,则

2021-08-12 14:32:57 173 2

原创 Swagger文档转Word 文档

GitHub 地址:https://github.com/JMCuixy/swagger2word转载作品,出处:http://www.cnblogs.com/jmcui/p/8298823.html一、前言为什么会产生这个需求呢?我们公司作为乙方,老是被客户追着要一份API文档,当我们把一个 Swagger 文档地址丢给客户的时候。客户还是很不满意,嫌不够正式!!死活坚持要一份 word 文档 。然后领导给了个接口模板,就把这个活交给我了…我去,近10个微服务,几百个接口,这不得要了我的命啊(最

2021-08-12 02:46:04 1388 1

原创 SpringBoot整合分布式Dubbo+Zookeeper

1.理论概述1.1.分布式分布式系统是若干独立计算机的集合,这些计算机对于用户来讲就像单个系统。由多个系统集成成一个整体,提供多个功能,组合成一个板块,用户在使用上看起来是一个服务。(比如淘宝网)。起源分布式系统出现的原因是:用多个廉价的、普通的机器完成单个计算机无法完成的计算、存储任务分布式使用只有单个节点处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(内存、磁盘、CPU)高昂得不偿失的时候,应用程序也不能进一步优化的时候,才考虑分布式。因为分布式系统是建立在网络之上的软件系

2021-08-11 03:01:46 216 4

原创 如何实现一个简单的RPC

在如何给老婆解释什么是RPC中,我们讨论了RPC的实现思路。那么这一次,就让我们通过代码来实现一个简单的RPC吧!RPC的实现原理正如上一讲所说,RPC主要是为了解决的两个问题:解决分布式系统中,服务之间的调用问题。远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。还是以计算器Calculator为例,如果实现类CalculatorImpl是放在本地的,那么直接调用即可:现在系统变成分布式了,CalculatorImpl和调用方不在同一个地址空间,那么就必须要进行远程

2021-08-11 01:09:26 422

原创 如何给老婆解释什么是RPC

前言博主连对象都没有,何来老婆?new一个就好了。一个阳光明媚的早晨,老婆又在翻看我订阅的技术杂志。“老公,什么是RPC呀,为什么你们程序员那么多黑话!”,老婆还是一如既往的好奇。“RPC,就是Remote Procedure Call的简称呀,翻译成中文就是远程过程调用嘛”,我一边看着书,一边漫不经心的回答着。“啥?你在说啥?谁不知道翻译成中文是什么意思?你个废柴,快给我滚去洗碗!”“我去。。。”,我如梦初醒,我对面坐着的可不是一个程序员,为了不去洗碗,我瞬间调动起全部脑细胞,星辰大海在我脑

2021-08-11 00:59:22 202 8

原创 SpringBoot实现异步、邮件、定时任务

1、SpringBoot实现异步方法日常开发中涉及很多界面与后端的交互响应,都不是同步的,基于SpringBoot为我们提供了注解方式实现异步方法。使得前端的请求响应与后端的业务逻辑方法实现异步执行。提升了客户的体验。不由得说一句,SpringBoot的封装的确是精妙强大,以前需要多线程、Ajax实现异步,而SpringBoot底层封装之后,两个注解就Over了!①需要在SpringApplication执行类上开启异步,使用@EnableAsync:@SpringBootApplication@E

2021-08-10 21:28:01 151

原创 SpringBoot:整合Swagger3.0-定制RESTful与统一接口返回值(2020最新最易懂)

一,整合Swagger3.0随着Spring Boot、Spring Cloud等微服务的流行,在微服务的设计下,小公司微服务工程jar小的几十个,大公司大的工程拆分jar多则几百上万个,这么多的微服务必定产生了大量的接口调用。而接口的调用就必定要写接口文档(由开发人员编写)。存在的问题:(面对多个开发人员或多个开发团队)项目开发接口众多,细节,复杂,且多样化,高质量地创建接口文档费时,费力。随着项目的进行,不可避免整改和优化,需要不断的修改接口实现,伴随着也需要同时修改接口文档,管理不方便不说,还

2021-08-10 17:12:03 2966 4

原创 shiro学习

1、快速开始准备工作:GitHub资源创建一个普通maven项目springboot-shiro,然后删除src目录,这样的话就可以在这个项目里新建很多model.在springboot-08-shiro里新建model hello_shiro项目结构:1、打开 GitHub资源 后,找到如图所示目录,打开pom.xml文件打开pom.xml文件,并将其导入项目中:(更改了版本) <dependencies> <!-- https://mvnrepos

2021-08-10 00:34:18 162

原创 idea设置使用.ini文件

最近在网上学习shiro,其中用到了.ini文件的处理,如:shiro.ini,但是创建好文件并编辑内容后,发现它变成text文档了,运行也无法使用,看来一下网上的方法,发现都是好久之前的了,所有自己又整理了一下.解决方法:1.先下载插件进入File->setting->Plugins2、搜索插件并下载3.下载完成后Apply–>OK,搞定。然后重启下IDEA就可以了。...

2021-08-09 01:03:43 1018 2

原创 SpringSceurity(5)---短信验证码登陆功能

一、短信登录验证机制原理分析了解短信验证码的登陆机制之前,我们首先是要了解用户账号密码登陆的机制是如何的,我们来简要分析一下Spring Security是如何验证基于用户名和密码登录方式的,分析完毕之后,再一起思考如何将短信登录验证方式集成到Spring Security中。1、账号密码登陆的流程一般账号密码登陆都有附带 图形验证码 和 记住我功能 ,那么它的大致流程是这样的。1、 用户在输入用户名,账号、图片验证码后点击登陆。那么对于springSceurity首先会进入短信验证码Filter

2021-08-08 23:35:02 420

原创 SpringSceurity(4)---短信验证码功能实现

有关SpringSceurity系列之前有写文章1、SpringSecurity(1)—认证+授权代码实现2、SpringSecurity(2)—记住我功能实现3、SpringSceurity(3)—图形验证码功能实现一、思考1、设计思路在获取短信验证码功能和图形验证码还是有很多相似的地方,所以这里在设计获取短信验证的时候,将之前开发好的的图形验证码进一步整合、抽象与重构。在获取验证码的时候,它们最大的不同在于: 图形验证码是通过接口返回获取給前端。而短信验证码而言是通过第三方API向我们手

2021-08-08 23:16:25 152

原创 SpringSceurity(3)---图形验证码功能实现

前言从狂神的视频中只学了认证授权,记住我等功能,他没有录制关于图形验证码功能的视频,在看了前两篇文章后,看到关于图片验证码功能的博客,就一起都学了吧。写着博客记录着,忘了也没关系,以后那天用到了在回来看看。原文:https://www.cnblogs.com/qdhxhz/p/12791083.html有关springSceurity之前有写过两篇文章:1、SpringSecurity(1)—认证+授权代码实现2、SpringSecurity(2)—记住我功能实现这篇我们来讲图形验证码功能实现

2021-08-08 22:54:10 170

原创 SpringSecurity(2)---记住我功能实现

前言:我将代码下载尝试运行后,出现了连环报错。观察后我怀疑应该是版本问题,原博主的程序写的比较早,而如今版本也更新好几次了,所以我怀疑是程序版本的问题。但这只会影响程序的运行,并不会影响我对Security的学习。原文地址:https://www.cnblogs.com/qdhxhz/p/12783471.html上一篇博客实现了认证+授权的基本功能,这里在这个基础上,添加一个 记住我的功能。上一篇博客地址:SpringSecurity(1)—认证+授权代码实现上一遍博客的 用户数据 和 用户

2021-08-08 20:33:40 153

原创 SpringSecurity(1)---认证+授权代码实现

安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素考虑进来,并在整个应用的开发过程中。市面上存在比

2021-08-08 04:44:21 991 2

原创 shiro---了解权限管理

了解权限管理一、概念1、什么是权限管理只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。权限管理包括用户认证和授权两部分。(1)用户认证用户认证,用户去访问系统,系统要验证用户身份的合法性。最常用的用户身份验证的方法:1、用户名密码方式、2、指纹打卡机、3、基于证书验证方法。。系统验证用户身份合法,用户方可访问系统的资源。关键对象subject:主体,理解为用户,可能是程序,都要去访问系统的资源,

2021-08-08 04:20:46 380

原创 springboot整合Druid+mybatis

DruidSpringboot集成Druid方案:一个是在POM中直接配置druid-spring-boot-starter,不用写任何代码;一个是配置druid,写几行代码,可以加入;在方案一基础上加入stat、wall后进行验证登录。先献上github代码地址:https://github.com/yudiandemingzi/spring-boot-many-data-source代码拉下来换下自己的mysql数据库地址,就可以直接运行。Druid的优点很明显,它的可视化界面可以监控Sql语句.

2021-08-07 18:07:20 1215

转载 SpringBoot 整合JDBC

SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理。Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。Sping Data 官网:https://spring.io/projects/spring-data

2021-08-06 22:27:02 898 1

原创 i8n页面国际化

1、统一 properties 编码首先在IDEA中统一设置properties的编码为UTF-8编写国际化配置文件,抽取页面需要显示的国际化页面消息。我们可以去登录页面查看一下,哪些内容我们需要编写国际化的配置!2、编写 i18n 国际化资源文件在resources目录下新建一个 i18n 包,其中放置国际化相关的配置什么是i18n?类似的还有K8S其中新建三个配置文件,用来配置语言:login.properties:无语言配置时候生效login_en_US.proper

2021-08-05 22:34:38 815 3

转载 SpringBoot 简单运行原理

我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起;运行原理流程图:pom.xml父依赖其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件!<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>

2021-08-05 10:15:34 312 1

空空如也

空空如也

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

TA关注的人

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