- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 -XX:+HeapDumpOnOutOfMemoryError 会打印哪些oom错误
原因:动态生成大量类(如反射、CGLIB)或 -XX:MaxMetaspaceSize 配置过小。原因:未合理释放直接内存或 -XX:MaxDirectMemorySize 配置不足。通过分析生成的堆转储文件(如使用 MAT 工具),可定位具体内存泄漏或配置问题。原因:堆内存中存在大量无法回收的存活对象(如内存泄漏或对象生命周期过长)。由 JVM 自身或本地库(如 JNI)引发,可能不触发堆转储。原因:内存泄漏或堆内存配置不足(如 -Xmx 过小)。
2025-04-19 11:30:50
480
原创 CentOS系统中排查进程异常终止的日志
journalctl -u <服务名> --since "2025-04-17 00:00:00" # 按时间过滤。检查应用自身日志(如Java的 hs_err_pid.log),路径通常位于 /var/log 或应用配置目录。grep -i "oom" /var/log/messages # 检查内存不足导致进程终止。grep -i "segfault" /var/log/messages # 查找段错误导致的崩溃。记录系统级错误、内核消息及进程异常终止信息,如OOM Killer事件。
2025-04-18 16:58:25
671
原创 OOM 未触发 JVM 崩溃的可能原因
添加 -XX:+CrashOnOutOfMemoryError 参数。避免捕获 OutOfMemoryError 后主动退出。确保 -XX:ErrorFile 路径可写且磁盘空间充足。监控内存泄漏趋势。若问题仍存,提供完整的 JVM 启动参数、GC 日志及操作系统日志可进一步定位根因。
2025-04-18 16:46:34
665
原创 Kafka 消息幂等与业务幂等的关系分析
Kafka 消息幂等指生产者发送消息时,通过服务端机制确保同一分区内的消息不会重复存储,属于传输层保障。每个生产者分配全局唯一 PID(Producer ID)消息携带递增的 Sequence Number(序列号)Broker 通过 PID + 分区号 + Sequence Number 过滤重复消息业务幂等指业务逻辑对重复操作的处理结果保持一致,属于应用层保障。
2025-04-16 16:41:41
680
原创 Spring Kafka 本地消息表与定时任务处理未发送消息方案
通过本地数据库表持久化待发送消息,配合定时任务扫描未成功发送的消息并重试,确保消息可靠投递至 Kafka。.addCallback(result -> updateMessageStatus(messageId, 1), // 成功回调。status TINYINT DEFAULT 0, -- 状态(0-未发送, 1-已发送, 2-发送失败)
2025-04-16 11:53:26
1169
原创 Java 代码的编译与执行过程的全流程
JVM 通过 前端编译 生成字节码,类加载 加载到内存,解释器与 JIT 动态编译执行,结合 AOT 提前编译,实现跨平台与高性能的平衡。
2025-04-15 10:07:15
423
原创 Spring框架refresh()方法核心代码的逐行分析
此代码段完整实现了Spring容器的启动流程,涵盖从环境准备、Bean定义加载、扩展处理器执行、Bean实例化到事件发布的完整生命周期管理。每个步骤均为高度可扩展的设计,开发者可通过重写模板方法或注册自定义处理器干预容器行为。
2025-04-15 09:59:58
703
原创 Spring Boot应用程序集成Neo4j
以下是一个简单的Spring Boot应用程序,集成Neo4j实现插入和查询数据的示例。我们将使用Spring Data Neo4j来简化与Neo4j数据库的交互。
2024-07-05 14:10:07
1803
原创 Spring Boot应用程序集成etcd
以下是一个Spring Boot应用程序,集成etcd实现键值存储和查询的示例。我们将使用etcd提供的Java客户端jetcd来与etcd进行交互。
2024-06-18 15:57:18
1268
4
原创 Spring Boot应用程序集成MinIO
以下是一个Spring Boot应用程序,集成MinIO实现文件存储和查询的示例。我们将使用MinIO提供的Java SDK来与MinIO进行交互。
2024-06-18 11:26:16
480
原创 Spring Boot应用程序集成LDAP
以下是一个Spring Boot应用程序,集成LDAP实现用户信息存储和查询的示例。我们将使用Spring Data LDAP模块来与LDAP服务器进行交互。
2024-06-14 17:36:41
1579
原创 Spring Boot应用程序集成H2数据库
以下是一个Spring Boot应用程序,集成H2数据库实现数据的存储和查询。我们将使用Spring Data JPA模块来实现这个示例。
2024-06-12 17:40:54
1324
原创 Spring Boot应用程序集成MongoDB
以下是一个Spring Boot应用程序,集成MongoDB实现数据的存储和查询。我们将使用Spring Data MongoDB模块来实现这个示例。
2024-06-12 16:00:49
1216
原创 Spring Boot应用程序集成Apache Kafka
以下是一个Spring Boot应用程序集成Apache Kafka的示例,展示了如何发送和消费消息。我们将使用Spring Kafka模块来实现这个示例。
2024-06-07 15:19:27
303
原创 Spring Boot应用程序集成Elasticsearch
以下是一个Spring Boot应用程序集成Elasticsearch的示例,展示了如何存储和查询数据。我们将使用Spring Data Elasticsearch模块来实现这个示例
2024-06-07 15:01:20
856
原创 Spring Boot应用程序集成RabbitMQ
以下是一个Spring Boot应用程序集成RabbitMQ的示例,展示了如何发送和消费消息。我们将使用Spring AMQP模块来实现这个示例。
2024-06-07 11:20:16
338
原创 Spring Boot应用程序集成Redis
以下是一个Spring Boot应用程序集成Redis的示例,展示了如何存储和查询数据。我们将使用Spring Data Redis模块来实现这个示例。
2024-06-07 10:25:30
669
转载 Unicode、UTF-8 和 ISO8859-1到底有什么区别
原文转自:http://blog.sina.com.cn/s/blog_673c81990100t1lc.html本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69...
2020-01-02 11:41:46
232
转载 调整VM Option优化JVM性能
调整VM Option优化JVM性能转载:http://www.hankcs.com/program/java/adjust-vm-option-jvm-performance-optimization.html今天一个List大约要放入5万个对象,每个对象是对一篇语料的解析结果。语料库在磁盘里大约有200MB,读入内存后大小未知。当我解析了10000篇的时候,明显感觉速度降了...
2019-11-15 11:08:06
1722
SpringData 实战
2018-11-13
SpringBatch批处理 刘相编
2018-11-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人