1. 引言
系统性能优化涉及面非常广,涵盖方案优化、编码优化、并发优化、JVM 调优等诸多方面的知识。
虽然不同系统的优化策略存在差异,但从全局来看,它们的共性仍是主要的。首先,我们可以从方案设计、编码、并发设计、JVM 等方面去优化我们的系统;然后,可以通过一些 Linux 系统命令和工具去发现系统的性能瓶颈;最后,结合业务特点采用缓存、异步化、并发等方式对系统进行“定制”优化。
本文为“Java 系统性能优化系列”的下篇,主要内容如下:
- 系统优化之并发设计优化
- 系统优化之 JVM 调优
- 系统优化之缓存设计
2. 系统优化—并发设计优化
并发程序设计(concurrent programming)是指由若干个可同时执行的程序模块组成程序的程序设计方法。采用并发程序设计可以使外围设备和处理器并行工作,缩短程序执行时间,提高计算机系统效率。
2.1 并行设计模式
并发场景中,常用的 Java 多线程设计模式包括:Future 模式、Master-Worker 模式、Guarded Suspension 模式、不变模式和生产者—消费者模式等。
Future 模式
Future 模式的核心在于:去除了主函数的等待时间&