java优化数据库代码_java代码性能优化

尽可能使用局部变量

调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中速度较快,其他变量,如静态变量、实例变量等,都在堆中创建,速度较慢。另外,栈中创建的变量,随着方法的运行结束,这些内容就没了,不需要额外的垃圾回收。

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

for (int i = 0; i < list.size(); i++){}

改为

int length = list.size();

for (int i = 0; i < list.size(); i++)

这样,在list.size()很大的时候,就减少了很多的消耗

变量在需要的时候才创建

String str = "aaa";

if (i == 1){

list.add(str);

}

//建议替换成

if (i == 1){

String str = "aaa"; list.add(str);

}

异常不应该用来控制程序流程

只要有异常抛出,jvm就会调用堆栈,影响效率

不要导入一些不使用的类

程序运行过程中避免使用反射

使用数据库连接池和线程池

这两个池都是用于重用对象的,前者可以避免频繁地打开和关闭连接,后者可以避免频繁地创建和销毁线程

不要手动调用System.gc();

使用Entry遍历Map

Map map = new HashMap<>();

for (Map.Entry entry : map.entrySet()) {

String key = entry.getKey();

String value = entry.getValue();

}

避免使用这种方式

Map map = new HashMap<>();

for (String key : map.keySet()) {

String value = map.get(key);

}

因为使用keySet遍历时,当使用key值取得Map中的Value时,Map又遍历了一遍。而EntrySe时,由于EntrySet本身就是key-value结构,所以直接将Map的key-value给取出来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值