自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (5)
  • 收藏
  • 关注

原创 ldl-DeserializationViewer一款强大的序列化数据可视化工具

ldl-DeserializationViewer是一款Java序列化数据可视化工具,可将二进制序列化数据直接转换为可读JSON格式,无需原始DTO类。该工具解决了生产环境中缓存数据难以查看、调试困难等痛点问题,支持Web和命令行双模式运行,采用Javassist和ASM动态生成字节码技术。通过简单配置即可连接不同环境的Redis实例,提供用户友好的Swagger UI界面和脚本化操作能力,适合开发和运维人员快速排查缓存相关问题。

2025-06-26 22:28:23 686

原创 easy-caffeine一个简洁灵活易用基于caffeine的本地缓存框架

asy-Caffeine是一个基于Caffeine的轻量级本地缓存框架,旨在解决原生Caffeine的局限性并满足业务需求。它提供了统一API、内存权重淘汰机制、单条TTL设置、可配置化管理等功能,支持通过JSON配置热更新和灵活扩展。使用简单,只需引入依赖即可快速上手,适合作为Redis等分布式缓存的轻量替代方案。项目采用模块化设计,核心包含LocalCacheStore、LocalCacheApi等组件,未来计划集成监控指标和Spring Boot Starter支持。

2025-06-26 00:01:38 987

原创 DeserializationViewer使用说明

传统序列化数据(jdk序列化,protbuf等协议) ,存储在缓存(redis,文件等)中无法直接解析,想要获取明文数据必须依赖原始DTO,并且必须实现序列化接口Serilizable,且serilizationUID必须相同,否则直接报异常。如果不同的序列化数据要实现转换,没有办法做到通用性。这大大提升了线上数据问题排查,跨系统接口对接的难度,而原生java没有提供相应的解决办法,所以需要用新的工具来解决。

2025-06-24 22:00:52 747

原创 DeserializationViewer使用说明

该工具是用来查询redis存储的值和序列化的数据,支持根据不同环境动态配置或输入ip端口的方式,不需依赖序列化dto的jar包,支持redis设置密码的查询和单机或集群方式查询,项目支持springboot打包,如果是不支持springboot的环境可以用assembly方式打包成控台使用。

2025-06-19 22:15:36 974

原创 SynchronousQueueworkQueue.offer() 和 poll() 方法的超时控制及线程池的讨论

workQueue.offer() 和 poll() 方法的超时控制讨论

2024-11-12 11:31:05 372

转载 【Java 并发编程】线程池机制 ( 线程池执行任务细节分析 | 线程池执行 execute 源码分析 | 先创建核心线程 | 再放入阻塞队列 | 最后创建非核心线程 )

【Java 并发编程】线程池机制 ( 线程池执行任务细节分析 | 线程池执行 execute 源码分析 | 先创建核心线程 | 再放入阻塞队列 | 最后创建非核心线程 )

2024-11-12 10:33:03 59

原创 ScheduledThreadPoolExecutor 定制化线程池任务调度底层原理

ScheduledThreadPoolExecutor定制化线程池任务调度及起底层原理

2024-11-11 11:47:31 735

原创 runnable和callable区别和底层原理

虽然 `Callable` 不直接实现 `Runnable`,但是它们被设计为构建在统一的执行机制上,因此在实际执行过程中常常通过某种适配器(如 `FutureTask`)来间接地使用 `Runnable` 的执行模型。- **FutureTask** 是一种实现了 `Runnable` 和 `Future` 接口的类,允许你将 `Callable` 转换成一个 `Runnable` 对象,以便它可以被线程执行,并提供与 `Future` 相同的特性来处理结果。适用于不需要返回值或处理异常的简单任务。

2024-11-08 01:04:39 402

转载 Mybatis中Like 的使用方式以及一些注意点

Mybatis中Like 的使用方式以及一些注意点

2024-11-07 14:30:36 342

原创 NGINX 错误日志与访问日志的区别分析

NGINX 错误日志与访问日志的区别分析

2024-11-07 13:13:11 353

原创 如果没有 Telnet 客户端,你可以使用其他工具来检查远程主机的端口状态

如果没有 Telnet 客户端,你可以使用其他工具来检查远程主机的端口状态

2024-11-04 14:39:42 1128

原创 查看 Nginx 安装目录与配置文件位置的方法

查看 Nginx 安装目录与配置文件位置的方法

2024-11-04 11:04:07 2082

原创 org.apache.http.impl.client.CloseableHttpClient的时候如果发生异常

org.apache.http.impl.client.CloseableHttpClient的时候如果发生异常

2024-10-20 03:51:32 1170

原创 Apache HttpClient库中一个功能的描述

Apache HttpClient库中一个功能的描述

2024-10-20 03:19:36 1200

原创 鲁迅为什么打周树人?今天的昨天是明天的什么?chatgpt4.0告诉你

鲁迅为什么打周树人?今天的昨天是明天的什么?chatgpt4.0告诉你

2023-10-22 20:17:11 2222

原创 鲁迅为什么打周树人?今天的昨天是明天的什么?chatgpt4.0告诉你

鲁迅为什么打周树人?今天的昨天是明天的什么?chatgpt4.0告诉你

2023-10-22 20:13:04 610

