写点什么

「 代码性能优化 」java 高级程序员必知必会的 55 个代码性能优化技巧

作者:小刘学编程
  • 2023-02-15
    陕西
  • 本文字数:1213 字

    阅读完需:约 4 分钟

「 代码性能优化 」java高级程序员必知必会的55个代码性能优化技巧

1、尽量在合适的场合使用单例


2、尽量避免随意使用静态变量


3、尽量避免过多过常地创建 Java 对象


4、尽量使用 final 修饰符


5、尽量使用局部变量


6、尽量处理好包装类型和基本类型两者的使用场所


7、慎用 synchronized,尽量减小 synchronize 的方法


9、尽量不要使用 finalize 方法


10、尽量使用基本数据类型代替对象


11、多线程在未发生线程安全前提下应尽量使用 HashMap、ArrayList,不建议使用 HashTable、Vector,因其使用了同步机制,降低了性能


12、尽量合理的创建 HashMap


13、尽量减少对变量的重复计算


14、尽量避免不必要的对象创建


15、尽量在 finally 块中释放资源


16、尽量使用移位来代替 'a/b' 的操作


17、尽量使用移位来代替 'a*b' 的操作


18、尽量确定 StringBuffer 的容量


19、尽量早释放无用对象的引用


20、尽量避免使用二维数组


21、尽量避免使用 split


22、随机查询尽量使用 ArrayList,添加删除的操作 LinkedList 优于 ArrayList


23、尽量使用 System.arraycopy () 代替通过来循环复制数组


24、尽量缓存经常使用的对象


25、尽量避免非常大的内存分配


26、慎用异常


27、尽量重用对象


28、不要重复初始化变量


29、在 java+Oracle 的 应用系统开发中,java 中内嵌的 SQL 语言应尽量使用大写形式,以减少 Oracle 解析器的解析负担。


30、在 java 编程过程中,进行数据库连接,I/O 流操作,在使用完毕后,及时关闭以释放资源。因为对这些大对象的操作会造成系统大的开销。


31、保证过期的对象的及时回收具有重要意义


32、在使用同步机制时,应尽量使用方法同步代替代码块同步。


33、不要在循环中使用 Try/Catch 语句,应把 Try/Catch 放在循环外层


34、通过 StringBuffer 的构造函数来设定它的初始化容量,可以明显提升性能


35、合理使用 java.util.Vector


38、不用 new 关键字创建对象的实例


39、不要将数组声明为:public static final


40、HaspMap 的遍历利用散列值取出相应的 Entry 做比较得到结果,取得 entry 的值之后直接取 key 和 value


41、array 数组效率高,但容量固定,无法动态改变,ArrayList 容量可以动态增长,但牺牲了效率


42、单线程应尽量使用 HashMap, ArrayList


43、建议使用 StringBuffer


44、尽量使用基本数据类型代替对象。


45、使用具体类比使用接口效率高,但结构弹性降低了,但现代 IDE 都可以解决这个问题。


46、考虑使用静态方法


47、应尽可能避免使用内在的 GET,SET 方法。


48、避免枚举,浮点数的使用。


49、避免在循环条件中使用复杂表达式


50、为 'Vectors' 和 'Hashtables' 定义初始大小


51、在 finally 块中关闭 Stream


52、使用 'System.arraycopy ()' 代替通过来循环复制数组


53、让访问实例内变量的 getter/setter 方法变成 ”final”


54、对于常量字符串,用 'String' 代替 'StringBuffer'


55、在字符串相加的时候,如果该字符串只有一个字符使用 ' ' 代替 " "


参考:

必会的 55 个 Java 性能优化细节!一网打尽!


《菜鸟程序员成长计划》之代码性能优化系列文章,将对上述每一条优化细节展开讨论,请持续关注!

发布于: 刚刚阅读数: 4
用户头像

后端工程师@代码都困了💤 2023-02-07 加入

啊呜(゚▽゚)/ . Talk is cheap (‾◡◝) ! , show me your code ! ヾ(๑╹◡╹)ノ"

评论 (1 条评论)

发布
用户头像
感谢阅读此文,公众号搜索「 重载 」"chóng zài" 并关注,不定期分享Java相关技术栈资料、后端硬核技术干货、实用笔试面试题。您的每次阅读、每个点赞、每条评论都会激励到博主,持续输出优质内容!啊呜(゚▽゚)/ . Talk is cheap (‾◡◝) ! , show me your code ! ヾ(๑╹◡╹)ノ"
刚刚 · 陕西
回复
没有更多了
「 代码性能优化 」java高级程序员必知必会的55个代码性能优化技巧_Java_小刘学编程_InfoQ写作社区