- 博客(2)
- 收藏
- 关注
原创 Runnable和Thread分析
使用两种方式考虑以下问题:1、为什么调用start()方法就可以启动线程,而不是调用run()?答:在new一个线程对象后直接调用run方法,只是让当前线程去执行run()方法中的语句,并没有实现多线程;而start()方法调用 start0() 去告诉操作系统创建线程,线程创建完成后,等待CPU分配时间片来执行run()方法,异步。2、在Runnable层面实现run()方法和Thr...
2020-04-24 18:36:38 165
原创 排查JVM Cpu过高的问题
1、导出线程堆栈信息,可将输出保存到文件中jstack 24987 > jstack249872、查看jvm进程内部线程的状态top -H -p 249873、找到高CPU的线程25089,转换为16进制0x6201在文件jstack24987 中查找到nid=0x6201的内容定位到业务代码,进行优化...
2020-04-23 17:27:38 332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人