【Java技术】
文章平均质量分 74
java
Mr-Wanter
多看,多想。天底下最无本买卖的事情,就是从别人身上学一个好字。
展开
-
spring boot 接收第三方mq消息
mq 用的很少,简单记录一下。需求:数据提供方采用mq的方式推送数据,我方接收数据后,入库。判断mq是否可以联通。原创 2024-08-16 13:31:01 · 454 阅读 · 0 评论 -
xxl-job 动态创建一次性定时任务
特点:动态创建任务(无法硬编码设置任务。)、任务只执行一次后丢弃。类似预约会议,设置提醒。原创 2024-07-17 09:22:02 · 1798 阅读 · 0 评论 -
easyExcel 不规则模板导入数据
之前分享的EasyExcel 批量导入并校验数据,仅支持规则excel,即首行表头,下面对应数据,无合并单元格情况。模板excel 表头不在首行数据项有合并单元格情况esayexcel版本2.2.7。原创 2024-07-12 11:01:28 · 1222 阅读 · 0 评论 -
freemarker ftl模板 格式、列表、图片
固定内容word生成:freemarker ftl模板动态表格生成:https://blog.csdn.net/mr_wanter/article/details/126763195原创 2024-05-22 14:28:57 · 1731 阅读 · 0 评论 -
easyexcel 导出报错 java.lang.InternalError: java.lang.reflect.InvocationTargetException
easyexcel 导出报错java.lang.InternalError: java.lang.reflect.InvocationTargetException本地正常服务器导出生成的excel文件没有内容,服务器报错。原创 2024-02-21 16:32:25 · 1095 阅读 · 0 评论 -
关于缓存 db redis local 取舍之道
让我们来聊一下数据缓存,它是如何为我们带来快速的数据响应的。你知道吗,为了提高数据的读取速度,我们通常会引入数据缓存。但是,你知道吗,不是所有的数据都适合缓存,有些数据更适合直接从数据库查询。现在,我们就来一起讨论一下,什么样的数据适合直接从数据库查询,什么样的数据适合从缓存中读取。这将有助于我们更好地利用缓存,提高系统的性能。让我们开始吧!从前的无脑经验,db查询慢,redis缓存起来,redis真不一定快!一个简单性能测试:(测试响应时间均为二次查询的大概时间)原创 2024-01-22 16:22:50 · 645 阅读 · 0 评论 -
初识GroovyShell
项目背景:查询多个表的数据列表和详情,但不想创建过多的po、dao、resp等项目文件。原创 2023-12-13 14:50:52 · 813 阅读 · 0 评论 -
java 执行linux 命令
java 执行linux 命令;本文模拟复制linux文件到指定文件夹后打zip包后返回zip名称,提供给下载接口下载zip;原创 2023-12-13 09:32:24 · 2598 阅读 · 0 评论 -
java8 常用code
常用语法汇总。原创 2023-12-05 11:58:54 · 1120 阅读 · 0 评论 -
常用封装工具类
一、数字相关工具类1. 保留指定小数位2. 数字转汉字二、获取bean三、分页相关工具类1. 假分页,包含一些自定义类,可根据项目具体封装结构修改2. 分页序号四、时间工具类1. 星期获取2. 时间段耗时计算 [ x时x分 ]五、经纬度距离计算原创 2023-10-24 16:35:09 · 178 阅读 · 0 评论 -
swagger3+nginx访问swagger-config报404问题解决
http://localhost:8888/v3/api-docs/default时报404,本地访问正常。原创 2023-08-17 14:37:33 · 3515 阅读 · 1 评论 -
springboot vue 初步集成onlyoffice
对接onlyoffice,实现文档的预览和在线编辑功能。原创 2023-08-08 10:43:44 · 5427 阅读 · 10 评论 -
阿里巴巴 Java 开发手册部分整理
阿里巴巴 Java 开发手册原创 2023-06-21 16:28:34 · 1764 阅读 · 0 评论 -
EasyExcel 批量导出
上篇写了数据导入,本文补充一下EasyExcel 批量导出包括常规excel和复杂excel原创 2023-06-15 11:58:25 · 3684 阅读 · 2 评论 -
EasyExcel 批量导入并校验数据
EasyExcel 批量导入并校验数据。原创 2023-06-12 11:40:49 · 4520 阅读 · 3 评论 -
由 Direct buffer memory 引发的附件下载优化方案
本地上传大文件内存溢出 Direct buffer memory附件下载服务端传流给前端需要将流缓存完毕才可以下载,导致大文件下载系统崩溃。原创 2023-06-02 10:17:00 · 1203 阅读 · 0 评论 -
springboot X-Accel-Redirect 大文件下载实现
nginx代理附件路径,直接访问。无法控制用户的权限。服务端流式读取文件内容。这个过程需要后端进程将文件读取到内存中然后再发给用户,会造成很大的资源开销。如果你文件较大,可能会超时,并且会占用比较大的内存,当用户下载量很大时有可能造成程序的崩溃。服务端权限控制后通过X-Accel-Redirect 重定向到nginx代理地址。传输快、服务器IO低,但是无法跟踪下载进度。原创 2023-06-02 10:07:09 · 1173 阅读 · 0 评论 -
告警:线上慎用 BigDecimal !
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。转载 2023-05-23 17:19:05 · 223 阅读 · 0 评论 -
springboot 读取外部自定义配置文件
springboot 修改外部自定义配置文件,无需重启。原创 2023-05-12 17:12:50 · 556 阅读 · 0 评论 -
springboot 断点上传、续传、秒传实现
springboot 断点上传、续传、秒传实现。保存方式提供本地上传(单机)和minio上传(可集群)本文主要是后端实现方案,数据库持久化采用jpa检查文件块上传进度或秒传根据文件md5查询附件信息表,如果存在,直接返回附件信息。不存在查询分片信息表,查询当前文件分片上传进度,返回已经上传过的分片编号上传分片分片文件上传地址需要保证唯一性,可用文件MD5作为隔离上传后保存分片上传信息。原创 2023-05-10 16:28:24 · 1372 阅读 · 0 评论 -
SpringFox SpringDoc 附件ui展示
swagger 升级V3后发现swagger ui 对附件类型参数无法支持,springfox迁移springdoc后 附件类型参数无法支持。原创 2023-05-05 14:44:19 · 1128 阅读 · 4 评论 -
jackon.date-format 不生效
springboot 默认json 序列化使用jackon 正常配置jackon.date-format=yyyy-MM-dd HH:mm:ss 即可格式化日期格式,但是由于项目引用各种jar和拦截器,导致此配置失效。具体原因不明。该类可以放在底层common包内,这样其他服务引入common即可生效。原创 2023-02-03 09:31:54 · 1072 阅读 · 2 评论 -
分组 后获取创建时间 最新的一条
按纬度统计 但按照数据最新时间作为有效数据进行统计。例如:按今日的月份向前统计共计12个月的不同设备报警核实次数。核实表同一月份同一个设备报警可能被多次核实,但统计只取当前设备报警最后一次被核实作为有效次数。原创 2023-01-19 16:30:06 · 1056 阅读 · 0 评论 -
mapstruct 无法生成字段映射code
MapStruct 是一个 Java 注释处理器,用于生成类型安全的 bean 映射类。您所要做的就是定义一个映射器接口,该接口可以声明任何您所需的映射方法。在编译期间,MapStruct 将生成此接口的实现。这个实现使用普通的 Java 方法调用(get,set方法)来映射源对象和目标对象,而不是使用反射。项目编译后generated-sources\annotations路径下会找到编译后的文件,这里会对两个对象的属性一一set。原创 2022-12-23 12:14:27 · 2620 阅读 · 0 评论 -
jemeter 压测并生成报告
jmeter:是Apche公司使用Java平台开发的一款测试工具。原创 2022-12-14 21:44:24 · 3828 阅读 · 0 评论 -
maven setting 多仓库配置
maven setting 通常公司都有私服地址,但不是所有包私服上都有,这时就要用阿里云或者其他地址去拉包。那么我们可以直接设置setting 使其拉包时第一个地址拉取不到自动到第二个地址拉取以此类推可设置多个仓库地址进行补充。原创 2022-12-13 16:42:38 · 6671 阅读 · 0 评论 -
Spring Boot 对接口入参出参加密解密 注解版
根据需求可采用不同的接口加密方案全局拦截器,可定制接口规则局部拦截注解拦截,只对需要加密的接口进行加密。原创 2022-10-24 09:03:23 · 2168 阅读 · 0 评论 -
【java】poi-tl 1.9.1 word模板插入文本及动态复杂表格
word生成是较为常见的功能,通常解决方案有freemarker、poi-tl等。一般常规的word模板替换可采用第三方封装好的工具实现。本文涉及动态复杂表格的插入,最好还是采用poi-tl。poi-tl版本差异性较大,如果被版本束缚,较难找到对应版本的copy代码,这时候可以参考其他版本再对照自己版本的jar包文件来对应实现。poi版本差异较大,很难拿来即用。table样式RowRenderData的构建方式。合并单元格。原创 2022-09-08 14:39:41 · 6127 阅读 · 2 评论 -
Java 各类乱码类型及产生原因
乱码类型及产生原因鐢辨湀瑕佸ソ濂藉涔犲ぉ澶╁悜涓?����Ҫ�¨²�ѧϰ������由月è¦�好好å¦ä¹ ÓÉÔÂÒªºÃºÃѧϰÌìÌìÏòÉÏ由月要好好学习天天向??锟斤拷锟斤拷要锟矫猴拷学习锟斤拷锟斤拷锟斤拷...转载 2022-06-14 08:49:09 · 11776 阅读 · 0 评论 -
poi 读取word内容转html在线预览
文章目录前言一、java代码实现二、坑爹问题1.找不到方法2.NoSuchMethodError getPackageRelationship3.中文乱成这样,是什么鬼前言word内容预览步骤:word 数据读取word 内容数据格式保留注:本篇word基于2007 docx格式(doc格式没写),且文件保存地址为minio服务器。一、java代码实现 public String perviewDocx(String bucket, String objectName) throw原创 2022-04-15 16:11:13 · 2253 阅读 · 2 评论 -
== 和 equals
@TOC1. 比较原理== 比较的是内存地址equals比较的是值首先我们来了解一下JVM内存区结构:java把内存分两种:一种是栈内存,另一种是堆内存(1) 在函数中定义的基本类型变量和对象的引用变量都在函数的栈内存中分配;(2) 堆内存用来存放由new创建的对象和数组以及对象的实例变量。在函数(代码块)中定义一个引用变量时,java就在栈中为这个引用变量分配内存空间,当超过引用变量的作用域后,java会自动释放掉为该变量所分配的内存空间;在堆中分配的内存由java虚拟机的自动垃原创 2022-03-26 12:06:27 · 521 阅读 · 0 评论 -
lambda stream表达式字符串排序问题
文章目录基本用法总结基本用法@Data@Builderclass Student{ //学号 private String num; //姓名 private String name;}public class Test { @org.junit.Test public void Test1(){ List<Student> stu = new ArrayList<>(); stu.a原创 2022-02-10 16:50:06 · 4417 阅读 · 2 评论 -
logback的使用和logback.xml详解
文章目录一、logback的介绍二、logback取代log4j的理由三、logback的配置介绍3.1 Logger、appender及layout3.2 logger context3.3 有效级别及级别的继承3.4 打印方法与基本的选择规则四、logback的默认配置五、logback.xml常用配置详解5.1 根节点configuration5.2 子节点contextName5.3 子节点property5.4 子节点timestamp5.5 子节点appender5.6 子节点logger5.7转载 2022-02-09 11:11:11 · 3940 阅读 · 0 评论 -
JPA实体的四种状态
文章目录JPA中的实体对象拥有四种状态:一、瞬时状态二、托管状态三、游离状态四、删除状态JPA中的实体对象拥有四种状态:瞬时状态(transient)托管状态(persistent)游离状态(detached)删除状态 (deleted)一、瞬时状态瞬时状态的实体就是一个普通的java对象,和持久化上下文无关联,数据库中也没有数据与之对应。二、托管状态使用EntityManager进行find或者persist操作返回的对象即处于托管状态,此时该对象已经处于持久化上下文中,因此任转载 2022-02-07 13:58:27 · 3028 阅读 · 0 评论 -
SpringBoot 获取bean
文章目录前言一、ApplicationContext获取bean1.1 应用情景1.2 实现方式前言springboot 通常获取bean的方式通过@Resource或者@Autowired 获取容器中的bean。通过ApplicationContext 应用上下文获取一、ApplicationContext获取bean1.1 应用情景为了保持代码规整、风格统一,我们通常对数据库对象entity和返回出参转换应用mapstruct来转换,不在业务内循环赋值,但通常有类似保存了用户id但原创 2021-11-23 09:46:08 · 16963 阅读 · 0 评论 -
springboot Jpa多数据源(不同库)配置
一、前言springboot版本不同对多数据源配置代码有一定影响,部分方法和配置略有不同。本文采用的springboot版本为2.3.12,数据源为mysql和postgresql二、配置实战2.1 基础pom<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</ar原创 2021-08-13 11:38:40 · 198799 阅读 · 0 评论 -
springboot 多环境配置
文章目录前言一、父pom配置信息二、bootstrap使用profile2.1、profile变量引用2.2、maven指定配置前言一个项目需要适配多种开发环境,如数据库不同(mysql、oracle、db2等)、如开发环境不同(dev、pro、test)等不同的环境需要指定不同的配置。这种情况下,我们就可以采用配置Profiles来控制。在启动的时候指定不同的配置组合,maven进行build时会自动选择指定配置。 也可以通过创建多个配置文件不同后缀,手动指定spring.profiles.act原创 2021-07-28 11:45:52 · 3237 阅读 · 1 评论 -
java 优化编码
如何更规范化编写Java 代码Many of the happiest people are those who own the least. But are wereally so happy with our IPhones, our big houses, our fancy cars?忘川如斯,拥有一切的人才更怕失去。背景:如何更规范化编写Java 代码的重要性想必毋需多言,其中最重要的几点当属提高代码性能、使代码远离Bug、令代码更优雅。目录标题一、MyBatis 不要为了多个查询条转载 2021-07-28 11:28:27 · 6499 阅读 · 0 评论 -
minio部署及接口封装升级优化
minio部署及接口封装升级优化一、单机部署步骤二、多级目录创建三、url图片数据预览原创 2021-07-01 10:03:39 · 8192 阅读 · 1 评论 -
Java 异步多线程有哪些实现方式?
文章目录前言一、继承Thread二、实现Runnable接口三、Callable+FutureTask四、线程池前言异步多线程的四种方式:继承Thread实现Runnable接口实现Callable+FutureTask线程池一、继承Threadpublic class ThreadTest{ public static void main(String[] args) { Thread thread = new Thread01(); thread.s原创 2021-04-29 14:30:02 · 1340 阅读 · 0 评论