在本文开始前,先给大家分享几个好用的IDEA激活码
这里提供几个最新的激活码,有需要的朋友可以试试,先到先用:
2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新)
2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新)
2022和2023Webstorm激活码,Webstorm稳定专属激活码(持续更新)
1.避免多个if-else语句
这个优化点大家应该都很熟悉了。但写代码的时候,我还是喜欢嵌套多个if-else。
这样做会影响性能。因为JVM要比较条件。如果在 for、while 等循环中使用相同的条件,情况会变得更糟。
如果我们的业务逻辑中有很多条件,我们可以尝试将这些条件分组并返回一个布尔值,然后在if语句中使用它。
另外,如果可能的话,我们可以考虑使用switch
语句来代替多个if-else。switch 语句比 if-else 具有性能优势。
与上面的代码相比,合适的做法应该是这样:
2.避免长方法
当我们定义一个方法时,我们应该考虑一个方法不应该太长,并且应该专门执行单个功能。这有利于维护和性能。
一方面,从维护的角度来看,适当长度的方法更具可读性并且更容易理解。
另一方面,方法在类加载和方法调用期间加载到内存中。
如果方法太大,则需要额外的内存和 CPU 周期来处理它。我们应该学会在适当的逻辑点分解一个长方法。
3.避免使用迭代器
按照Java5的风格来编写循环,方便又简洁foreach
。但有时简单性是以牺牲性能为代价的。
每次运行代码时,如果 strs 是 Iterable,则会创建一个新的 Iterator 对象。这样做会导致更多的内存消耗。
如果你对性能有极致的追求,建议你使用原来的写法
4.避免在集合中获取大小
迭代任何集合时,预先获取集合的大小,而不是在迭代期间获取它 – 这可以避免多次调用 size() 方法。
5.避免使用+
来连接字符串
从JDK5开始,Java编译器进行了优化,用于+
拼接字符串,编译完成后自动优化为使用StringBuilder。
而且String是final类,用String创建的对象不能被重用。因此,如果我们需要连续拼接,使用+
符号拼接字符串会导致创建多个String对象,从而占用更多的堆内存。
一般来说,当字符串不多的时候,+
和StringBuilder的拼接效率相差无几,但是如果涉及到单线程循环拼接,我们最好还是使用StringBuilder来保证性能优化。
发布者:admin,转转请注明出处:https://www.ajihuo.com/soft/5656.html