
java开发必备技能
文章平均质量分 51
cui-chang
这个作者很懒,什么都没留下…
展开
-
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 · 1116 阅读 · 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 · 733 阅读 · 0 评论 -
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 · 1755 阅读 · 0 评论 -
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 · 19731 阅读 · 0 评论 -
基于Nginx实现服务访问限流
nginx提供两种限流的方式:一是控制速率二是控制并发连接数1,控制速率控制速率的方式之一就是采用漏桶算法。(1)漏桶算法实现控制速率限流漏桶(Leaky Bucket)算法思路很简单,水(请求)先进入到漏桶里,漏桶以一定的速度出水(接口有响应速率),当水流入速度过大会直接溢出(访问频率超过接口响应速率),然后就拒绝请求,可以看出漏桶算法能强行限制数据的传输速率.示意图如下:实现配置:修改/usr/local/openresty/nginx/conf/nginx.conf:1.在原创 2020-05-12 15:24:03 · 397 阅读 · 0 评论 -
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 · 728 阅读 · 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 · 248 阅读 · 0 评论 -
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 · 487 阅读 · 0 评论 -
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 · 395 阅读 · 0 评论 -
Spring Cloud Gateway基于Redis实现令牌桶算法进行请求次数限流
1.令牌桶算法简介令牌桶算法是比较常见的限流算法之一,大概描述如下:1)所有的请求在处理之前都需要拿到一个可用的令牌才会被处理;2)根据限流大小,设置按照一定的速率往桶里添加令牌;3)桶设置最大的放置令牌限制,当桶满时、新添加的令牌就被丢弃或者拒绝;4)请求达到后首先要获取令牌桶中的令牌,拿着令牌才可以进行其他的业务逻辑,处理完业务逻辑之后,将令牌直接删除;5)令牌桶有最低限额,当桶中...原创 2020-04-27 15:34:10 · 1957 阅读 · 0 评论 -
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 · 216 阅读 · 0 评论 -
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 · 371 阅读 · 0 评论 -
通用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 · 1424 阅读 · 0 评论 -
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 · 1056 阅读 · 0 评论 -
基于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 · 206 阅读 · 0 评论 -
通过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 · 1485 阅读 · 0 评论 -
一键清理maven仓库无效文件
方式一搜索仓库地址下所有以lastUpdated结尾的文件并全部删除即可方式二通过编写脚本一键自动化清理,清理脚本文件下载地址第一步:通过链接:https://pan.baidu.com/s/1l6bG_ycgvlf_O1–BBvTyw 提取码:q4vs下载自动化清理脚本第二步:将脚本放置桌面点击鼠标右键编辑将REPOSITORY_PATH后跟路径修改为你本地仓库地址第三步:双...原创 2020-01-27 17:20:14 · 2103 阅读 · 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 · 1501 阅读 · 0 评论 -
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 · 956 阅读 · 0 评论 -
Swagger实现OpenAPI规范的工具集步骤详述
Swagger实现OpenAPI规范的工具集步骤详述1)引入依赖2)编写配置3)启动测试4)启动测试官网:https://swagger.io/#################################################################Swagger包含的工具集:Swagger编辑器:Swagger Editor允许您在浏览器中编辑YAML中的Ope...原创 2019-07-26 14:32:26 · 2570 阅读 · 0 评论