自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2021-05-29 06:41:24 3655

原创 java8对集合排序,多字段排序(升序和降序)(空值排到最后)

【代码】java8对集合排序,多字段排序(升序和降序)(空值排到最后)

2024-04-26 10:18:14 277

原创 Hutool分页工具 PageUtil

【代码】Hutool分页工具 PageUtil。

2024-04-10 15:16:23 729

原创 Iterator和Iterable的区别

Iterator和Iterable是Java编程语言中两个非常重要的接口,都是用于遍历集合类数据结构的。它们虽然有着很多相似的地方,但在实现细节和代码便捷性方面有所不同。在实际应用中,我们需要根据具体的业务场景来选择使用哪个接口。如果需要进行单向遍历、修改等操作,可以选择使用Iterator接口;如果需要进行双向遍历、只读操作等操作,则可以选择使用Iterable接口。无论哪个接口,都可以通过Java提供的语法糖来简化代码,使得集合遍历更加便捷、可读、易维护。

2024-03-08 17:26:06 1032

原创 Hutool中 常用的工具类和方法

日期时间工具类 DateUtil日期时间对象-DateTime类型转换工具类 Convert字符串工具类 StrUtil数字处理工具类 NumberUtilJavaBean的工具类 BeanUtil集合操作的工具类 CollUtilMap操作工具类 MapUtil数组工具-ArrayUtil唯一ID工具-IdUtilIO工具类-IoUtil加密解密工具类 SecureUtil验证码工具类 CaptchaUtil分页工具-PageUtilJava反射工具类 ReflectUtil

2023-08-04 13:57:23 660

原创 详解多线程与Spring事务

大多数情况下,把事务的启动、提交或者回滚全部交给Spring框架操作非常便捷,但有一种场景,如果有一个大批量数据需要操作,为提高处理效率,通常对数据进行分组,多线程处理,这个注解对事务就不起作用了。在实际项目中,在排查单线程、数据库等细节问题后,接口速度依旧很慢,于是决定使用多线程进行优化,同时使用到多线程事务,多线程进行任务拆分能提高效率,但需要考虑的因素也随之增多,如事务、线程安全性、实际提升效率等,因此应结合业务场景,优先考虑单线程优化,再考虑多线程优化。虽然不能通过事务内,发起多线程处理。

2023-04-03 11:32:10 1253 1

原创 使用java8 Lambda对List对象的常用操作

【代码】使用java8 Lambda对List对象的常用操作。

2023-03-31 14:07:02 795

原创 API接口分页方案

一次性返回全量数据集的场景几乎不存在,所以出现了数据分页的需求。本文将总结常见的列表样式以及接口分页设计相关问题。

2023-03-30 09:53:31 517

原创 HuTool_字符串工具-StrUtil

这个工具的用处类似于Apache Commons Lang中的StringUtil。

2023-03-27 15:11:42 6114

原创 Java8 Stream根据某字段分组统计

【代码】Java8 Stream根据某字段分组、多字段求和。

2023-03-27 09:28:39 2164

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

自制免安装版JDK(zip)

2022-09-23 16:58:15 417

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

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

2022-08-03 08:46:06 2058

原创 java8分组统计 map groupBy

java8分组统计

2022-07-21 13:06:00 2275

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

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

2022-07-21 12:52:42 3360

原创 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 770 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 794

原创 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 1740

原创 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 15112 3

原创 java 字符串替换

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

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

原创 MySQL优化完美解决方案

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

2022-05-21 21:34:35 334

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

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

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

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

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

2022-05-20 17:17:27 496

原创 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 819

原创 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 1610

原创 一款可视化的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 977

原创 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 13125

原创 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 7139

原创 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 244

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

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

2022-05-12 12:15:09 1502

原创 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 1710

原创 git分支实战操作

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

2022-05-10 11:08:18 1746

原创 优雅的代替繁多的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 223

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

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

2022-05-09 16:14:44 507

原创 多表查询 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 3816 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 750

原创 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 10594

原创 日期工具类

/** * @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 96

原创 Maven各个版本下载

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

2022-05-05 14:41:42 2232

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

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

2022-05-05 10:57:29 1550 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 934

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关注的人

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