随笔分类 -  java

摘要:闲着无聊,写了一个对象转换成byte[]的工具类,支持整型按位写入(大大节省空间),具体步骤如下: 1. 定义实体类和注解 public class User { /** * ID,4个字节,32bit */ @JSONField(ordinal = 1) @BitPos(offset=0,size 阅读全文
posted @ 2024-01-23 17:59 追极 阅读(67) 评论(0) 推荐(0) 编辑
摘要:java中要实现excel新老格式的转换比较麻烦,开源库也没几个好用的。用ChatGpt查询也是推荐直接用POI,下面是借助ChatGPT写出来的代码,经过小小修改,格式转换良好,基本能用,就是效率比较低下。将就着用吧,哎! package com.yc.cloud.excel.util; impo 阅读全文
posted @ 2023-09-01 18:16 追极 阅读(526) 评论(0) 推荐(0) 编辑
摘要:package com.yc.cloud.excel.util; import cn.hutool.poi.excel.ExcelWriter; import lombok.extern.slf4j.Slf4j; import org.apache.poi.hssf.usermodel.HSSFCl 阅读全文
posted @ 2023-08-16 17:04 追极 阅读(436) 评论(0) 推荐(0) 编辑
摘要:背景 要集成chatGpt参考我上一篇文章即可。但是,如果要实现官网一样的效果,逐字输出,难度就提升了不少了。经过在官网的研究发现它应该是采用了SSE技术,这是一种最新的HTTP交互技术。SSE(Server-Sent Events):通俗解释起来就是一种基于HTTP的,以流的形式由服务端持续向客户 阅读全文
posted @ 2023-06-09 19:46 追极 阅读(822) 评论(0) 推荐(0) 编辑
摘要:一、开通OpenAI账号 1.注册OpenAI账号 官网地址:https://openai.com/ 注意:提前准备好国外手机号,没有的话用短信平台购买手机号接收短信 2.购买国外手机号 地址:https://tiger-sms.com/ 我用支付宝充值了30多元(起充要30,加上手续费30多有点坑 阅读全文
posted @ 2023-06-06 17:02 追极 阅读(664) 评论(0) 推荐(0) 编辑
摘要://将文件直接压缩至输出流 String[] fileNames = fileNameList.toArray(new String[0]); InputStream[] inputStreams = inputStreamList.toArray(new InputStream[0]); if ( 阅读全文
posted @ 2023-03-07 15:48 追极 阅读(1695) 评论(0) 推荐(0) 编辑
摘要:/** * 写Excel文件 * * @param data 数据 * @param configs 列配置 * @param destFile 目标文件 * @param templateFile 模板文件 * @param onlyAlias 是否仅写出有别名的列 * @param isWrit 阅读全文
posted @ 2022-12-08 16:37 追极 阅读(546) 评论(0) 推荐(0) 编辑
摘要:使用mybatis-plus批量插入的时候报错信息为:com.alibaba.druid.sql.parser.ParserException: syntax error, expect ')', pos 40, line 1, column 41, token EOF 排查sql日志发现生成的sq 阅读全文
posted @ 2022-11-24 14:50 追极 阅读(4353) 评论(0) 推荐(0) 编辑
摘要:var tbl = document.getElementById('sheetjs'); var wb = XLSX.utils.table_to_book(tbl); var ws = wb.Sheets["Sheet1"]; // get the current sheet console.l 阅读全文
posted @ 2022-10-11 16:53 追极 阅读(1310) 评论(0) 推荐(0) 编辑
摘要:public class CopySheetToFileTest { public static void main(String[] args) { File file = new File(CopySheetToFileTest.class.getResource("/bx.xlsx").get 阅读全文
posted @ 2022-10-10 18:57 追极 阅读(1261) 评论(0) 推荐(0) 编辑
摘要:背景 每张报表有个截止上报时间,截止时间的计算稍微复杂,下面记录一下自己的写作成果。当月月报截止时间下月xx号,当季季报截止时间下季第一个月。。。 数据结构 public enum ReportFrequencyEnum { YEAR("year", "年"), MONTH("month", "月" 阅读全文
posted @ 2022-08-23 20:37 追极 阅读(106) 评论(0) 推荐(0) 编辑
摘要:背景 异步树展开如果要实现展开回调比较困难,因为展开的过程是异步的。 前端:js引擎虽然是单线程执行,但是操作ui的线程是单独的,树的展开过程,就经历了js引擎线程+ui线程的过程,展开代码和展开回调的代码在不同时机执行的,本质上就是异步的。 展开回调的实现 展开回调的实现困难点在于判断展开结束的时 阅读全文
posted @ 2022-08-14 01:03 追极 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一、简介Spring Cloud Feign Client 是一个方便的声明式 REST 客户端,我们用它来实现微服务之间的通信。 在这个简短的教程中,我们将展示如何设置自定义的 Feign 客户端连接超时,包括全局和每个客户端。 2. 默认值Feign Client 是相当可配置的。 在超时方面, 阅读全文
posted @ 2022-08-04 22:48 追极 阅读(15934) 评论(1) 推荐(4) 编辑
摘要:Timer 基于单线程、系统时间实现的延时、定期任务执行类。具体可以看下面红色标注的代码。 public class Timer { /** * The timer task queue. This data structure is shared with the timer * thread. 阅读全文
posted @ 2022-07-01 22:23 追极 阅读(367) 评论(0) 推荐(0) 编辑
摘要:背景 一般我们可以用HashMap做本地缓存,但是HashMap功能比较弱,不支持Key过期,不支持数据范围查找等。故在此实现了一个简易的本地缓存,取名叫fastmap。 项目地址 github: https://github.com/hdwang123/fastmap gitee: https:/ 阅读全文
posted @ 2022-06-26 18:51 追极 阅读(108) 评论(0) 推荐(0) 编辑
摘要:背景 等值查找,有数组、列表、HashMap等,已经足够了,范围查找,该用什么数据结构呢?下面介绍java中非常好用的两个类TreeMap和ConcurrentSkipListMap。 TreeMap的实现基于红黑树 每一棵红黑树都是一颗二叉排序树,又称二叉查找树(Binary Search Tre 阅读全文
posted @ 2022-06-25 22:16 追极 阅读(704) 评论(0) 推荐(0) 编辑
摘要:简介 SPI(Service Provider Interface),是JDK内置的一种 服务提供发现机制,可以用来扩展和替换组件,主要是被框架的开发人员使用。 核心代码 spi接口定义 public interface UserSpi { /** * 获取用户信息 * * @param id 用户 阅读全文
posted @ 2022-06-09 20:39 追极 阅读(188) 评论(0) 推荐(0) 编辑
摘要:最近花了两周时间写了一个JAVA开源项目openapi, 项目是为了解决接口之间调用的加解密和验签问题。 项目地址: github: https://github.com/hdwang123/openapi gitee: https://gitee.com/hdwang123/openapi 项目介 阅读全文
posted @ 2022-06-03 14:21 追极 阅读(2349) 评论(0) 推荐(0) 编辑
摘要:背景 对外服务的接口为了安全起见,往往需要进行相应的安全处理:数据加密传输和身份认证。数据加密传输有对称加密和非对称加密两种,为了更加安全起见采用非对称加密比较好些,身份认证则采用数字签名可以实现。 程序流程 方案一:仅采用非对称加密 方案二:采用非对称加密+对称加密 核心代码(方案一) 客户端 p 阅读全文
posted @ 2022-05-27 23:42 追极 阅读(897) 评论(0) 推荐(0) 编辑
摘要:1.github上上传项目(略) 2.在sonatype上注册账号 https://issues.sonatype.org/secure/Dashboard.jspa 注意记住用户名和密码 3.在sonatype创建问题 4.新建完后客服会给提示 主要是要求:groupId要合理,需要按照要求在gi 阅读全文
posted @ 2022-05-27 17:56 追极 阅读(458) 评论(0) 推荐(0) 编辑