自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (8)
  • 收藏
  • 关注

原创 Java Formatter 类上的中文注释

打印格式字符串的解释器。该类提供了对布局调整和对齐数字、字符串和日期/时间数据的通用格式以及特定于语言环境的输出的支持。支持常用 Java 类型 {@code byte}, {@link java.math.BigDecimal BigDecimal} 和 {@link Calendar}。可以通过 {@link Formattable} 接口为任意用户类型提供有限的格式定制。对于多线程访问,格式化程序不一定是安全的。线程安全是可选的,是该类中方法用户的责任。

2023-08-11 15:02:05 243

原创 Springboot项目使用原生Websocket

*** 机器人模块WebSocket接口* 每一次websocket请求,RobotWebSocketServer都是一个新的实例,所以成员变量是安全的* 以致虽然类由@Component注释,但不可使用@Autowired等方式注入bean/*** 所有初始化操作都写在@OnOpen注释的方法中* 连接成功log . info("连接成功:{}, {}" , id , this . user . getUserCode());

2023-06-21 13:45:13 2662

原创 兼容所有浏览器的拖拽功能代码

兼容上古IE6、上古火狐浏览器,也兼容现代浏览器。以下是在现代chrome浏览器下的效果。

2023-06-08 16:21:56 258

原创 PCM音频格式转WAV音频格式

目前只支持文件和二进制数组。java原生代码pcm转wav

2023-05-27 22:21:04 712

原创 RSA签名加密解密

支持的密钥长度包括4种 RSA512、RSA1024、RSA2048、RSA4096支持的签名算法包括7种 MD2withRSA、MD5withRSA、SHA1withRSA、SHA224withRSA、SHA256withRSA、SHA384withRSA、SHA512withRSAJava 和 Javascript 支持的生成密钥对签名加密解密功能可以通用。

2023-02-24 12:13:26 1186

原创 swf 图片转 pdf

java swf 图片转 pdf

2023-01-10 13:02:08 580 2

原创 ES报文辅助生成工具-JavaFX

此程序为基于 Java8 开发的 JavaFX Maven 工程,是 Java 组装ElasticSearch请求报文工具的辅助 Java 代码生成工具,方便开发者快速编写代码。现学现用,写得不好。应用图标路径CharEnum.javaLineToken.javaFormatConfig.javaCodeFormatUtils.java核心类FileUtils.java用于持久化ConfigScheduledService.java保存配置的任务FormatScheduledS

2023-01-09 10:03:11 730

原创 基于Jackson2的JsonSchema实现java实体类生成json(二)

 同时支持Json和Xml核心工具类Json2Utils.java怎么使用测试用的实体类Base.javaBaseDt.javaScore.javaTestMap.javaStudent.java用法JsonUtils类转Springboot2以代码的方式统一配置Jackson->Jackson工具类

2022-11-16 12:01:18 1015

原创 java原生代码验证xml是否存在语法错误

*** 验证xml文档是否存在语法错误* @throws RuntimeException 校验程序出错* @throws IllegalArgumentException 校验未通过try {if(!throw new IllegalArgumentException("xml:" + xml + "语法错误" , errorHandler . getFatalErrorExceptions() . get(0));

2022-10-25 18:39:07 865

原创 Mysql kill耗时sql进程

当数据库表执行写sql存在死锁,或执行读sql存在耗时时,便会导致数据库性能明显下降或不可用。

2022-09-14 16:57:35 2545 1

原创 通过xsd校验xml

throw new NullPointerException("未找到" + xsdPath + "校验文档");valid) {throw new RuntimeException("校验程序出错");throw new RuntimeException("校验程序出错" , e);} if(!

2022-09-07 15:50:34 1947 1

原创 基于LibreOffice转换文档

LibreOffice开源免费,支持Windows、Linux、MacOS平台,需要先在服务器上安装LibreOffice软件,如果转换结果出现乱码,则还需要在服务器上安装字体。安装过程,略本文重点在于java代码的封装,其中使用过程基于SpringBoot不需要手动启动LibreOffice软件,一切由框架掌握,转换效果不输其它框架。...

2022-08-07 00:07:30 1209

原创 linux发送http请求收集

json数据要放在单引号里面。json数据要放在单引号里面。key3的值为文件路径。

2022-07-17 16:38:44 339

原创 Mybatis返回的对象列表包含null

当Mybatis查询到的结果映射到的实体(包括Map)字段都为null时,则不实例化对象,而是直接返回null

2022-07-17 16:29:47 924

原创 Java组装ElasticSearch请求报文工具

本文工具类不依赖第三方,尽可能直观用Java代码展示Json报文结构

2022-06-19 01:13:01 488

原创 一次恶心的删除minio文件之旅

刚入职一家公司,需求下来了需求由于minio占用空间极速扩大,目前已有3.5T,其中有一个桶buket1下的images目录(就是存放图片的)所占空间为1.5T,只保留最近几天的文件,两天内删除以前全部的文件。分析image目录下都是1KB-1MB的小文件,每天按日期yyyyMMdd产生一个目录,并且文件都放在各自的md5目录下,这就导致一个目录下存在几万甚至十几万个目录文件。举个栗子:http://ip:port/buket1/images/20210601/526F6BCD5661D393CA

2022-05-03 00:14:06 14467 9

原创 POI安全-压缩炸弹

今天用poi操作xlsx文件时,报错如下18:49:22.124 [main] ERROR org.apache.poi.openxml4j.opc.internal.marshallers.ZipPartMarshaller - Cannot write: /xl/media/image1.emf: in ZIPjava.io.IOException: Zip bomb detected! The file would exceed the max. ratio of compressed file

2022-05-01 20:07:58 3290

原创 do while 的妙用

准备工作有下面这样一个类结构class R1 { private String t1; public R1(String t1) { this.t1 = t1; } public String getT1() { return t1; } public void setT1(String t1) { this.t1 = t1; } }class R2 { private R1 r1; public R2(R1 r1) { this.r1 = r1

2022-04-23 00:31:40 514

原创 Mysql更新百万历史数据

场景目前在main库里有一张main_test表,数据大约1000万CREATE TABLE main.main_test ( id BIGINT NOT NULL COMMENT '主键ID', name VARCHAR(100) COMMENT '名称', PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='主表';需求为给main_test表

2022-04-02 18:51:30 2994

原创 OpenFeign根据服务名动态调用服务

本文作为springboot注解Aspect文章的补充,切面拦截方法,将方法所有信息及服务名称持久化到数据库。审批的时候,从数据库获取服务名称动态调用服务。实体类示例中的响应实体类@Getter@Setterpublic class Response<T> { private String code; private String msg; private String description; private T data;}示例中的方法参数

2022-03-28 11:31:23 3406 1

原创 Elasticsearch使用script更新long类型的数据

项目里有人用script,更新部分字段大概是这样的POST sz_index_mean/_update_by_query{ "query": { "match_phrase": { "sz.sz_title": "Java加密技术" } }, "script": { "source": "ctx._source.sz['sz_top_time'] = long类型的数据", }}当long类型的数据在int类型范围内时,"source": "

2022-03-24 15:58:00 2753

原创 Spring获取参数的泛型信息

本文作为springboot注解Aspect文章的补充,让使用者不再手动指定拦截方法的参数类型。最根本的是使用spring的 ResolvableType 工具类获取方法的参数类型Jackson工具类package com.proc.util;import java.lang.reflect.Type;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.JavaT

2022-01-16 14:41:26 1345

原创 java 获取调用代码所在的类

package com.xxx.demo.common.util;public abstract class ClazzUtil { /** * @return 调用方的全限定类名 */ public final String getClazzName() { return getClazz().getName(); } /** * @return 调用方的全限定类 */ public final Class<?> getClazz() { retu

2022-01-08 23:38:01 1261

原创 springboot注解Aspect

目录目标实现POM一些实体类CheckedParamProcessDbModel测试用的入参对象一些工具类JacksonCanonicalUtilStringZipUtilBase64UtilSpringBootBeanUtilProcessBeanUtilCheckedTransmitableUtilPrivateTransmitableUtil一些BeanPostProcessTestCheckPostProcessAspect注解切面类 CheckedAop线程池配置持久化service审批用的ser

2022-01-08 22:13:40 1882

原创 Jackson自定义注解修改字段名

自定义一个注解 JsonName.classimport static java.lang.annotation.ElementType.FIELD;import static java.lang.annotation.ElementType.METHOD;import static java.lang.annotation.RetentionPolicy.RUNTIME;import java.lang.annotation.Retention;import java.lang.annotat

2021-12-19 23:13:29 1350

原创 Jackson序列化Xml声明

目录公共实体类最简单的序列化添加Xml声明Jackson生成xml声明源码第一步在XML声明中使用双引号创建 WstxOutputFactory 的子类创建XmlMapper对象完整代码优化 WstxOutputFactory 的子类公共实体类@JacksonXmlRootElement(localName = "stu")public class Stu { private String name; private String age; public String getName()

2021-12-18 23:56:31 2315

原创 Jackson自定义注解

目录用三种方案实现共用类适配实体类 CcyAmt.class序列化实现类 CcySerializer.class反序列化实现类 CcyDeserializer.class1、最简单的实现Ccy注解 直接指定策略在 Person.class 字段上直接添加Cyy注解简单使用 XmlMapper打印结果2、使用 MixIn 功能仍然是Ccy注解 直接指定策略未添加注解的 Person.classCcyMixIn.class 给指定字段混入注解使用 XmlMapper 添加混入策略打印结果3、使用 Annotat

2021-12-12 21:01:17 1765

原创 网页版俄罗斯方块

兼容性兼容IE10,现代浏览器效果图项目结构tetris  css    tetris.css  js    tetris.js  tetris.htmltetris.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>俄罗斯方块</title> <link rel="stylesheet

2021-11-20 21:00:00 3383

原创 Spring 注入多例 Bean

如何在单例 bean 中注入多例 Bean ?目录配置多例 Bean再来个单例 Bean错误示例方式一 使用 @Lookup方式二 使用 ObjectProvider@Lookup 的局限及 ObjectProvider 的强大使用 @Lookup 注入使用 ObjectProvider 注入结语配置多例 Beanpublic interface ProtoService { void test1(); void test2();}//使用 @Service 注册@Service@

2021-11-14 00:50:51 5558

原创 Spring boot 当@Primary遇到循环依赖

今天debug代码时,遇到一个坑public interface LoopService { void testLoop(); void testInnerLoop();}@Servicepublic class DefaultLoopService implements LoopService { private static final Logger log = LoggerFactory.getLogger(DefaultLoopService.class); @Overri

2021-11-10 22:09:35 628

原创 网页版空当接龙

已经一年没写前端代码了,为了上班划水,三天写了个空当接龙游戏兼容性兼容现代浏览器效果图项目结构free-cell  css    free-cell.css  img    存放图片素材  js    free-cell.js  free-cell.html图片素材命名规则num-color-type.pngnum–数字(1 - 13)color–颜色(1-红色 2-黑色)type–类型(1–红心 2-黑桃 3-梅花 4-方块)free-cell.html<!D

2021-10-30 18:31:06 6359 4

原创 使SpringBoot配置文件application.properties支持中文

目录版本说明为什么不支持中文PropertySourceLoader接口PropertiesPropertySourceLoader类OriginTrackedPropertiesLoader类重写读取application.properties文件的逻辑1.创建OriginTrackedPropertiesLoader文件2.创建PropertiesPropertySourceLoader文件3.创建spring.factories文件测试最后版本说明本文不完全基于springboot-2.4.5,各

2021-10-14 14:42:16 1111

原创 Spring Aspect切面执行顺序(一)

目录@Aspect 5种通知单一切面新版本执行顺序旧版本执行顺序多切面新版本执行顺序旧版本执行顺序@Aspect 5种通知通知类型类型名称执行时间点可获取返回值目标方法异常时是否会执行@Before前置通知方法执行之前否是@Around环绕通知环绕方法执行是自己控制@After后置通知方法执行之后否是@AfterReturning返回通知方法执行之后是否@AfterThrowing异常通知方法抛出异常之后否是

2021-08-30 20:26:21 1314

原创 springboot以代码的方式配置sharding-jdbc水平分表

多数项目可能是已经运行了一段时间,才开始使用sharding-jdbc。本教程就如何配置sharding目录关于依赖shardingsphere-jdbc-core-spring-boot-startershardingsphere-jdbc-core数据源DataSource原DataSourceShardingJdbcDataSource完整的ShardingJdbcDataSource配置分表策略主要的类其他的分表配置类groovy行表达式说明properties配置结语关于依赖sharding

2021-08-17 02:20:04 501 2

原创 生成银行卡号校验位和校验银行卡号

大多数银行卡为16位或19位,所以只支持16位或19位的银行卡最后一位是校验位,银行卡校验规则基于Luhn算法以卡号6212280200141664948为例校验过程为:去掉校验位 8,得621228020014166494卡号倒数偶数位相加,即 9 + 6 + 1 + 1 + 0 + 0 + 2 + 1 + 6 = 26卡号倒数奇数位分别乘以2,即 4、4、6、4、0、2、8、2、2分别乘以2,得 8、8、12、8、0、4、16、4、4奇数位乘以2得到的如果是两位数,则个位和十位相加.

2021-07-14 21:29:07 4371

原创 基于Jackson2的JsonSchema实现java实体类生成json(一)

 除Swagger等文档插件,全网首发目录核心工具类Json2Utils.java怎么使用测试用的实体类Base.javaBaseDt.javaScore.javaTestMap.javaStudent.java用法转换结果核心工具类Json2Utils.javapackage com.xxx.demo.common.util;import java.util.Arrays;import java.util.Iterator;import java.util.Map;import jav

2021-06-20 23:08:10 1137

原创 基于Redis获取全局唯一序列

目录原理缺点使用示例核心逻辑Redis分布式锁锁key的枚举类分布式锁工具类基于哨兵模式Jedis工具类的部分代码原理前提redis全局唯一,可以是哨兵模式。redis每天按日期为key保存序列已被使用的值的限。客户端每次从redis申请5000个序列值,申请到的序列值用完后或客户端重启后,再从redis申请5000个序列值,这样只要客户端没有可用的序列,就从redit中申请。缺点客户端重启,会浪费掉原先申请到的序列;redis服务器未将序列实时保存到硬盘时,重启redis,可能造成大量序列冲突。

2021-05-10 17:18:09 763

原创 一劳永逸 让SpringBoot项目所有框架使用logback打印日志

目录Maven全局排除依赖Maven排除依赖的方式有三种使用同名空jar包替换的方式,实现全局排除依赖功能pom.xml配置spring-boot-starter-loggingjcl-over-slf4j替换commons-logginglog4j-over-slf4j替换log4jjul-to-slf4j替换java.util.logginglog4j-to-slf4j替换log4j-slf4j-impllogback-spring.xml部分配置最后声明Maven全局排除依赖Maven排除依赖的方

2021-04-29 17:36:44 409

翻译 SLF4J官网统一日志框架教程(翻译)

SLF4J官网http://www.slf4j.org/legacy.html翻译:桥接旧版API通常,您依赖的某些组件依赖于SLF4J以外的日志API。 您可能还假设这些组件在不久的将来不会切换到SLF4J。 为了处理这种情况,SLF4J附带了几个桥接模块,这些模块会将对log4j,JCL和java.util.logging API的调用重定向,就好像是对SLF4J API进行的操作一样。 下图说明了这个想法。从Jakarta Commons Logging(JCL)迁移到SLF4Jjcl-

2021-04-29 02:17:02 1806

原创 mysql不同条件批量更新

准备工作create table mastertable (id INT,uname VARCHAR(32),primary key (id))create table slavetable (id INT,uname VARCHAR(32),primary key (id))两表关联更新将表mastertable中与表slavetable的id相等的数据的uname字段更新为表slavetable的uname字段的值。UPDATE mastertable m INNER JOIN

2021-03-30 20:45:15 609

EsJsonTool.zip ES报文辅助生成工具

适用于 Java组装ElasticSearch请求报文工具 https://blog.csdn.net/daodfs111/article/details/125353817 根据ElasticSearch的json报文生成相应的格式化java代码 此工具基于java8的javafx开发,所以电脑上必须安装java8环境

2023-01-08

spring-boot-maven-plugin-中文参考文档-2.7.5

spring-boot-maven-plugin-中文参考文档-2.7.5.pdf

2022-11-24

测试poi操作xlsx的压缩炸弹xlsx文件

文件无卵用,只能用作个人测试,禁止侵权

2022-05-01

free-cell.zip

网页版空当接龙源码 含一套扑克牌素材图片315x440px

2021-10-24

Hibernate-Validator-6.2.0中文参考文档.pdf

Java Bean Validation 2.0(JSR303、JSR349、JSR380)Hibernate-Validation 6.2.0参考文档(中文版)

2021-01-20

Thymeleaf + Spring-3.0.11中文参考手册.zip

本教程解释如何将Thymeleaf与Spring框架集成,特别是(但不仅是)Spring MVC。 为了充分理解本教程,您应该首先理解深入解释Thymeleaf标准方言的“使用Thymeleaf”教程。

2020-10-31

dialog-1.0.1.zip

使用原生js开发的alert和confirm,使用简单,在IE11下调试兼容IE5-IE11,兼容Chrome浏览器,除IE6按钮无hover效果外,其他方面在各浏览器下表现一致。移动端请绕道

2020-08-16

jquery-easyui1.9.4中文参考手册.zip

jquery-easyui1.9.4中文参考手册.chm 企业级开发前端框架,兼容性好,封装性高,新手止手快,不需要高深的前端技术就能实现复杂的页面 本人亲手翻译整理

2020-06-26

获得管理员权限.zip

本人在win7上使用这个reg脚本好几年了,不到1KB,双击就能获得管理员权限,非常方便。其他版本系统还没用过

2020-04-30

win7中electron打包exe必须的系统底层程序.zip

包含.NET Framework 4.5.2、Windows Management Framework (WMF) 5.1、PowerShell 6.0.0

2020-04-30

空空如也

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

TA关注的人

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