![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高效编程
文章平均质量分 81
暴雪2008
这个作者很懒,什么都没留下…
展开
-
性能优化---线程池拒绝问题解析,线程池调优漫谈
线程池C端常见使用经验,对于线程池调优探讨。原创 2022-04-06 11:12:46 · 5204 阅读 · 0 评论 -
性能优化--如何保证自己服务的SLA与稳定性?
性能优化原创 2022-03-06 11:13:06 · 11740 阅读 · 1 评论 -
如何高性能将Map转化成对象--MapStruct来解决~
前言最近有个项目动态化处理,导致返回的都是Map<String,Object> 结构,但是处理过程中,肯定不能用Map,因为Object可能是各种对象,逻辑过于复杂,这个时候应该怎么处理呢?问题:为什么不用json工具如何高效的将Map<String,Object> 转换成我们心仪的对象呢?当然,方案有很多,比如gson、Jackson、fastjson(漏洞多,已经放弃)等,这些json工具可以先序列化字节流,再反序列化成对象(即使提供直接方法的比如Jackson,底层也是原创 2021-05-25 00:47:10 · 2238 阅读 · 0 评论 -
如何做压力测试及其性能优化方案剖析
前言:最近业务高速迭代发展,需要考虑系统的稳定性,降低线上系统问题导致的业务风险,此时需要评估、确定系统的瓶颈,未雨绸缪,提前准备应对措施。这里主要介绍上如何做一场压力测试。目标:一定要搞清楚压力测试的目标,知道了目标,才知道压力测试的意义与成果。其实我理解的目标:1. 评估系统性能瓶颈,看系统瓶颈在哪里,是DB、磁盘、网络?2. 确定目前的系统能否支持预估的业务量,举个例子,比如业务线要开支持新城市,那么根据推算,新开城市之后,业务的高峰的流量能达到多少,比如5W qps,压力测试可以选择高于原创 2020-08-23 17:35:53 · 2129 阅读 · 0 评论 -
如何在线程间传递参数
前言最近排查业务系统一个与跨线程共享数据(或者说传递数据)错误的问题,决定在这里梳理一下线程间数据传输的问题。跨线程传输数据的方式有很多,后续再写文章介绍,本次只对ThreadLocal及其衍生的类InheritableThreadLocal、TransmittableThreadLocal做一些使用的梳理与原理的分析。应用场景1.业务系统参数传递假如你有一个web系统,每次访问客户端会有一些公共参数传递进来,然后你的不同的业务方法,都想使用,这个时候要么你做一层防腐层,将所有有用的参数封装一下接连原创 2020-07-16 00:55:47 · 3395 阅读 · 0 评论 -
Java8 Lambda表达式系统梳理及其常规应用 相信你看了更清晰
前言Lambda表达式让java8的代码更加简洁,特别是处理一些复杂的集合运算的时候,这些都得益于java8的新特性–Lambda表达式,很多小伙伴,都会使用,但是有些时候还是一知半解,本文期望于帮助大家答疑解惑.Lambda表达式介绍简单来说,Lambda表达式提供了一种“将函数作为参数传递进方法中”的方式。这里你可以理解为,lambda表达式将一段代码(方法)像数据一样传递,可传递的代码(方法)。还有,是Java开发更加简洁紧凑。Lambda表达式接口要求:只能有一个抽象方法Lambda表达原创 2020-06-29 04:49:52 · 207 阅读 · 0 评论 -
开发神器IntelliJ IDEA快捷键常用梳理 for Mac Book Pro
前言无疑,快捷键可以极大提高开发效率,节省时间,不过笔者这里说明下,这里的快捷键都是笔者经常使用的,不是一个大而全的快捷键。主要是很多快捷键有可能很少用的上,却还要占用脑细胞,当然不乏有高手,很多快捷键都记得住。常用快捷键整理复制粘贴相关Command + X 剪切所在行或选中的代码块到剪贴板Command + C 复制所在行或选中的代码块到剪贴板Command + V 从剪贴板粘贴Command + Shift + V 从剪贴板缓冲区粘贴,会打开缓冲区,按时间倒排最近的列表Comm原创 2020-06-28 23:41:22 · 530 阅读 · 0 评论