点击空白处退出提示
作品详情
(1)条码系统引入ConcurrentHashMap、CopyOnWriteArrayList、AtomicInteger、CounDownLatch、ExecutorService、批量插入等多线程、高并发、原子类等技术提升分箱性能;
(2)使用explain分析MySQL执行计划,使得sql查询提升几倍、十几倍甚至几十倍性能;其中印象最深的一次性能优化是帮助同事解决一个带有索引列关联反而更慢的案例,此经典案例可谓是对加索引解决慢查询的常规做法的一个有力反击,导致该问题的原因为索引误导优化引擎执行了错误的执行计划,最后通过ignore index解决。
(3)为了便于监控java运行性能,通过引入AOP监控指定package中自定义annotation标注的class、method方法的执行性能,通过日志的方式实时显示所有方法(方法签名)运行耗时,还可通过分析日志的方式统计耗时的top10,包括耗时秒数,以及占比等,后期引入kafka并将该信息实时保存在mysql中,成功改造为独立的系统---性能监控系统pms(performance monitor system),已在码云中开源;
2.疑难问题攻坚
(1)Blf1-PD系统使用LoadRunner性能压测通过JConsole观察对比OpenJDK和HotSpot在不同垃圾回收器的不同表现,通过MAT分析jmap导出的堆栈文件最终解决生产环境指定服务器PD工程经常宕机的问题;
(2)Bf-cost成本计算项目通过存储过程执行的结果与java程序执行的结果存在百万分之一的差异,经过排查分析最终发现是java中的BigDecimal比mysql中的decimal计算精度更准确;
(3)在Blf-barcode系统中引入java-image-scaling解决图片缩放失真问题、在blf-wordprint中引入OpenCC-Java-mavenized提高单位宽度条形码信息量等问题;
(4)通过eclipse远程调试技术动态跟踪本地环境无法重现的测试环境异常、通过本地调试分析mybatis中的mapper文件未加载的原因、通过eclipse配置解决maven依赖文件未deploy到tomcat运行目录等等不一而足。
3.系统改造技术选型
(1)响应政府号召最近启动的视频培训项目,在对比分析各种技术后最终选择以往自学的Hadoop技术将视频文件存储在hdfs中,提升播放流畅度,最终成功拿下政府500W培训经费;通过ffmpeg将视频转码、截屏、加水印等解决视频无法播放、视频封面展示、知识产权等功能;
(2)将钉钉消息通知平台由原有的tomcat部署的war包,改造为springboot方式部署在docker中,通过实现配置中心化、版本在Jenkins构建中自动迭代升级,极大提升了DevOps中沟通、协作与整合的效率;
(3)在bf-ss-proc系统中引入phantomjs技术将json格式的echarts生成为png图片上传到MongoDB中,并将该控件及其依赖封装为linux镜像,开源到hub.docker.com(kinggho/centos:echartjava),并无偿捐赠给公司;
4.管理培训
(1)负责带领指导6人项目组团队;
(2)带领团队成员完成条码系统、知识库系统、视频培训系统、龙浩系统、财务系统、供应商协同等多个系统的开发维护工作;
(3)组织百丽大讲堂之聊聊java性能那些事、百丽大讲堂之聊聊mysql性能那些事和生产日报钉钉消息推送等多次培训活动。
5.生产环境问题处理、日常开发任务、领导交付的其他工作等
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论