- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 jvm问题实录2-来自凌晨的线上堆内存使用率告警
线上现象(来自凌晨的问候)1.公司项目在监控平台上开始报警(jvm堆内存占用报警,FullGC次数超频率报警)2.观察具体的监控图标(预发机器)线程数平稳(260左右)3. 方法监控可以看到在fullGC比较频繁时,业务方法几乎无响应线上配置(jvm配置,运行时内存分布)项目版本:jdk8 ,spring 5, 默认垃圾处理器 Parallel GC with 43 th...
2019-06-13 16:42:34 578
原创 代码评审-如何保证缓存与数据库的读写一致性?
一般来说,使用缓存主要为了提升应用性能和降低DB的直接负载,从场景上来说可以接受最终一致性方案,如果业务场景要求 “缓存+数据库” 必须保持强一致性的话,那么需要使用同步方案,比如排它锁或者队列机制+数据库事务处理这样的话影响系统可用性,简单情况下可以使用....还是另选方案吧
2019-06-12 22:47:14 429
原创 大型重构实践-多国家部署 spring 配置文件
每个版本在不同的代码库, 功能和流程大同小异,但是依赖的服务接口都不相同(基线服务是不同的开发团队开发使然)。公司为了后续快速部署新国家,使出了大招 国际化 , 那么首先要做的就是合并代码,添加适配层(这些工作同样不简单),那么我们来看看合并后的代码spring 配置及加载文件是怎么样的
2019-03-23 21:48:25 207 1
原创 重构 - 简化你的 if else 代码吧
实际的项目因为工期紧、开发人员因为不熟悉业务、不熟悉模式,再加上匮乏的注释,很容易 糙快猛 式的开发,到处充斥着逻辑判断,实际的问题应该比上面严重的多,加上各种if else 的代码方法内容长,逻辑多,圈复杂度高程序结构混乱,业务扩展性越来越差逻辑嵌套深,可读性很糟糕
2019-03-21 21:19:05 333
原创 《重构 - 改善既有代码的设计》
工作多年,经历过一些大型互联网项目,常常面对是很多遗留系统,添加一些新功能,寻找bug,维护遗留代码。 随着不同产品推出,不同版本发布,很多代码都已经不可抗拒的腐化,让我们在工作中必须尝试着重构,甚至重写。BoB在工作中也经常面对着这些问题,通过不断的重读《重构 - 改善既有代码的设计》一书,常常获得重构的技巧与灵感,在项目中运用书中知识,也在公司内部多次分享重构经验。
2019-03-20 18:28:00 656 2
原创 重构 - java方法参数太多怎么办2
方法参数太多带来的问题 1. 方法的复杂性上升 2. 方法的可读性下降 3. 调用方法容易出错,不易使用等等当然我们也可以使用一些简单有效方法,来减少参数个数,**增强代码的可读性**并且**降低调用出错的概率**。
2019-03-25 20:33:26 3812 2
原创 重构 - java方法参数太多怎么办1,看的我想哭
太长的参数列难以理解,太多参数会造成前后不一致、不易使用,而且一旦需要更多数据,就不得不修改它。过长参数列可能是将多个算法并到一个函数中时发生的。函数中的入参可以用来控制最终选用哪个算法去执行。那面对参数过长有没有更好的方法让代码更容易阅读,更容易理解和测试呢?
2019-03-22 21:06:41 2866
原创 从 VS2019 绿帽子 谈谈 本地化
从vs2019绿帽子 看本地化。本地化不仅需要多语种和方言的解决方案,还需要考虑目标区域市场的语言、特定文化、习俗和特性。具体展现在软件的颜色、排版、规模、角度和形状、重复出现的视觉主题,文本、图片以及文化因素
2019-03-21 11:41:44 429
重构改善既有代码的设计
2019-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人