随笔分类 -  jvm实践、诊断

数据库连接泄漏诊断
摘要:1 背景 如果将mybatis guice 事务代理切面 中的endTransaction注释掉,那么将会有连接泄漏,本文是一个实践 private void endTransactionReal() { //getOdsSqlSessionManager().close();} 2 2.1 连接池 阅读全文

posted @ 2021-07-09 16:04 silyvin 阅读(495) 评论(0) 推荐(0) 编辑

匿名野线程池导致oom
摘要:1 背景 1.1 生产环境几次所有操作出现 [java.lang.RuntimeException: java.lang.OutOfMemoryError: Failed creating thread: pthread_create() failed, maxproc limit reached] 阅读全文

posted @ 2020-12-16 11:28 silyvin 阅读(600) 评论(0) 推荐(0) 编辑

一次jstack解决update停顿
摘要:界面阻塞了 jstack 发现可疑代码: 看上去是update操作阻塞了 想起来sqldeveloper默认autocommit false,可能改过之后没有提交,导致锁行或表 关了之后立马好了 阅读全文

posted @ 2020-08-05 21:21 silyvin 阅读(138) 评论(0) 推荐(0) 编辑

一种mysql jvm死锁
摘要:在只读事务与普通读 work log 中假设了一种死锁,非mysql死锁,而是jvm死锁 CREATE TABLE `mytest` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, PRIMARY KEY (` 阅读全文

posted @ 2020-04-17 23:28 silyvin 阅读(569) 评论(0) 推荐(0) 编辑

一次使用jmap评估是否可以把类似session信息挂靠在某未知框架的某暴露对象上
摘要:有一个需求,要在内存里缓存当前用户信息,我们不被允许直接访问session,原有框架只暴露了一个App对象,我们想把用户信息挂靠该对象,我们需要确定: 1 该对象是否用户相关,还是用户无关;如果是用户无关,哪个用户进来,框架暴露同一个app对象,那么自然无法使用2 用户下线后,该对象是否会回收,否则 阅读全文

posted @ 2020-04-09 17:30 silyvin 阅读(139) 评论(0) 推荐(0) 编辑

mat解决oom一般方法实践
摘要:1 mac安装mat --data 可写路径 2 /** * https://www.cnblogs.com/silyvin/p/12640045.html */ public class MAT { // -Xmx100m -XX:+PrintGCDetails -XX:+HeapDumpOnOu 阅读全文

posted @ 2020-04-05 23:52 silyvin 阅读(349) 评论(0) 推荐(0) 编辑

21-chttp连接池该取多大
摘要:http://www.sohu.com/a/342596009_120054825 netstat 查看过多的TIME_WAIT 0 经常出现Address already in use (Bind failed)的问题。很明显是一个端口绑定冲突的问题,于是大概排查了一下当前系统的网络连接情况和端口 阅读全文

posted @ 2019-12-17 16:38 silyvin 阅读(653) 评论(0) 推荐(0) 编辑

redis 连接池该取多大??
摘要:应当取(并发线程数+1)*保险系数,遵循以下原则:(为什么+1:线程池的取值(三)阻塞队列边界取值+1,还需要全面了解线程池源码) 1 根据 组合设计qps ,避免过小的连接池压缩上游线程池并发数,进而影响整理吞吐量,只有当n2=n1时,整体吞吐量理论最大 2 也要从限流角度限流怎么做(战略),避免 阅读全文

posted @ 2019-11-19 22:09 silyvin 阅读(7712) 评论(0) 推荐(0) 编辑

notify 与 nofityall,notify造成死锁实践
摘要:package multilock.deadlock; /** * https://www.cnblogs.com/silyvin/p/11747303.html * Created by joyce on 2019/10/27. */ public class NotifyDeadLock { p 阅读全文

posted @ 2019-10-27 13:38 silyvin 阅读(576) 评论(0) 推荐(0) 编辑

收录(二)
摘要:https://mp.weixin.qq.com/s?__biz=MzIwMzY1OTU1NQ==&mid=2247485021&idx=1&sn=52e8251df51621607d0e9cde23839093&chksm=96cd4611a1bacf075de254e8929415b3378cf 阅读全文

posted @ 2019-01-06 12:45 silyvin 阅读(199) 评论(0) 推荐(0) 编辑

收录(一)
摘要:https://www.cnblogs.com/QG-whz/p/9647614.html 从一次线上故障思考Java问题定位思路 死循环 top -p 12309 -H -p用于指定进程,-H用于获取每个线程的信息,从top输出的内容,可以看到有四个线程占用了非常高的CPU jstack -l 1 阅读全文

posted @ 2019-01-05 23:33 silyvin 阅读(758) 评论(0) 推荐(0) 编辑

一次jvm实践 没错,老板让我写个 BUG!
摘要:http://www.cnblogs.com/crossoverJie/archive/2018/12/12/10106154.html 前言 标题没有看错,真的是让我写个 bug! 刚接到这个需求时我内心没有丝毫波澜,甚至还有点激动。这可是我特长啊;终于可以光明正大的写 bug 了🙄。 先来看看 阅读全文

posted @ 2018-12-26 12:56 silyvin 阅读(182) 评论(0) 推荐(0) 编辑

引用计数和回收池 & java=null 的必要性
摘要:java 使用的是垃圾回收和可达性分析 oc 和 cocos2d-x 使用引用计数与回收池 netty的bytebuf由于使用的直接内存,也使用引用计数 交谈中提到了显式置为null,http://chenjingbo.iteye.com/blog/1980908 这篇文章有非常好的论述实践: 且文 阅读全文

posted @ 2018-10-23 15:17 silyvin 阅读(493) 评论(0) 推荐(0) 编辑

线程池的取值(一)与拒绝策略
摘要:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory t 阅读全文

posted @ 2018-07-19 23:50 silyvin 阅读(555) 评论(0) 推荐(0) 编辑

java finalize及实践
摘要:https://www.cnblogs.com/Smina/p/7189427.html 1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。 finalize()与C++中的析构函数不是对应的 阅读全文

posted @ 2018-02-06 11:32 silyvin 阅读(221) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示