- 博客(5)
- 收藏
- 关注
原创 记录线上一次CPU突然升高100%处理
背景:线上后台系统接到OP通知CPU突然升高到100%报警,首先让OP协助获取占用CPU高线程堆栈日志,获取JVM堆转储dump文件,保留事故现场;1、获取占用CPU高线程堆栈日志方法:1. 查找进程id: top 命令示例: top -c2. 查找进程中耗cpu比较高的线程id: top -p pid -H 命令示例:top -p 4247 -H3. 线程id十进制转十六进制: printf %x 线程id 命令示例: Printf %x 42734. 通过栈信息定位具体代码: jsta
2020-07-24 20:01:23 472
原创 JAVA 线程池源码学习
1、线程池提交执行线程原理:线程池类:ThreadPoolExecutor方法:public void execute(Runnable command)用户提交的Runnable 对象会被封装到线程池中的内部的
2020-06-21 18:24:22 178
原创 利用AOP自定义注解实现多数据源切换
1、背景:接手的项目历史遗留问题混用很多数据库,重新将表迁移到新数据库中,并将业务表和报表分别放在不同数据库中管理,需要对项目中数据源切换进行改造,采用spring 多数据源支持+自定义注解进行数据源动态切换;自定义注解:@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Inherited@Documentedpublic @interface ChangeDataSource { String name();
2020-05-18 10:35:21 643
原创 模拟一次数据库死锁(并发更新数据)
1、使用spring-jdbc简单实现;代码实现:package test.Dao;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.jdbc.core.JdbcTemplate;import java.util.ArrayList;...
2020-05-04 18:02:18 942 1
原创 java面试常考算法题记录
java面试常考算法题记录 /** * 二分法查找非递归 * @param arr * @param data * @return */ public static int find(int[]arr,int data){ int mid=0; int left=0; int right=a...
2020-01-18 01:32:55 325
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人