- 博客(22)
- 收藏
- 关注
原创 Java基于自定义注解+AOP防止重复提交
1.自定义注解+Aop实现我们通过获取用户ip及访问的接口来判断他是否重复提交,假如这个ip在一段时间内容多次访问这个接口,我们则认为是重复提交,我们将重复提交的请求直接处理即可,不让访问目标接口。2.AOP处理逻辑我们将ip+接口地址作为key,随机生成UUID作为value,存入redis。每次请求进来,根据key查询redis,如果存在则说明是重复提交,抛出异常,如果不存在,则是正常提交,将key存入redis。3.接口添加自定义注解在接口上添加上我们自定义的注解@NoRepeatSubm
2020-08-03 11:53:29 1051 1
原创 JDK1.8新特性Stream流的简单使用详解
在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。1.简单的遍历集合import java.util.ArrayList;import java.util.List;public class Test_Arr{ public static void main(String[] args) { List<String> arr= new ArrayList<>();
2020-06-15 21:57:34 709
原创 Keytool生成私钥公钥及OpenSSL导出密钥
1.创建一个文件夹,在该文件夹打开CMD下执行如下命令行(生成证书:包含公钥,私钥,共一对):keytool -genkeypair -alias lailai -keyalg RSA -keypass lailai -keystore lailai.keystore-storepass lailai 2.自己填写相关信息即可,以公司域名为例Keytool 是一个java提供的证书管理工具 keytool -genkeypair 生成密钥-alias:密钥的别名 -keyalg:使用的RS
2020-05-16 18:23:17 1643
原创 SpringBoot整合Thymeleaf快速入门(附详细教程)
友情提示:文章参考链接1.Thymeleaf介绍 thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。它是一个开源的Java库,基于Apache License 2.0许可,由Daniel Fernández创建,该作者还是Java加密库Jasypt的作者。Thymeleaf提供了一个用于整合Spring MVC的可选模块,在应用开发中,你可以使用Thymeleaf来完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thym
2020-05-12 16:31:40 18002
原创 基于Nginx实现服务访问限流
nginx提供两种限流的方式:一是控制速率二是控制并发连接数1,控制速率控制速率的方式之一就是采用漏桶算法。(1)漏桶算法实现控制速率限流漏桶(Leaky Bucket)算法思路很简单,水(请求)先进入到漏桶里,漏桶以一定的速度出水(接口有响应速率),当水流入速度过大会直接溢出(访问频率超过接口响应速率),然后就拒绝请求,可以看出漏桶算法能强行限制数据的传输速率.示意图如下:实现配置:修改/usr/local/openresty/nginx/conf/nginx.conf:1.在
2020-05-12 15:24:03 360
原创 Java基于FastDFS快速搭建文件存储微服务
友情链接 基于Docker快速安装FastDFS服务1,引入工程必须的依赖包 <!--集成SpringBoot--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.5.RELE
2020-05-11 14:29:03 700 3
原创 基于Dockerk快速搭建FastDFS
1,下载FastDFS镜像docker pull morunchang/fastdfs2,运行tracker( -d 后台运行,别名tracker,使用网络模式是宿主机的IP)docker run -d --name=tracker --net=host morunchang/fastdfs sh tracker.sh3,运行storage(使用的网络模式是–net=host, 166.171.221.12是宿主机的IP,OSS_1 是组名,即storage的组)docker run -d
2020-05-11 10:18:53 229
原创 Ribbon内置负载均衡规则详解
1.AvailabiltyFilteringRule详解 :过滤掉一直连接失败的被标记为circuit tripped的后端Server,并过滤掉那些高并发的后端Server或者使用一-个AvailabilityPredicate来包含过滤server的逻辑,其实就就是检查status里记录的各个Server的运行状态2.BestAvailableRule详解 :选择一个最小的并发请求的Server,逐个考察Server,如果Server被tripped了,则跳过3.RandomRule详解
2020-05-10 15:56:37 469
原创 Nacos服务快速搭建使用
1.预备环境准备Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。64 bit JDK 1.8+;下载 & 配置。Maven 3.2.x+;下载 & 配置。2.下...
2020-05-08 11:28:01 376
原创 Spring Cloud Gateway基于Redis实现令牌桶算法进行请求次数限流
1.令牌桶算法简介令牌桶算法是比较常见的限流算法之一,大概描述如下:1)所有的请求在处理之前都需要拿到一个可用的令牌才会被处理;2)根据限流大小,设置按照一定的速率往桶里添加令牌;3)桶设置最大的放置令牌限制,当桶满时、新添加的令牌就被丢弃或者拒绝;4)请求达到后首先要获取令牌桶中的令牌,拿着令牌才可以进行其他的业务逻辑,处理完业务逻辑之后,将令牌直接删除;5)令牌桶有最低限额,当桶中...
2020-04-27 15:34:10 1900
原创 Kibana数据分析工具整合Elasticsearch(基于Docker)
1,Kibana下载安装(1)直接使用Docker,首先进行镜像下载docker pull docker.io/kibana:5.6.8(2)安装kibana容器(注意其中的es路径配置成自己)docker run -it -d -e ELASTICSEARCH_URL=http://192.168.1.123:9200 --name kibana --restart=always -p...
2020-04-25 15:59:33 197
原创 Eclipse 处理 XXX cannot be resolved to a type
场景:从GitLab拉同事代码出现很多代码块报红,统一结尾为 “xxx cannot be resolved to a type ”,这个问题主要是由于代码块不能被eclipse解析导致的,我们只需要 “ 重新生成别人编辑过的类文件即可 ”解决步骤①:选择Eclipse的Window(窗口选项),点击preferences(参数选择)②:点击搜索框,搜索 build ,按下图操作重新生成被...
2020-03-28 09:45:28 318
原创 通用Mapper常用接口方法详解
1.Spring Boot 集成通用Mapper<!--引入mybatis启动器--><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> ...
2020-03-27 11:21:27 1402
原创 Java线程的状态(理论)
1.初始态( NEW)创建一个 Thread对象,但还未调用start()启动线程时,线程处于初始态。运行态( RUNNABLE),在Java中,运行态包括 就绪态 和 运行态。2.就绪态该状态下的线程已经获得执行所需的所有资源,只要 CPU分配执行权就能运行。所有就绪态的线程存放在就绪队列中。3.运行态获得 CPU执行权,正在执行的线程。由于一个 CPU同一时刻只能执行一条线程...
2020-03-18 11:02:46 105
原创 Windows清理缓存优化C盘空间
1.点击我的电脑,选择管理上栏驱动器工具2.选择清理3.清理系统文件4.弹出下列界面5.结束以后点击确定6.点击删除文件7.进入下图进度条就耐心等待即可ps:博主由于经常清理所以系统缓存较少,一般没有清理过的朋友试一下会感觉一身轻松,电脑又充满了活力!(以此类推在第二步也点击优化,整理磁盘文件)...
2020-02-29 10:24:33 620
原创 Windows安装启动Head插件
1.下载head插件 :head插件下载地址2.解压到任意目录,路径不可出现中文3,安装node js(提取码:1e3z):网盘地址4,安装cnpm(国内服务器,提高以后拉取效率)npm install ‐g cnpm ‐‐registry=https://registry.npm.taobao.org5,将grunt安装为全局命令npm install -g grunt-cli ...
2020-02-18 13:42:15 1023
原创 基于Docker安装Elasticsearch
1,拉去镜像 docker pull elasticsearch2,创建elasticsearch容器(此容器不可远程连接)docker run ‐di ‐‐name=my_es ‐p 9200:9200 ‐p 9300:9300 elasticsearch3,将elasticsearch的配置文件挂载到宿主机,方便修改配置docker cp my_es:/usr/share/ela...
2020-02-18 13:15:14 183
原创 通过Docker安装RocketMQ及UI管理工具
1.拉取镜像docker pull foxiswho/rocketmq:server-4.3.2docker pull foxiswho/rocketmq:broker-4.3.22.创建nameserver容器docker create -p 9876:9876 --name rmqserver \-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m ...
2020-02-10 11:38:21 1444
原创 一键清理maven仓库无效文件
方式一搜索仓库地址下所有以lastUpdated结尾的文件并全部删除即可方式二通过编写脚本一键自动化清理,清理脚本文件下载地址第一步:通过链接:https://pan.baidu.com/s/1l6bG_ycgvlf_O1–BBvTyw 提取码:q4vs下载自动化清理脚本第二步:将脚本放置桌面点击鼠标右键编辑将REPOSITORY_PATH后跟路径修改为你本地仓库地址第三步:双...
2020-01-27 17:20:14 2046 1
原创 SpringBoot整合RabbitMQ消息队列非注解式原始运作流程详细说明
MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced MessageQueue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。RabbitMQ官方地址:http://www.rabbitmq.com/,优点:Spring Boot默认已集成RabbitMQ,...
2019-07-27 14:43:48 1445
原创 Springboot使用Hibernate Validator进行注解式Java实体类校验
Hibernate Validator是Hibernate提供的一个开源框架,使用注解方式非常方便的实现服务端的数据校验。其官网地址是:http://hibernate.org/validator/,hibernate Validator 是 Bean Validation 的参考实现 。Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint(约束) ...
2019-07-26 17:41:18 929
原创 Swagger实现OpenAPI规范的工具集步骤详述
Swagger实现OpenAPI规范的工具集步骤详述1)引入依赖2)编写配置3)启动测试4)启动测试官网:https://swagger.io/#################################################################Swagger包含的工具集:Swagger编辑器:Swagger Editor允许您在浏览器中编辑YAML中的Ope...
2019-07-26 14:32:26 2480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人