![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
性能优化
文章平均质量分 89
性能优化
cyh男
这个作者很懒,什么都没留下…
展开
-
项目JVM优化之GC优化实战
项目背景 一个高并发系统中的抢购接口,高峰时 5W 的并发请求,且每次请求会产生 20KB 对象(包括订单、用户、优惠券等对象数据)。 我们可以通过一个并发创建一个 1MB 对象的接口来模拟万级并发请求产生大量对象的场景,具体代码如下: 准备工作 1.linux机器 我本机起一台 Linux 虚拟机,分配的内存为 2G,处理器数量为 2 个,如下 2.apache AB压测工具 安装和使用方法,此处不做过多介绍 3.JVM参数 查看JVM进程号 jps 监控JVM中minorGC和fullGC的时间、原创 2021-01-22 15:26:37 · 313 阅读 · 0 评论 -
项目整合atomikos数据源
整合背景 公司用的是springboot项目,使用的是druid数据源。后台大部分业务逻辑都会同时操作多个数据源,而原生spring的事务不支持多数据源场景,因此咱们在业务逻辑里都是通过手动的方式控制事务。比如insert插入数据抛出异常了,那么在catch中再delete。 这种做法虽然满足了“事务回滚”需求,但是需要编写额外的代码;同时,粗心时难免会漏写,导致实际业务没有回滚。 所以,咱们需要一个能支持多数据源场景下的事务回滚框架,做到类似spring事务那样无侵入。 代码和配置 咱们先看看,目前项目中原创 2021-01-26 16:09:43 · 285 阅读 · 0 评论 -
JAVA后台动态获取增删改的变化实体
背景 项目后台有一个修改告警规则的功能,前端部分页面如下。 这个页面传到后台,在后台对应的数据结构为:一个AlarmTarget里有多个AlarmCondition,同时最外层的AlarmRule可以有多个AlarmTarget。 这个页面在后台对应的数据结构为:一个AlarmHandleFlow里有多个AlarmHandleRule,同时最外层的AlarmRule可以有多个AlarmHandleFlow。 页面里其他地方也有类似的结构,此处就不全部展示了。 页面的大部分元素都有父子关系,后台不好判断哪原创 2021-01-28 17:31:51 · 262 阅读 · 0 评论