随笔分类 - java
摘要:Java 项目中 CPU 占用持续过高的问题可能与多种因素有关,比如死循环、线程问题、垃圾回收频繁等。以下是排查 Java 项目 CPU 占用过高的常见步骤和方法: 1. 初步诊断系统层面问题 使用系统工具初步检查 CPU 占用高的进程和线程情况: 使用 top 命令:找出哪个 Java 进程(PI
阅读全文
摘要:package org.example.core; import org.activiti.bpmn.converter.BpmnXMLConverter; import org.activiti.bpmn.model.Process; import org.activiti.engine.Repo
阅读全文
摘要:/** * 获取扩展属性 * * @param delegateTask 委托任务对象 * @return 扩展属性Map */ public Map<String, String> getExtensionProperties(DelegateTask delegateTask) { Map<St
阅读全文
摘要:/** * 生成数据文件 * * @param data 数据 * @param fileName 文件名 * @return 数据文件对象 * @throws IOException */ private File generateDataFile(List<List<String>> data,
阅读全文
摘要:闲着无聊,写了一个对象转换成byte[]的工具类,支持整型按位写入(大大节省空间),具体步骤如下: 1. 定义实体类和注解 public class User { /** * ID,4个字节,32bit */ @JSONField(ordinal = 1) @BitPos(offset=0,size
阅读全文
摘要:java中要实现excel新老格式的转换比较麻烦,开源库也没几个好用的。用ChatGpt查询也是推荐直接用POI,下面是借助ChatGPT写出来的代码,经过小小修改,格式转换良好,基本能用,就是效率比较低下。将就着用吧,哎! package com.yc.cloud.excel.util; impo
阅读全文
摘要:package com.yc.cloud.excel.util; import cn.hutool.poi.excel.ExcelWriter; import lombok.extern.slf4j.Slf4j; import org.apache.poi.hssf.usermodel.HSSFCl
阅读全文
摘要:背景 要集成chatGpt参考我上一篇文章即可。但是,如果要实现官网一样的效果,逐字输出,难度就提升了不少了。经过在官网的研究发现它应该是采用了SSE技术,这是一种最新的HTTP交互技术。SSE(Server-Sent Events):通俗解释起来就是一种基于HTTP的,以流的形式由服务端持续向客户
阅读全文
摘要:一、开通OpenAI账号 1.注册OpenAI账号 官网地址:https://openai.com/ 注意:提前准备好国外手机号,没有的话用短信平台购买手机号接收短信 2.购买国外手机号 地址:https://tiger-sms.com/ 我用支付宝充值了30多元(起充要30,加上手续费30多有点坑
阅读全文
摘要://将文件直接压缩至输出流 String[] fileNames = fileNameList.toArray(new String[0]); InputStream[] inputStreams = inputStreamList.toArray(new InputStream[0]); if (
阅读全文
摘要:/** * 写Excel文件 * * @param data 数据 * @param configs 列配置 * @param destFile 目标文件 * @param templateFile 模板文件 * @param onlyAlias 是否仅写出有别名的列 * @param isWrit
阅读全文
摘要:使用mybatis-plus批量插入的时候报错信息为:com.alibaba.druid.sql.parser.ParserException: syntax error, expect ')', pos 40, line 1, column 41, token EOF 排查sql日志发现生成的sq
阅读全文
摘要:var tbl = document.getElementById('sheetjs'); var wb = XLSX.utils.table_to_book(tbl); var ws = wb.Sheets["Sheet1"]; // get the current sheet console.l
阅读全文
摘要:public class CopySheetToFileTest { public static void main(String[] args) { File file = new File(CopySheetToFileTest.class.getResource("/bx.xlsx").get
阅读全文
摘要:背景 每张报表有个截止上报时间,截止时间的计算稍微复杂,下面记录一下自己的写作成果。当月月报截止时间下月xx号,当季季报截止时间下季第一个月。。。 数据结构 public enum ReportFrequencyEnum { YEAR("year", "年"), MONTH("month", "月"
阅读全文
摘要:背景 异步树展开如果要实现展开回调比较困难,因为展开的过程是异步的。 前端:js引擎虽然是单线程执行,但是操作ui的线程是单独的,树的展开过程,就经历了js引擎线程+ui线程的过程,展开代码和展开回调的代码在不同时机执行的,本质上就是异步的。 展开回调的实现 展开回调的实现困难点在于判断展开结束的时
阅读全文
摘要:一、简介Spring Cloud Feign Client 是一个方便的声明式 REST 客户端,我们用它来实现微服务之间的通信。 在这个简短的教程中,我们将展示如何设置自定义的 Feign 客户端连接超时,包括全局和每个客户端。 2. 默认值Feign Client 是相当可配置的。 在超时方面,
阅读全文
摘要:Timer 基于单线程、系统时间实现的延时、定期任务执行类。具体可以看下面红色标注的代码。 public class Timer { /** * The timer task queue. This data structure is shared with the timer * thread.
阅读全文
摘要:背景 一般我们可以用HashMap做本地缓存,但是HashMap功能比较弱,不支持Key过期,不支持数据范围查找等。故在此实现了一个简易的本地缓存,取名叫fastmap。 项目地址 github: https://github.com/hdwang123/fastmap gitee: https:/
阅读全文
摘要:背景 等值查找,有数组、列表、HashMap等,已经足够了,范围查找,该用什么数据结构呢?下面介绍java中非常好用的两个类TreeMap和ConcurrentSkipListMap。 TreeMap的实现基于红黑树 每一棵红黑树都是一颗二叉排序树,又称二叉查找树(Binary Search Tre
阅读全文