本文介绍几个Java开发中性能优化的小技巧。作为技术开发者,我们还是要追求更小、更快、更强的代码。如果有一天你发现程序的运行速度不尽如人意,你可能会想到这篇文章。提示:我们不应该为了优化而优化,这有时会增加代码的复杂度。本文中的代码在以下环境中进行了性能测试。JMHversion:1.33(Javabenchmarkingframework)VMversion:JDK17,OpenJDK64-BitServerVM,17+35-2724通过本文的测试,你会发现以下操作的性能差异。预分配HashMap的大小,性能提升1/4。优化HashMap的key,性能相差9.5倍。不要用Enum.values()遍历,Spring以前就是这么优化的。使用Enum而不是String常量以获得1.5倍更好的性能。使用更高版本的JDK,基本操作有2-5倍的性能差异。预先分配HashMap的大小。HashMap是Java中最常用的集合之一。大部分操作都很快,但是HashMap很慢,很难在调整自身容量的时候自动优化。因此,在定义一个HashMap之前,应该尽可能的给出它的容量。给出尺寸值时应考虑载荷系数。HashMap默认的加载因子是0.75,即要设置的size值要除以0.75。相关文章:HashMap源码分析解读下面使用JMH进行benchmark,测试分别向初始容量为16和32的HashMap插入14个元素的效率。/***@authorhttps://www.wdbyte.com*/@State(Scope.Benchmark)@Warmup(iterations=3,time=3)@Measurement(iterations=5,time=3)publicclassHashMapSize{@Param({"14"})intkeys;@Param({"16","32"})intsize;@BenchmarkpublicHashMap
