jvm
毛毛虫之路
这个作者很懒,什么都没留下…
展开
-
如何通过jvm解决生产问题的实战总结
目录jvm的基础知识内存模型程序计数器java栈堆本地方法栈方法区对象大小计算对象结构大小对象头对其补充线程模型ThreadPoolExecutor创建线程池GC详解基础工具jvm案例排查讲解一般情况下,我们生产环境中所遇到的bug或问题基本可以分为四类:第一类是比较简单的bug,一般日志会有错误堆栈,或者异常信息,这种基本都...原创 2019-12-02 15:20:02 · 626 阅读 · 0 评论 -
java大对象引发的频繁full gc及cpu飙高的调优历程
问题描述linux系统,执行top命令-bash-4.2# toptop - 08:57:47 up 147 days, 23:08, 2 users, load average: 67.32, 60.83, 58.97Tasks: 1310 total, 2 running, 1307 sleeping, 0 stopped, 1 zombie%Cpu(s): ...原创 2019-10-24 16:37:50 · 4218 阅读 · 2 评论 -
phoenix整合springboot采用druid作为连接池一点时间后报Connection is null or closed.
问题描述项目高访问量的时候,基本上线不到三天就会一直输出下面的错误org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [select TO_CHAR(captured_time, 'yyyy-MM-dd HH:mm:ss'),ca...原创 2019-10-17 18:04:30 · 5307 阅读 · 1 评论 -
oracle连接卡住,导致程序不运行
一 、概况采用springboot的jpa读取oracle的数据,大概300万数据,运行一天左右之后,程序卡死,导致数据接入接不完。二、排查思路java生产级别的接入程序卡死是正常的,基本重启就可以解决问题,但是重启之后还是会卡死,所以要排查原因,找到源头。基本的思路就是查看代码堆栈,是否是线程死锁、遇到阻塞队列、或者线程池线程因为内存不足退出等。基本使用的工具包括jstack...原创 2019-09-19 14:55:13 · 2272 阅读 · 0 评论