自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(768)
  • 资源 (2)
  • 收藏
  • 关注

原创 SpringCloud Alibaba微服务实战三十三- Spring Cloud Alibaba 全家桶

Spring Cloud for Alibaba,它是由一些阿里巴巴的开源组件和云产品组成的。这个项目的目的是为了让大家所熟知的 Spring 框架,其优秀的设计模式和抽象理念,以给使用阿里巴巴产品的 Java 开发者带来使用 Spring Boot 和 Spring Cloud 的更多便利。...

2021-05-29 06:41:24 2678

原创 .exe自制免安装版JDK(zip)

自制免安装版JDK(zip)

2022-09-23 16:58:15 152

原创 解决端口占用问题 Port xxxx was already in use

taskkill /F /pid PID注意:PID是该进程的ID

2022-08-03 08:46:06 1237

原创 java8分组统计 map groupBy

java8分组统计

2022-07-21 13:06:00 1171

原创 Java8 Stream list转map及问题解决

详解Java8新特性Stream之list转map及问题解决

2022-07-21 12:52:42 2506

原创 AOP实现接口限流

前言限流方案Java限流及常用解决方案Guawa限流应用@Slf4j@RestController@RequestMapping("/limit")public class LimitController { /** * 限流策略 : 1秒钟2个请求 */ private final RateLimiter limiter = RateLimiter.create(2.0); private DateTimeFormatter dtf = Date

2022-05-26 10:14:22 313 1

原创 Springboot 统一异常处理 Assert @ControllerAdvice

前言上一篇SpringBoot 参数检验Assert使用了解了SpringBoot 参数检验Assert的使用,我们是不是可以自定义Assert,来实现自定义异常呢?用 Assert(断言) 替换 throw exceptionAssert.notNull(user, “用户不存在.”); 代替throw new IllegalArgumentException(“用户不存在.”);IResponseEnum/** * @author liu * @date 2022年05月25日 11:1

2022-05-25 15:06:09 327

原创 springboot整合redisson实战(二)Redisson分布式锁的使用

redisson锁说明Redisson是基于Netty实现的,是更高性能的第三方库。实现了可重入锁(Reentrant Lock)、公平锁(Fair Lock、联锁(MultiLock)、 红锁(RedLock)、 读写锁(ReadWriteLock)等。应用lockpackage com.andon.springbootdistributedlock.util;import lombok.extern.slf4j.Slf4j;import org.redisson.Redisson;imp

2022-05-24 17:02:03 862

原创 springboot整合redisson实战(一)整合 redisson-spring-boot-starter

文章目录前言引入redisson依赖redisson-spring-data与Spring Boot version的版本对应关系maven依赖配置文件redisson.yml多节点配置使用 RedissonClient前言SpringBoot整合Redisson有个比较好用的starter包就是redisson-spring-boot-starter,这也是官方比较推荐的配置方式引入redisson依赖只需引入redisson-spring-boot-starter就可以了,不过这里需要注意spr

2022-05-24 11:24:52 7147 2

原创 java 字符串替换

文章目录字符串替换方法Java字符串替换指定位置的字符字符串替换方法在Java 中,String 类提供了 3 种字符串替换方法,分别是 replace()、replaceFirst() 和 replaceAll()replace() 方法replace()方法用于将目标字符串中的指定字符(串)替换成新的字符(串)replace(String oldChar, String newChar)replaceFirst() 方法replaceFirst()方法用于将目标字符串中匹配某正则表达

2022-05-21 21:55:13 25054 1

原创 MySQL优化完美解决方案

文章目录优化mysql数据库总则数据库设计和表创建时就要考虑性能索引选择合适的数据类型选择合适的索引列sql的编写需要注意优化引擎分区分表分库云数据选择腾讯云DCDB开源解决方案优化mysql数据库总则数据库设计和表创建时就要考虑性能sql的编写需要注意优化分区分表分库数据库设计和表创建时就要考虑性能设计表时要注意:表字段避免null值出现,null值很难查询优化且占用额外的索引空间,推荐默认数字0代替null。尽量使用INT而非BIGINT,如果非负则加上UNSIGNED(

2022-05-21 21:34:35 174

原创 SpringBoot 自定义注解+AOP+Redis 实现分布式锁

前言分布式环境下多个不同线程需要对共享资源进行同步,那么用Java的锁机制就无法实现了,这个时候就必须借助分布式锁来解决分布式环境下共享资源的同步问题。aop 通过设置切面,当切面设置的目标类的方法被调用时,aop 框架会拦截此次调用,源码中 pointCut 类里有两个核心属性,即 ClassFilter 类过滤器与MethodMatcher 方法匹配器,aop基于其两个核心来进行拦截,拦截之后aop机制会通过jdk或cglib生成动态代理对象,调用增强类的增强方法进行功能织入。@AspectJ 是

2022-05-21 17:02:26 408 1

原创 服务雪崩效应及如何应对

服务的雪崩在微服务之间进行服务调用是由于某一个服务故障,导致级联服务故障的现象,称为雪崩效应。雪崩效应描述的是提供方不可用,导致消费方不可用并将不可用逐渐放大的过程。 在分布式系统中,由于网络原因或自身的原因,服务一般无法保证 100% 可用。如果一个服务出现了问题,调用这个服务就会出现线程阻塞的情况,此时若有大量的请求涌入,就会出现多条线程阻塞等待,进而导致服务瘫痪。​ 由于服务与服务之间的依赖性,故障会传播,会对整个微服造成严重后果,这就是服务故障的 “雪崩效应” 。Service A的流量波动很大

2022-05-20 17:17:27 326

原创 SpringBoot 对Logback日志系统进行配置

文章目录为什么使用logback开始使用配置logback-spring.xml 三个单词:Logger, Appenders and Layouts(记录器、附加器、布局):元素元素元素ConsoleAppenderRollingFileAppender滚动策略元素元素根据profile的配置来指定日志输出的配置,可以在logback-spring.xml中用springProfile标签logback-xml配置文件还可以从spring环境(即application.properties)中动态获取值

2022-05-20 09:10:36 442

原创 MySQL case when ,if 函数用法

case when… then… else… end:CASE 字段 WHEN 预期值 THEN 结果1 ELSE 结果2 ENDscore 表:mysql> select * from score;+----+----------+------+------+-------+| id | name | sex | age | score |+----+----------+------+------+-------+| 1 | zhangsan | 1 | 19

2022-05-19 21:07:04 613

原创 一款可视化的Redis管理工具-Another Redis DeskTop Manager

文章目录前言项目地址前言“ Another Redis DeskTop Manager 是 GitHub 上的一个开源项目,是 Redis 可视化管理的利器,提供在 Windows、MacOS 平台的安装包,体积小,完全免费。”提供了以可视化的方式管理 Redis 的功能,可供免费下载安装,也可以在此基础上进行二次开发,主要特点有:支持 Windows 平台和 MacOS 平台支持查询 Key、查看单个 Key、Redis 运行状态支持 String、List、Hash、Set、Zset 类型的

2022-05-19 20:56:16 773

原创 Java8 对list集合中的bigdecimal进行分组求和,均值,最大值,最小值

新建接口ToBigDecimalFunction@FunctionalInterfacepublic interface ToBigDecimalFunction<T> { BigDecimal applyAsBigDecimal(T value);}新建工具类CollectorsUtilpublic class CollectorsUtil { static final Set<Collector.Characteristics> CH_NOID =

2022-05-19 20:49:33 5103

原创 restTemplate 发送get,post请求,占位符传参

restTemplate 发送get 不带参数 @Operation( summary= "保存数据", description = "保存数据") @GetMapping(value = "/addTasks1") public ReturnModel<Integer> addTasks1() throws IOException { String url = "http://127.0.0.1:8080/api/task/test";

2022-05-19 17:39:23 2218

原创 ENUM枚举类实战应用

应用场景前端页面查询条件为一个起止日期前端传到后台直接为 今日 本周 本月 本年等汉字,后端需要查询必须把这些汉字转化为日期范围。这种第一想到的是if(本周){}else if(本年){}等,这样写很难维护代码,下面用枚举类来实现下面用代码来实现。枚举类import cn.hutool.core.date.DateTime;import cn.hutool.core.date.DateUtil;import java.time.ZoneId;import java.util

2022-05-12 12:28:07 147

原创 idea中修改git提交代码的用户名和邮箱地址

打开C盘里的 .gitconfig文件再查看git用户名和邮箱地址命令:$ git config user.name$ git config user.email

2022-05-12 12:15:09 1107

原创 mybatis-plus QueryWrapper查询条件组装

文章目录前言in条件组装 比如sys_code in(",",'')le ge eq等 < > =前言条件查询首先使用QueryWrapper创建一个wrapper对象存放条件。例如: //创建一个QueryWrapper的对象 QueryWrapper<User> wrapper = new QueryWrapper<>(); //通过QueryWrapper设置条件 //ge gt le lt

2022-05-12 12:10:01 917

原创 git分支实战操作

文章目录准备在本地创建仓库连接远程仓库将远程仓库的文件保存在本地将所有本地文件添加到本地仓库提交本地文件到仓库上传到远程仓库错 not a git repository (or any of the parent directories): .git至此一个master添加一个文件完成实际开发中我们不可能在master分支上进行开发创建本地分支基于本地master分支创建分支基于远程master分支创建分支(命令窗口进入工程根目录):创建远程分支本地新分支推送创建远程分支GitHub上创建远程分支创建的同名

2022-05-10 11:08:18 191

原创 优雅的代替繁多的if/else(一)

前言系统都有角色的概念,不同用户分配不同的角色,每个角色访问的资源及权限不一样比如:系统管理员( ROLE_ROOT_ADMIN):有 A操作权限订单管理员( ROLE_ORDER_ADMIN):有 B操作权限普通用户( ROLE_NORMAL):有 C操作权限比如一个用户进来,我们需要根据不同用户的角色来判断其有哪些行为,这时候常见的代码出现了:public void opt(String roleName) { String result = ""; i

2022-05-10 08:50:58 116

原创 springboot 配置文件application.properties 中文乱码

修改IDEA编码但是这个配置⽂件⼏乎⽆法再使⽤记事本修改了。。。⽤记事本打开编辑时,发现内容被修改成了unicode编码,如果线上部署后,查找问题或者查找配置很难发现。将application.properties改为application.yml就是将application.properties的⽂件修改为application.yml的结构。...

2022-05-09 16:14:44 329

原创 多表查询 Mybatis Plus 自定义方法实现分页

一般办法一般物理分页,即通过sql语句分页,都是在sql语句后面添加limit分页语句,在xml文件里传入分页的参数,再多配置一条sql,用于查询总数: <select id="queryStudentsBySql" parameterType="map" resultMap="studentmapper"> select * from student limit #{currIndex} , #{pageSize} </select> &

2022-05-09 15:02:19 3196 3

原创 springboot集成webservice接口

引入jar <properties> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.source>1.8</maven.compiler.source> <spring.boot.version>2.6.3</spring.boot.version> <spri

2022-05-06 17:25:40 577

原创 Hutool 常用工具类介绍-DateUtil

前言日期格式转化及计算,比较使我们最常用的功能,现就工具类用法归结如下字符串转日期DateUtil.parse 方法DateUtil.parse 方法会自动识别一些常用格式,包括:yyyy-MM-dd HH:mm:ssyyyy/MM/dd HH:mm:ssyyyy.MM.dd HH:mm:ssyyyy年MM月dd日 HH时mm分ss秒yyyy-MM-dd yyyy/MM/ddyyyy.MM.dd HH:mm:ssHH时mm分ss秒yyyy-MM-dd HH:mmyyyy-MM-d

2022-05-06 12:05:11 3464

原创 日期工具类

/** * @name 时间工具类 */public class DateUtils { /** * 获取昨天 * @return String */ public static String getYestoday() { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); Date time = cal.getTim..

2022-05-05 15:11:00 50

原创 Maven各个版本下载

官网下载历史版本1.maven下载地址(1)、打开Mvaen官网下载地址https://maven.apache.org/index.html(2)进入历史版本下载地址选一个稳定版本进入二进制版本是编译好的,可以直接使用。源码版本未经编译,需要自行编译选择二进制版本,点击进入下载。下载下来后直接解压就可以使用了。...

2022-05-05 14:41:42 1552

原创 Autowired注解与Resource注解的区别及Spring同类型多个Bean的注入问题

文章目录Autowired注解与Resource注解的区别两者的用法两者的共同点两者的不同点具体应用如果两个实现类解决Spring同类型多个Bean的注入问题用Autowired注解使用 @Primary 指定一个 Bean 为主要的,存在冲突时默认选择主要的 Bean使用 @Qualifier 指定具体 Bean 的名称,通过名称注入解决冲突。使用Resource注解总结Autowired注解与Resource注解的区别两者的用法其实这两个注解的作用都一样,都是在做bean的注入,在使用过程中,两个

2022-05-05 10:57:29 777 1

原创 springcloud 启动 Run Dashboard

springcloud微服务通常有多个,启动的时候找到每一个启动类启动。多模块或者微服务开发启动多个模块比较麻烦 Idea提供了Run Dashboard控制台,同时还看不到端口号。idea提供了一个Run Dashboard工具对启动类进行管理。IDEA在2021版本做了很大的改动, 不再是Run Dashboard窗口, 取而代之的是Services窗口.找到项目路径下,.idea下面的 workspace.xml 文件, 加入一段配置代码<component name="RunDashbo

2022-05-05 08:48:50 699

原创 Spring Cloud Stream应用RocketMQ实例

Spring Cloud Stream应用RocketMQ实例pom版本依赖查看https://github.com/alibaba/spring-cloud-alibaba/releases<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst

2022-04-29 14:36:24 318 1

原创 Spring Cloud Stream应用RocketMQ

Spring Cloud Stream应用RocketMQ文章目录Spring Cloud Stream应用RocketMQSpring Cloud Stream?Spring Cloud Stream 重要概念:Spring Cloud Stream与RocketMQ应用:Spring Cloud Alibaba RocketMQ Binder 实现MessageSource 支持配置选项RocketMQ Binder PropertiesRocketMQ Consumer PropertiesRock

2022-04-29 13:25:46 2015

原创 rocketmq运维控制台使用详解

搭建好了RocketMQ的console之后,直接在浏览器打开http://localhost:端口号会进入到驾驶舱(dashboard)。总览菜单更换语言切换语言,英语 汉语运维主要是设置nameserver和配置vipchannel设置nameserver:可以添加多个nameserver地址到输入框内,默认读取的是console启动配置里面的nameserver配置。如果rockermq集群里有加入新的nameserver节点,可以在这里动态配置后更新生效。打开/关闭vipch

2022-04-29 09:02:39 2300 2

原创 maven中央仓库及本地仓库配置,配置阿里云仓库

https://mvnrepository.com

2022-04-28 11:04:11 1856

原创 @DateTimeFormat @DateTimeFormat失效原因及测试填坑记录

@DateTimeFormat @DateTimeFormat失效原因及测试一、时间传值前端时间控件,一般情况下直接会传一个yyyy-MM-dd的日期字符串到后台。这个时候如果我们直接用java.util.Date类型就无法正确接收到。或者我们从数据库里查到DateTime类型并且用java的Date类型接收并返回给前台的时候,前台也无法用yyyy-MM-dd的形式进行呈现。这个时候,前面两种情况分别对应了@DateTimeFormat和@JsonFormat注解的使用。二、@DateTimeFo

2022-04-26 15:57:46 2487

原创 IDEA智能提示不区分大小写

IDEA默认是代码提示是区别大小写的,但是这个在IDEA是可以设置不去区分打开IDEA的File->settings,在Code Completion里把这个Match case的勾选去掉就可以了

2022-04-25 18:16:08 877

原创 idea设置eclipse风格快捷键及常用快捷键

修改使用Eclipse风格的快捷键 步骤:File-->settings-->keymap,选择eclipse,点击apply生效

2022-04-25 15:19:59 8788 2

原创 java8 list转map 及Duplicate key

@SpringBootTest(classes = DemoApplication.class)@Slf4jpublic class ListToMapTest {@Testpublic void test() { List<Student> list = new ArrayList<>(); list.add(Student.builder().id(1).code(2).name("aa").build()); list.add(Student.b.

2022-04-21 15:41:17 469

原创 swagger Authorization测试

访问地址Swagger各版本访问地址:3.+访问地址:http://localhost:8081/{context-path}/swagger-ui/index.html2.+ 访问地址:http://localhost:8081/{context-path}/swagger-ui.html验证登录系统,打开F12请求头部分会看到如图所示部分复制Matnr-Test-Access-Token部分到swagger value部分,再复制请求主体部分就可以用swagger测试了...

2022-04-21 15:38:11 920

SpringCloud第2季2020.3.2.mmap

springCloud2详细介绍 nacos系列 netflex系列应用 系统整理 包含服务注册,限流熔断

2020-07-13

sigar.rar库文件

Sigar为不同平台提供的不同的库文件 windows平台:sigar-x86-winnt.dll linux平台:libsigar-x86-linux.so或 solaris平台: libsigar-x86-solaris.so或libsigar-sparc-solaris.so或libsigar-sparc64-solaris.so 64位平台:分为至强的libsigar-ia64-linux.so和AMD的libsigar-amd64-linux.so,sigar-amd64-winnt.dll

2020-03-29

空空如也

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

TA关注的人

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