java
文章平均质量分 68
、以吾之名
一切都和恰好一样,恰好我写了文章,恰好您看见了,恰好对您有帮助,恰好您评论了,恰好我回复了,恰好一起在努力,加油(ง •_•)ง
展开
-
JWT基础概念
JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。从 JWT 的全称可以看出,JWT 本身也是 Token,一种规范化之后的 JSON 结构的 Token。JWT 自身包含了身份验证所需要的所有信息,因此,我们的服务器不需要存储 Session 信息。这显然增加了系统的可用性和伸缩性,大大减轻了服务端的压力。原创 2022-10-23 20:58:44 · 703 阅读 · 1 评论 -
docker搭建ElasticSearch集群
docker搭建ElasticSearch集群创建挂载目录进入config文件里面创建es配置文件查询防火墙状态 关闭防火墙 (只执行这个,重启后不行,还必须执行在 目录下创建 es1.yml,es2.yml,es3.yml编辑es1.yml执行 命令 可以查看自己的宿主ip,找到例如 :es2.ymles3.yml3.调高JVM线程数限制数量在centos窗口中,修改配置加入如下内容:启用配置:三、启动ElasticSearch集.........原创 2022-06-07 23:16:37 · 2271 阅读 · 2 评论 -
kaptcha 谷歌验证码工具
kaptcha简介Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如:验证码的字体验证码字体的大小验证码字体的字体颜色验证码内容的范围(数字,字母,中文汉字!)验证码图片的大小,边框,边框粗细,边框颜色验证码的干扰线验证码的样式(鱼眼样式、3D、普通模糊、…)1. 引入kaptcha依赖 <!-- 验证码--> <dependency> <groupId>com.github.ax原创 2021-11-01 17:43:20 · 444 阅读 · 0 评论 -
Springboot微服务打包Docker镜像
Springboot微服务打包Docker镜像1.将我们的SpringBOOT微服务项目打包成一个jar包2.编写一个Dockerfile文件,在idea 或者 linux里面编写都可以FROM java:8COPY *.jar /app.jarCMD ["--server.port=8080"]EXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"]3.上传到我们的linux服务器中4.构建docker镜像 docker buil原创 2021-10-24 14:36:05 · 165 阅读 · 0 评论 -
Dockerfile详解
1. Dockerfile介绍Dockerfile是用来构建Docker镜像的文本文件,也可以说是命令参数脚本。docker build命令用于从Dockerfile构建镜像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。Docker镜像发布的步骤:1、编写一个dockerfile文件2、docker build 构建成为一个镜像3、docker run 镜像4、docker push 镜像(发布镜像到DockerHub、阿里云镜像仓库)镜像操作原创 2021-10-19 10:57:15 · 3543 阅读 · 1 评论 -
Docker容器数据卷详解
Docker容器数据卷详解1. docker的理念回顾docker的理念将运行的环境打包形成容器运行,运行可以伴随容器,但是我们对数据的要求是希望持久化,容器之间可以共享数据,Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据作为容器的一部分保存下来,那么当容器被删除之后,数据也就没了,为了能够保存数据,在docker容器中使用卷。卷就是目录或者文件,存在于一个或者多个容器中,但是不属于联合文件系统,因此能够绕过Union File System提供一些用于持久化数原创 2021-10-18 15:55:20 · 413 阅读 · 0 评论 -
Docker可视化面板的安装
Docker可视化面板的安装Portaniner是Docker的图形化管理工具,类似的管理工具有DockerUI、Shipyard、Rancher、Portainer等Portainer介绍Portainer主要功能:提供状态显示面板:显示主机或者swarm集群上有多少镜像,容器、网络、数据卷等;应用模板快速部署:可以使用预存的模板或者自己定制的模板快速部署;镜像网络数据卷管理:通过页面进行管理和操作,例如构建镜像,增删数据卷等;事件日志显示:对任何操作有记录,并且有页面可以显示审计日志;原创 2021-10-18 13:33:22 · 1701 阅读 · 0 评论 -
Docker常用命令
Docker常用命令官方文档都给常用的命令给出了详细的解释 官方文档1. docker images 查看本地主机的所有镜像[root@node01 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmysql latest 9da615fced53 40 hours ago 514MBhello-world latest feb5d9fea6a5原创 2021-10-14 16:45:09 · 155 阅读 · 0 评论 -
Docker的安装与下载
Docker的安装与下载我们直接进入docker官网,根据官方文档给出的详细步骤,一步一步安装。看图:首页划到最底部再点击导航栏(Manuals-说明书)再依次点击 Docker Engine——>Install——>CentOS(我们是在linux-CentOS下安装)前面教大家如何在官网找到安装页面,下面正式开始安装前面跟着我的步骤进入官网,下面我就不附上命令了,图片清晰可见,命令官网复制安装之前先使用命令:uname -r 查看系统的内核再使用命令cat原创 2021-10-14 15:13:15 · 1849 阅读 · 0 评论 -
Rabbitmq高可用集群搭建
使用集群的原因最开始我们介绍了如何安装及运行 RabbitMQ 服务,不过这些是单机版的,无法满足目前真实应用的要求。如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台 RabbitMQ服务器可以满足每秒 1000 条消息的吞吐量,那么如果应用需要 RabbitMQ 服务满足每秒 10 万条消息的吞RabbitMQ集群分为普通集群和镜像集群,普通集群下存在单点故障,服务整体不可用。搭建步骤1.修改三台主机名称命令:vim /etc/hostname .原创 2021-10-11 15:16:33 · 157 阅读 · 0 评论 -
RabbitMq之发布确认高级部分
RabbitMq之发布确认高级部分1. 为什么会需要发布确认高级部分?在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢?特别是在这样比较极端的情况,RabbitMQ 集群不可用的时候,无法投递的消息该如何处理呢?2 处理方法1通过实现RabbitTemplate.ConfirmCallback 接口来完成交换机异常之后得回调,但是在仅开原创 2021-10-10 19:01:18 · 215 阅读 · 0 评论 -
RabbitMq之延迟队列
延迟队列1. 延迟队列概念延迟队列,队列内部是有序的,最重要的特性就体现在它的延迟属性上,延迟队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延迟队列就是用来存放需要在指定时间被处理的元素的队列。2. 延迟队列使用场景1.用户下单以后超出支付时间则自动取消2.淘宝七天自动确认收货3.用户退款,7天类商家没有处理,自动退款3. 延迟队列实现方式1.为队列设置延迟时间 通过设置属性 " x-message-ttl " ,但是使用设置队列属性的方式的话,那么每增加一个新的时间需求就原创 2021-10-10 00:00:02 · 411 阅读 · 0 评论 -
RabbitMq之死信队列
死信队列1. 死信的概念死信,顾名思义就是死掉的信息(无法被消费的信息),一般来说,就是生产者将消息发送给broker(exchange+queue),但由于特定的原因导致queue中的某些消息无法被消费,这样的消息如果没有被处理,就形成了死信,有死信自然就有死信队列,来存放死信。2. 死信的来源1.消息TTL时间过期2.队列达到最大长度(无法再接收消息)3.消息被拒绝 (比如 : basic.reject 或 basic.nack)并且 requeue=false3. 应用场景为了保证订单原创 2021-10-09 18:03:00 · 436 阅读 · 0 评论 -
RabbitMQ——Java环境
1. 依赖 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration>原创 2021-09-26 23:41:45 · 574 阅读 · 0 评论 -
RabbitMQ介绍(详细)
1. RabbitMQ 的相关概念2007 年发布,是一个在 AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。.RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现,由于erlang 语言的高并发特性,性能较好,本质是个队列,FIFO 先入先出,里面存放的内容是message.RabbitMQ 是一个消息中间件:它接收消息并且转发,就类似于一个快递站,卖家把快递通过快递站,送原创 2021-09-26 23:05:09 · 50189 阅读 · 1 评论 -
RabbitMq安装Web界面插件报错
RabbitMq安装Web界面插件报错最近在安装rabbitmq-plugins的时候报了以下的错误,一直不知道什么原因,上网百度了很多,自己尝试了很多,总结下来就是这几步,希望可以给大家帮助:错误:[root@sa software]# rabbitmq-plugins enable rabbitmq_managementEnabling plugins on node rabbit@sa:rabbitmq_managementError:{:query, :rabbit@sa, {:bad原创 2021-09-24 15:14:46 · 2009 阅读 · 0 评论 -
排序算法——归并排序
排序算法——归并排序1. 介绍归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer) 策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修 补"在一起,即分而治之)。2.基本思想3. 归并排序思想示意图 2-合并相邻有序子序列:例子:package com.blog.blog_vlog.aspect;import java.util.Arrays;原创 2021-09-14 18:27:47 · 64 阅读 · 0 评论 -
排序算法——快速排序
排序算法——快速排序1. 介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两 部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排 序,整个排序过程可以递归进行,以此达到整个数据变成有序序列2. 快速排序法示意图...原创 2021-09-13 16:23:22 · 184 阅读 · 0 评论 -
排序算法——希尔排序
排序算法——希尔排序为什么需要希尔排序?简单插入排序存在的问题当需要插入的数是较小的数时,后移的次数明显增多,对效率有影响.而希尔排序的出现就是为了解决插入排序的这种局限性,它通过交换不相邻的元素,每次可以将逆序数量减少大于 1。介绍希尔排序是希尔(Donald Shell)于 1959 年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入 排序经过改进之后的一个更高效的版本,也称为缩小增量排序。希尔排序法基本思想希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排原创 2021-09-12 22:39:28 · 205 阅读 · 0 评论 -
排序算法——插入排序
介绍插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。插入排序法思想插入排序(Insertion Sorting)的基本思想是:把 n 个待排序的元素看成为一个有序表和一个无序表,开始时有 序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从无序表中取出第一个元素,把它的排 序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表插入排序思路图例子:有一群小牛, 考试成绩分别是 101, 34, 11原创 2021-09-12 20:03:07 · 125 阅读 · 0 评论 -
排序算法之——选择排序
选择排序思想选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从 arr[0]~arr[n-1]中选取最小值, 与 arr[0]交换,第二次从 arr[1]~arr[n-1]中选取最小值,与 arr[1]交换,第三次从 arr[2]~arr[n-1]中选取最小值,与 arr[2] 交换,…,第 i 次从 arr[i-1]~arr[n-1]中选取最小值,与 arr[i-1]交换,…, 第 n-1 次从 arr[n-2]~arr[n-1]中选取最小值, 与 arr[n-2]原创 2021-09-07 13:03:25 · 149 阅读 · 0 评论 -
排序算法之——冒泡排序
冒泡排序1.基本介绍冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较 相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。优化:因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在 排序过程中设置一个标志 flag 判断元素是否进行过交换。从而减少不必要的比较。(这里说的优化,可以在冒泡排 序写好后,在进行)演示冒泡过程的例子小结上面的图解原创 2021-09-05 16:57:30 · 235 阅读 · 0 评论 -
算法——排序算法
排序算法1 排序算法的介绍排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。2 排序的分类:内部排序: 指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序。 3) 常见的排序算法分类(见右图)时间频度度量一个程序(算法)执行时间的两种方法:事后统计的方法 这种方法可行, 但是有两个问题:一是要想对设计的算法的运行性能进行评测,需要实际运行该程序原创 2021-09-04 21:00:34 · 421 阅读 · 0 评论 -
Shiro 整合SpringBoot
Shiro 整合SpringBoot1、 简介Apache Shiro 是 Java 的一个安全(权限)框架,Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境,也可以用在 JavaEE 环境。Shiro 可以为开发人员提供一个全面的:认证、授权、加密、会话管理、与Web 集成、缓存等解决方案。2、基本功能Authentication:身份认证/登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个原创 2021-08-22 18:59:32 · 142 阅读 · 0 评论 -
.JedisDataException: DENIED Redis is running in protected mode because........
报错原文:DENIED Redis is running in protected mode because protected mode isenabled, no bind address was specified, no authentication password isrequested to clients. In this mode connections are only accepted fromthe loopback interface. If you want to co原创 2021-06-23 00:00:12 · 414 阅读 · 0 评论 -
Exception in thread “main“ redis.clients.jedis.exceptions.JedisConnectionException: Failed connectin
Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to 192.168.112.164:63791、注释掉bind,protected-mode为no2、输入以下代码命令//打开防火墙6379端口号[root@localhost admin]# firewall-cmd --staterunning[root@localhost admin]原创 2021-06-22 23:24:51 · 358 阅读 · 0 评论