1.系统优化
(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),