摘要:
最近项目中碰到一个bug,bug出现的原因跟线程局部变量有关,比较典型,这里记录一下。 Bug场景 SpringBoot web应用,使用通用mapper https://github.com/abel533/Mapper 以及PageHelper https://github.com/pagehe 阅读全文
posted @ 2019-02-14 22:34
segeon
阅读(1021)
评论(0)
推荐(0)
摘要:
最近一年左右的时间作为负责人带领一个将近二十个人的团队,对于从没有过管理团队经验的我来说,是一个不小的挑战。这期间我的管理心路经历了三个阶段:第一阶段,角色适应期,大小任务依然事必躬亲,这样的后果是自己很累,团队战斗力没有充分发挥;第二阶段,吸取了前面的经验教训,责任下放,自己几乎不用管具体项目,只 阅读全文
posted @ 2019-02-14 22:33
segeon
阅读(758)
评论(0)
推荐(0)
摘要:
最近在新东家做审批系统,业务逻辑和工作流引擎都严重依赖mysql。其中业务逻辑部分大量用到存储过程,几乎所有核心dal都是用存储过程实现的。使用存储过程的优势是对于复杂的数据插入和更新操作效率很高。如果不使用存储过程,一个复杂的操作可能要请求多次数据库才能完成,但使用存储过程只需要请求一次,节省网络 阅读全文
posted @ 2019-02-14 22:32
segeon
阅读(597)
评论(0)
推荐(0)
摘要:
两阶段提交协议(two phase commit protocol,以下简称2PC协议)作为最简单原子提交协议,在很多需要使用分布式事务的场景中会经常用到。下面将尝试深入而简单的阐释2PC协议,并给出一个简单的demo实现。 2PC协议中的两种角色 2PC协议中存在着一个协调者(Coordinato 阅读全文
posted @ 2019-02-14 22:30
segeon
阅读(1509)
评论(0)
推荐(0)
摘要:
最近在看阿里开源RPC框架Dubbo的源码,顺带梳理了一下其中用到的设计模式。下面将逐个列举其中的设计模式,并根据自己的理解分析这样设计的原因和优劣。 责任链模式 责任链模式在Dubbo中发挥的作用举足轻重,就像是Dubbo框架的骨架。Dubbo的调用链组织是用责任链模式串连起来的。责任链中的每个节 阅读全文
posted @ 2019-02-14 22:27
segeon
阅读(3630)
评论(0)
推荐(0)
摘要:
线性方程组问题可以利用矩阵变换求解。利用高斯消元法,将矩阵转换成一个行阶梯矩阵,最后得到一个简化行阶梯矩阵,就是方程的解。参考资料(高斯消元法) Java代码 复杂度分析 该算法的时间复杂度为O(n^3),空间复杂度为O(n^2)。对于维度不高的线性方程还是可以接受。 阅读全文
posted @ 2019-02-14 22:25
segeon
阅读(2433)
评论(0)
推荐(0)
摘要:
最近工作中连续碰到几个涉及多线程方面的bug,在这总结梳理一下,就当提醒自己别犯同样的错误。 Bug 1 - 狂转的CPU 同事的一个项目上线的时候,发现CPU占用率奇高,达到700%,而平常的时候,也就100%左右。用jstack查看线程栈,发现很多线程都卡在一个名为waitUntilInited 阅读全文
posted @ 2019-02-14 22:22
segeon
阅读(1897)
评论(0)
推荐(0)
摘要:
最近做了一个项目需要用javaagent方式对应用常用的组件(比如httpclient, 数据库连接池等)进行调用追踪和监控,并结合公司的分布式追踪组件,将所有java应用的外部调用情况收集起来方便做系统分析和问题定位。项目定位和开源项目pinpoint比较像,但了解过pinpoint实现以后,发现 阅读全文
posted @ 2019-02-14 22:17
segeon
阅读(1943)
评论(0)
推荐(0)

浙公网安备 33010602011771号