
Java
文章平均质量分 63
privateobject
is null
展开
-
springCloudGateway+nacos自定义负载均衡-通过IP隔离开发环境
根据轮询策略 改造,这块代码倒还好实现。直接注入spring中,获取不到服务列表,看了spring实现,要完全替换需要注入好几个类,有点麻烦。最后改成运行时替换。先根据请求IP查询IP相同的服务再找和网关IP相同的服务最后轮询其他IP服务import org/*** 自定义路由负载均衡->初始化,负载均衡策略: 先找请求IP查询IP相同的服务、再找和网关IP相同的服务、最后轮询其他IP服务。原创 2025-01-15 10:59:53 · 1268 阅读 · 0 评论 -
jdk8-获取本机ip、判断ip范围、ip与long互转等
> 在配置nginx的ip白名单时候,会通过ip段进行配置(如 10.10.10.10/24),就在思考这种配置怎么通过代码解析并判断,故通过搜索网络内容,并通过java编写测试代码。代码及说明来源网络,并进行了部分调整。故有疑问请提出来,本人小白一枚,勿喷> 代码内容:获取本机ip、判断ip范围、ip与long互转等原创 2022-12-13 15:30:53 · 578 阅读 · 1 评论 -
java测试示例-生成ULID
ULID全称Universally Unique Lexicographically Sortable Identifier,直译就是通用唯一按字典排序的标识符,特点:UUID兼容、高性能、字母顺序排序、标准编码为26个字符的字符串、使用Crockford的base32算法来提高效率和可读性(每个字符5 bit)、不区分大小写、没有特殊字符串(URL安全,不需要进行二次URL编码)、可单调排序(正确地检测并处理相同的毫秒,所谓单调性,就是毫秒数相同的情况下,能确保新ULID随机部分的在最低有效位上加1位原创 2022-12-06 12:02:30 · 3507 阅读 · 0 评论 -
springBoot集成mybatis使用ResultHandler返回map数据类型
> 在 springBoot 的 web 项目中,平时查询数据返回都是:集合 list 、实体类 bean 、数量 int / long 。如果返回 map ,也是`Map`或`Map`,直接返回`Map`或`Map`会报错,通过查询得知,可以使用 ResultHandler 实现。> ResultHandler,对返回的结果进行处理,最终得到自己想要的数据格式原创 2022-10-17 17:41:25 · 3795 阅读 · 0 评论 -
SpringBoot替换容器内注入的Bean
> 在开发的过程中,经常引入别人写的jar包实现某功能。而别的jar包一般都自动注入Spring容器中,假设都是通过@Bean、@Service或@Component注入的,并且没有加入@ConditionalXXX等注解,导致无法替换掉别人的实现,假设这时就想替换掉,那该如何实现呢?> 1. BeanDefinitionRegistry 是一个接口,它定义了关于 BeanDefinition 的注册、移除、查询等一系列的操作。> 2. BeanDefinitionRegistryPostProcess原创 2022-10-08 17:02:24 · 4651 阅读 · 0 评论 -
java方法-处理命名方式互转(蛇形和驼峰形)-在线测试
> 参数的命名方式:蛇形法 全由小写字母和下划线组成,在两个单词之间用下滑线连接即可, :first_name、last_name驼峰法是当变量名或函式名是由一个或多个单词连结在一起,而构成的唯一识别字时, 第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母, :firstName、lastName> 可读性:蛇形用下划线拉大词距,更清楚易读;驼峰的变量名紧凑,节省行宽易写性:驼峰以大小写为区分,不引入额外的标识符;蛇形统一小写,输入相对方便原创 2022-09-20 16:40:09 · 1471 阅读 · 0 评论 -
jdk 8-future 异步处理-轮询isDone判断完成-springBoot示例
Future接口用于获取异步计算的结果,可通过get()获取结果、cancel()取消、isDone()判断是否完成等操作。get阻塞方式,任务不是最早结束的就能得到结果值,是按照自定义key的 顺序获取结果。isDone轮询方式,任务是在主线程循环判断,结果顺序是和任务耗时有关,代码较多。个人见解,如有问题请指出。...原创 2022-07-29 10:34:30 · 2873 阅读 · 0 评论 -
spring-java使用Validation参数验证-自定义校验器
> 在开发JAVA服务器端代码时,我们会遇到对外部传来的参数合法性进行验证,而hibernate-validator提供了一些常用的参数校验注解,我们可以拿来使用。> spring-boot-web,内嵌了hibernate-validator,并且hibernate-validator依赖tomcat-el包。在使用webflux容器下,会报错。将 hibernate-validator 改为 spring-boot-starter-validation,其中有jakarta.el替代实现el.....原创 2022-07-19 17:30:22 · 3574 阅读 · 1 评论 -
java-处理文本文件-大量试题重排序
文本文件的内容是试题,并且格式工整,不想用人工排序并追加md的标题。当前使用idea工具,在win10系统中操作,使用java8,使用hutool进行文件读写。原创 2022-07-06 16:00:38 · 146 阅读 · 0 评论 -
spring-boot-webflux-demo-反应式接口
Spring Framework 5包含一个新 spring-webflux 模块。该模块包含对反应式HTTP和WebSocket客户端的支持以及反应式服务器Web应用程序(包括REST,HTML浏览器和WebSocket样式交互) spring web-flux 支持2种不同的编程模型1. 支持Spring MVC @Controller 这种注解,用法大同小异 2. 函数式 Java 8 lambda 风格的路由函数处理请求...原创 2022-06-28 19:01:10 · 907 阅读 · 0 评论 -
对称加密DES、AES、SM4-池化-接入spring项目请求解密响应加密
开发项目使用的spring boot web 项目,需求是 部分接口 需要 支持 报文密文和明文传输 动态切换。 请求解密或明文、响应加密或明文,通过度娘搜索和综合考虑(就自己简单分析一下最简单的实现)。当前实现的密码算法:DES、3DES、AES、SM4,只展示 DES和SM4 其他类似使用apache.commons.pool2池化包,加速处理报文使用 接口 统一 加解密操作使用RequestBodyAdviceAdapter和ResponseBodyAdvice<?>处理spri.原创 2022-04-19 14:53:48 · 1191 阅读 · 0 评论 -
commons-pool2(2.6.2)实现对象池-jdk8
commons-pool2(2.6.2)实现对象池-jdk8springboot web项目中,有很多 非线程安全类(jdk自带或者第三方包引入),每次都创建一个 不太友好。就使用 commons-pool2 实现对象池处理,有两种实现方式:GenericObjectPool<T>,GenericObjectPoolConfig<T>GenericKeyedObjectPool<T>,GenericKeyedObjectPoolConfig<T>原创 2022-03-29 11:20:30 · 2910 阅读 · 0 评论 -
自定义POI的excel工具类-xls-xlsx
自定义POI的excel工具类-xls-xlsx使用jdk8(java8)实现Excel导出,随意切换 xls和xlsx。自己只是封装了比较常用方法,07版生成还有bug。ε=(´ο`*)))唉jdk版本java version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)mav原创 2022-03-24 18:16:08 · 702 阅读 · 3 评论 -
java-POI的Excel默认字体和样式
java中POI的Excel内置字体和样式java版poi内置的Font和CellStyle,本来以为是没有的,通过代码测试 发现有还不一样。POM引用<poi.varsion>3.17</poi.varsion><!--xls 解析生成--><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId&g原创 2022-03-21 16:57:51 · 2278 阅读 · 0 评论 -
java中CompletableFuture实现业务串行和并行组合执行异步编程
jdk1.8,java8,CompletableFuture,并行,组合,处理业务逻辑,异步编程原创 2022-03-10 11:09:36 · 634 阅读 · 0 评论 -
mybatis3.5.3中 if 支持的逻辑语法
mybatis3.5.3中 if 支持的逻辑语法 <EOF> "," ... "=" ... "?" ... "||" ... "or" ... "&&" ... "and" ... "|" ... "bor" ... "^" ... "xor" ... "&" ... "band" ... "==" ... "eq" ... "!="原创 2022-01-18 15:41:18 · 452 阅读 · 0 评论 -
spring-swagger获取接口url和接口名称
spring-swagger获取接口url和接口名称在spring boot 项目,很多使用 swagger 做接口文档编写。但是怎么集中获取 项目内接口url。通过查看 swagger接口,提取如下代码import com.alibaba.fastjson.JSON;import io.swagger.models.Swagger;import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org..原创 2021-12-21 16:32:24 · 4063 阅读 · 3 评论 -
jdk8-Base64工具类
项目中涉及到 base64转码,使用jdk原生类处理编码转换工具类代码import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.nio.charset.Charset;import java.nio.charset.StandardCharsets;import java.util.Base64;/** * Base64工具类 * * @author z.y.l * @version v1.0 * .原创 2021-12-16 11:48:00 · 817 阅读 · 0 评论 -
java使用MessageDigest信息摘要算法
java使用MessageDigest信息摘要算法,md5、sha-1、sha-256使用算法-枚举import java.math.BigInteger;import java.nio.charset.StandardCharsets;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * 消息摘要算法 * * @version v1.0 * @date 202.原创 2021-12-14 18:13:39 · 2429 阅读 · 0 评论 -
java清理文件路径-保留数字、斜杠、大小写字母
java代码 处理 输入的路径,防止出现异常字符,双斜杠、符号点.等路径非法字符。代码比较简陋。可能还有其他情况没考虑,对照代码没有贴出来。暂时记录如下参考链接ASCii码表代码 private String clearErrorPath(String path,boolean isRoot){ StringBuilder sb = new StringBuilder(); if( isRoot ){ if( StringUtils..原创 2021-11-21 19:23:11 · 577 阅读 · 0 评论 -
java 限定时间内多次调用目标函数-模拟调度任务
java 限定时间内多次调用目标函数-模拟调度任务最近,spring boot项目中用到了调度任务,执行特定任务代码。使用的xxl-job处理调度。但是 每次都执行一次目标功能,每次只处理固定数量数据(调用第三方接口限制了数量),造成数据处理过慢,尤其是在需要大量数据需要处理(十万或百万),但是又不是经常有大量数据。就考虑,怎么在一个调度周期内尽可能多的处理数据量,提升数据消化速度。一开始想到的是,压缩调度周期,由原来的几分钟改为1分钟或更短,但是调度调用日志就很多,且大部分时间都是没有数据处理。原创 2021-11-08 13:53:23 · 589 阅读 · 1 评论 -
springBoot使用redis获取自增序号
获取自增序号springBoot使用redis获取自增序号pom文件参考代码java代码lua脚本测试代码配置springBoot使用redis获取自增序号spring boot 集成 redis clientpom文件 <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot&l原创 2021-10-26 20:49:47 · 1945 阅读 · 2 评论 -
SpringBoot-Kafka-监听-禁止自启动问题
参考链接:SpringBoot - Kafka的集成与使用详解12(消费者7:动态开启、关闭监听)…报错:org.springframework.kafka.listener.ListenerExecutionFailedException: invokeHandler Failed ; nested exception is java.lang.IllegalStaeException: No Acknowledgment available as an argument, the listene.原创 2021-08-25 16:42:27 · 3192 阅读 · 0 评论 -
java8的list分组-类字段分组-及分组后排序
jdk8(java8),list 集合 分组,stream 流处理,groupingBy 使用两种分组方式的代码参考Stream流使用groupingBy+mapping实现对分组之后的对象集合转化为对象的某个属性的集合测试代码import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Set;import java.util.stream.Collectors;/**.原创 2021-08-16 15:39:22 · 20623 阅读 · 0 评论 -
idea 查找未使用的代码
在 idea 中 快速 搜索 无用 变量、代码块等idea 查找未使用的代码查找未使用的代码输入:unused declaration运行的弹窗运行结果原创 2021-06-29 14:48:01 · 1684 阅读 · 0 评论 -
IDEA 2020.1.2 社区版 这是咋了?
今天在使用IDEA 2020.1.2 社区版的时候,发生了如图的现象触发的时机是,拖动窗口大小以前别的版本好像没注意,不知道为啥。好像只有编辑md格式会出现。好懵啊,难道是渲染的问题?原创 2020-06-09 22:21:37 · 1233 阅读 · 0 评论 -
JDK8 VM配置 官方
官方网站 概要java [选择] 类名[args]java [选择] -jar 文件名[args]javaw [选择] 类名[args]javaw [选择] -jar 文件名[args]选项:命令行选项用空格分隔。请参阅选项。 班级名称 要启动的类的名称。文件名:要调用的Java归档(JAR)文件的名称。仅与-jar选项一起使用。args:传递给mai...原创 2020-05-06 11:42:30 · 2165 阅读 · 0 评论 -
java 中 list集合 截取 函数
Java list有几十万条数据,每100条为一组取出解决“java 中 list集合中有几十万条数据,每100条为一组取出来如何实现,求代码!!!”的问题。原文链接:实现java 中 list集合中有几十万条数据,每100条为一组取出/*** 实现java 中 list集合中有几十万条数据,每100条为一组取出* @param list 可穿入几十万条数据的List* @re...原创 2019-12-04 09:59:15 · 4936 阅读 · 2 评论 -
java代码实现-统计代码的小工具-base版
在检查项目的代码时,就想想有没有可以统计代码行数的小工具类。就上度娘查,专业的感觉比较麻烦,代码写的还是找到了。Java统计代码的小工具看了他的代码,并且考下来跑了一下,挺好的,能用。但是只能统计java代码,就在想能不能统计别的语言的代码呢?经过几个版本的代码修改,中间的代码太烂就不放出来了,嘿嘿。最终代码,自己感觉比开始的好点了,就是多线程暂时没考虑,如果后期有时间就试着弄一下...原创 2018-09-06 11:23:17 · 1576 阅读 · 2 评论 -
老项目涉及到的java引入jar整理
activation.jar JAF框架的jar包,用于封装数据,并为应用程序提供访问和操作数据的接口,jbpm依赖 antlr-2.7.6.jar 没有此包,hibernate不会执行hql语句。并且会报NoClassDefFoundError:antlr/ANTLRException错误,jbpm依赖 aopalliance-1.0.jar 这个包是AOP联盟的API...原创 2018-08-14 12:10:09 · 1099 阅读 · 2 评论