原创 ChatGPT从小白到大神进阶之路:让GPT格式化输出

GPT 是一种大型语言模型,可以生成文本、翻译语言、编写不同类型的创意内容,并以信息丰富的方式回答您的问题。它还可以格式化输出,这意味着您可以指定输出的内容和格式。要格式化 GPT 的输出,您需要在问题或提示的末尾添加一个格式化选项。例如,如果您想让 GPT 以表格格式列出世界上销量最高的 10 本书,您可以输入以下内容:请告诉我世界上销量最高的 10 本书,以表格格式输出。GPT 将以表格格式列出书名、作者和销量。

2023-09-17 22:51:29 3783

原创 ClaudeAPi接入

ClaudeAPi接入

2023-09-11 14:10:00 1214 1

原创 sql的count函数优化

sql的count函数优化

2023-08-04 16:19:22 867

原创 chatgpt-LLM工程化的潜在风险 -- 恶意SQL攻击

chatgpt-LLM工程化的潜在风险 -- 恶意SQL攻击

2023-07-30 15:56:52 190

转载 干货分享:全球企业最常见的5种GPT提问方式及人工智能的企业级应用场景

干货分享:全球企业最常见的5种GPT提问方式及人工智能的企业级应用场景

2023-07-27 23:08:06 401

转载 使用ChatGPT教学的七个案例

使用ChatGPT教学的七个案例

2023-07-27 23:02:49 1374

转载 4个公式8个案例学会与AI GPT对话

4个公式8个案例学会与AI GPT对话

2023-07-27 22:59:28 318

原创 Gpt智能聊天可以做哪些事,新手怎么使用Gpt工具

Gpt智能聊天可以做哪些事,新手怎么使用Gpt工具

2023-07-26 22:02:59 323

原创 ChatGPT常用指令大全,存下吧!很难找全的!

ChatGPT常用指令大全,存下吧!很难找全的!

2023-07-26 21:56:01 1292

原创 如何让GPT自己命令自己?榨干最后一丝智能,解放双手!

如何让GPT自己命令自己?榨干最后一丝智能,解放双手!

2023-07-26 14:19:59 267

原创 常用的缓存工具有ehcache、memcache和redis,这里介绍spring中ehcache的配置。

常用的缓存工具有ehcache、memcache和redis,这里介绍spring中ehcache的配置。

2023-07-11 13:28:13 992

转载 Instrument机制

Instrument机制

2023-02-09 01:48:37 190

转载 如何获取java运行时动态生成的class文件

如何获取java运行时动态生成的class文件

2023-02-09 01:31:13 650

原创 Error:java: Compilation failed: internal java compiler error

Error:java: Compilation failed: internal java compiler error

2023-02-08 23:45:04 233

转载 ASM简介

ASM简介

2023-02-07 01:18:36 3376 1

转载 JVM核心类加载器及类加载的全过程

java类记载器详解

2023-02-05 02:26:18 184

原创 三款反编译工具

三款反编译工具

2022-12-18 18:08:02 20272 1

原创 java线程的六种状态

java线程的六种状态

2022-12-17 16:47:58 553

转载 什么是AQS

AQS是AbstractQueuedSynchronizer的简称

2022-12-17 16:04:49 260

转载 Thread.sleep、Object.wait、LockSupport.park 区别

Thread.sleep、Object.wait、LockSupport.park 区别

2022-12-17 15:38:04 455

转载 lockInterruptibly()方法能够中断等待获取锁的线程

lockInterruptibly()方法能够中断等待获取锁的线程

2022-12-17 15:13:31 219

原创 IDEA 报红线,Unable to import maven project: See logs for details具体解决方法

IDEA Unable to import maven project: See logs for details具体解决方法

2022-12-16 18:17:04 758

转载 集合转数组,必须使用集合的toArray(T[] array),长度为0的空数组的原因

集合转数组,必须使用集合的toArray(T[] array),长度为0的空数组的原因

2022-12-16 17:22:35 561

转载 在IDEA下导入Maven项目之后 Dependencies报红线

在IDEA下导入Maven项目之后 Dependencies报红线

2022-12-16 16:22:16 1497

C++实现的射击游戏

该游戏,类似于射击游戏,首先,从窗口顶部的随机位置产生随机的分值为:1,5,10,-20的4种运动的位图。窗口下面有一个发送子弹的小人,小人可以左右移动,子弹从小人的位置往上运动,若子弹射中了相应分值的位图,就在总分数加上相应的分值,并在窗口的左上角显示出来。如果按住菜单栏里的退出菜单项,那么就结束整个游戏。用C++原始API实现的。

2013-11-18

C++实现的矩阵类,用于支持各种矩阵运算

C++实现的矩阵类,用于支持各种矩阵运算

2013-11-18

队和栈类的封装

队和栈类的封装,包括顺序栈,链式栈,顺序队,链式队。

2013-11-18

PdfUtils.java

java实现的PdfUtils,填充模板,加水印操作 ;包括maven依赖说明;解决了填充中文和中文水印的问题,亲测可用,接口通用。

2021-07-28

关于顺序表类和链表类的各种数据结构

顺序表,链表的各种数据结构和测试用例,已经实现链表的封装,使用时很方便。

2013-11-18

空空如也

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

TA关注的人

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