自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 SQL 语句 与 AST 关系

SQL 语句的抽象语法树(AST)通过 ‌词法分析‌ 和 ‌语法分析‌ 生成,其结构反映了 SQL 的语法规则。

2025-04-15 10:16:12 392

原创 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 实战

数据访问领域正在发生一场变革,关系型数据库法解决的问题需要新的数据访问技术来解决。Spring Data项目就是一种简化Java应用构建的数据访问技术,它可以帮助开发人员高效地使用最新的数据处理和管理工具,同时还能够以最新的方式使用传统的数据库。   《Spring Data实战》从Spring Data背景知识、关系型数据库、NoSQL、快速应用开发、大数据、数据网格6个方面深度解析了数据访问技术,介绍的内容都是最流行和前沿的,其中文档数据库、图数据库、键/值存储、Hadoop以及GemFire数据结构等是最重要的内容。《Spring Data实战》介绍了Spring Data、Repository、Querydsl的基础理念,然后阐述了借助Spring Data如何简化NoSQL和大数据的访问,并且涵盖了使用Spring Roo和Spring Data REST导出功能如何实现应用的快速开发,除此之外,书中还涉及与其他Spring子项目的协同工作,如Spring Integration和Spring Batch。   《Spring Data实战》面向实战、结构清晰,示例丰富,适用于各类Java开发人员和数据库开发人员,也可以作为各大、中专院校相关专业师生的参考用书和相关培训机构的培训教材。

2018-11-13

SpringBatch批处理 刘相编

《Spring Batch 批处理框架》全面、系统地介绍了批处理框架Spring Batch,通过详尽的实战示例向读者展示了Spring Batch框架对大数据批处理的基本开发能力,并对框架的架构设计、源码做了特定的剖析;在帮助读者掌握Spring Batch框架基本功能、高级功能的同时,深入剖析了Spring Batch框架的设计原理,帮助读者可以游刃有余地掌握Spring Batch框架。   《Spring Batch 批处理框架》分为入门篇、基本篇和高级篇三部分。入门篇介绍了批处理、Spring Batch的基本特性和新特性,快速入门的Hello World等内容引领读者入门,从而进入数据批处理的世界。基本篇重点讲述了数据批处理的核心概念、典型的作业配置、作业步配置,以及Spring Batch框架中经典的三步走策略:数据读、数据处理和数据写,详尽地介绍了如何对CVS格式文件、JSON格式文件、XML文件、数据库和JMS消息队列中的数据进行读操作、处理和写操作,对于数据库的操作详细介绍了使用JDBC、Hibernate、存储过程、JPA、Ibatis等处理。高级篇提供了高性能、高可靠性、并行处理的能力,分别向读者展示了如何实现作业流的控制,包括顺序流、条件流、并行流,如何实现健壮的作业,包括跳过、重试和重启等,如何实现扩展作业及并行作业,包括多线程作业、并行作业、远程作业和分区作业等,从而实现分布式、高性能、高扩展性的数据批处理作业。

2018-11-13

空空如也

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

TA关注的人

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