JVM导出dump分析

获取 JVM 的 dump 的两种方式。 通过配置 JVM 参数自动导出在 JVM 启动参数加增加两个参数 1234#出现 OOME 时生成堆 dump: -XX:+HeapDumpOnOutOfMemoryError#生成堆文件地址:-XX:HeapDumpPath=/opt/jvmlogs/ -XX:HeapDumpPath 是指定 dump 输出的目录 手动通过 Jmap 命令导出第二...

Java

排查CPU过高两种方法

使用 Jstack 命令先使用 Top 找出占用 CPU 最高的 Java 进程通过 top 命令可以清晰的看到占用 CPU 的进程信息,占用最高的 Java 进程的 PID 是 5232 再通过 Top 命令找出占用 Cpu 最高的线程上一个我们已经查到了占用 CPU 最高的进程信息以及它的 PID,接着我们就可以使用 top -Hp PID 命令从进程中找到占用 CPU 最高的线程是哪个...

Java

Mysql 索引失效场景

索引在哪些场景下会失效,通过测试来验证一下。新建一张表,初始化了 30 万条数据进去。 123456789CREATE TABLE employees ( emp_no INT NOT NULL, birth_date DATE NOT NULL, first_name VARCHAR(14) NOT NU...

Java

Spring事务监听器

有时我们需要在某一方法事务提交后再执行一些操作,这些操作可能涉及到提交的数据,如要查询上一步提交后的数据这种 情况,这时我们希望能实现在上一步事务提交后再执行后面的操作。Spring 中可以使用 ApplicationEvent 事件监听来实现事务监听。 新建事件类12345678910111213141516/**● @Description 待办任务状态推送事件 ● @Date ...

Spring

SpringBoot 日志格式优化

Spring Boot默认集成的日志打印格式中没有行号,但有时排查问题希望能直接定位到行号。我们可以将默认的格式进行更改。 默认格式配置在这个路径下: 1/org/springframework/boot/spring-boot/2.0.6.RELEASE/spring-boot-2.0.6.RELEASE.jar!/org/springframework/boot/logging/logb...

日志管理

Spring Cloud重试机制导致接口多次调用问题

最近在项目上遇到一个奇怪的问题: 我们有两个服务,服务A调用服务B发送邮件,但结果是重复发送了4封邮件,内容还是一样的。一开始以为是邮件服务器出问题,但通过本地调试发现发送邮件的方法是被重复调用了。 至于为什么会重复调用,这得先了解一下Spring Cloud 的重试机制。

微服务

一千行 MySQL 学习笔记-转载

转载至:https://shockerli.net/post/1000-line-mysql-note/

mysql

JVM调优

JVM相关知识记录

Java

无法创建本地线程分析

最近项目的系统突然出现崩溃,无法响应请求。使用运维账号登陆服务器也无法登陆,提示 12fork: retry: No child processes fork: Resource temporarily unavailable

Java

注解结合切面实现键值转换

不积跬步,无以至千里。不积小流,无以成江海。 通常我们有这种需求,某一个字段是由前台维护的:编码 <==> 含义,类似一个键值对。含义是可能会变化的,但编码是固定的,一般我们都会在数据库中直接存储编码,但数据返回给前台显示时需要展示为含义。当然我们可以在从数据库查询时去join到该值的含义一起返回,这里提供另一种方式来实现这个功能。

1236