JAVA优化代码策略(一)

白色玫瑰 程序猿

时间: 2023-07-11 阅读: 1 字数:2888

{}
在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。所以养成好的代码编写习惯非常重要。下面我们就来具体地分析一下:\r\n \r\n1、尽量重用对象\r\n比如:String 对象的使用中,出现字符串连接情况时应用StringBuffer 代替。由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理。因此,生成过多的对象将会给程序的性能带来很大的影响。\r\n ...

在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。所以养成好的代码编写习惯非常重要。下面我们就来具体地分析一下:

1、尽量重用对象

比如:String 对象的使用中,出现字符串连接情况时应用StringBuffer 代替。由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理。因此,生成过多的对象将会给程序的性能带来很大的影响。

2、尽量使用局部变量

调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。

其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。

3、Java 编程过程中,进行数据库连接、I/O流操作时务必小心,在使用完毕后,及时关闭以释放资源。因为对这些大对象的操作会造成系统大的开销,稍有不慎,会导致严重的后果。

4、对象使用完毕,应手动置成null

JVM回收垃圾的条件是:对象不在被引用;然而,JVM的GC并非十分的机智,即使对象满足了垃圾回收的条件也不一定会被立即回收。所以,建议我们在对象使用完毕,应手动置成null。

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

比如:

for(int i = 0;i < list.size; i ++) {<br style="color:#333333;line-height:26px;font-family:Arial;">}<br style="color:#333333;line-height:26px;font-family:Arial;">应替换为:<br style="color:#333333;line-height:26px;font-family:Arial;">for(int i = 0,int len = list.size();i < len; i ++){<br style="color:#333333;line-height:26px;font-family:Arial;">}

6、尽量采用lazy loading策略,即在需要的时候才开始创建

比如:

String str = “abc”;<br style="color:#333333;line-height:26px;font-family:Arial;">if(i == 1) {<br style="color:#333333;line-height:26px;font-family:Arial;">list.add(str);<br style="color:#333333;line-height:26px;font-family:Arial;">}<br style="color:#333333;line-height:26px;font-family:Arial;">应替换为:<br style="color:#333333;line-height:26px;font-family:Arial;">if(i == 1) {<br style="color:#333333;line-height:26px;font-family:Arial;">String str = “abc”;<br style="color:#333333;line-height:26px;font-family:Arial;">list.add(str);<br style="color:#333333;line-height:26px;font-family:Arial;">}

7、不要在循环中使用捕获异常机制,应把其放置在最外层。

8、array(数组) 和 ArryList的使用

array([]):最高效;但是其容量固定且无法动态改变;<br style="color:#333333;line-height:26px;font-family:Arial;">ArrayList:容量可动态增长;但牺牲效率;<br style="color:#333333;line-height:26px;font-family:Arial;">基于效率和类型检验,应尽可能使用array,无法确定数组大小时才使用ArrayList!

9、尽量使用HashMap和ArrayList ,除非必要,否则不推荐使用HashTable和Vector,后者由于使用同步机制,而导致了性能的开销。

原文地址:https://blog.csdn.net/iteye_1575/article/details/82639031?ops_request_misc=&request_id=1dc8ed900c9e4624a6d881ce17781e11&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~all~koosearch~default-16-82639031-null-null.142^v88^insert_down28v1,239^v2^insert_chatgpt&utm_term=java%E4%BC%98%E5%8C%96

本文章网址:https://www.sjxi.cn/detil/9189c62004644f0ba9e5106cc9214011

最新评论

当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号

×

(穷逼博主)在线接单

QQ: 1164453243

邮箱: abcdsjx@126.com

前端项目代做
前后端分离
Python 爬虫脚本
Java 后台开发
各种脚本编写
服务器搭建
个人博客搭建
Web 应用开发
Chrome 插件编写
Bug 修复