您的位置:首页 > 编程语言 > Java开发

java性能优化总结(1):基础篇

2016-12-29 19:24 218 查看
从走上工作岗位到现在已经有5年多了,在java的技术道路上也走了这么久了,自己也该好好总结一下。总结的过程也是梳理自己所掌握知识体系的过程。本篇博客适合有一定java基础的人观看。下面咱们就开始吧。

对象

对象,大家都知道java是面向对象的语言。在java中对象是如何创建的呢?在java中对象的创建方式有以下5种方式:

通过new关键词在堆中产生对象

通过Clone()方法创建对象

通过字节流反序列化生成对象

使用Class类的newInstance方法

使用Constructor类的newInstance方法

这5种方式中一般new是我们使用频率最高的,也是最简单的一种。这个不用多说。对于clone()方法一般使用的频率比较低。现在有这样一个场景:对象A已经被创建,此时想要创建对象B,对象B中的属性以及属性值与对象A存在大部分相同,此时可以通过clone方法来实现对象B的创建以及自动赋值。这样做简单方便,简化了很多代码。对于第三种方式,反序列化来创建对象一般用于对象的持久化或者网络通信中。对于最后2种方式,实质都是一样的,底层都是通过java的reflect机制实现的。

其他基础优化

if…else…语句也是最常用的,对于多条件判断时,要尽量使用三目判断语句,这样代码更加简洁。例如:

public static void main(String[] args){
int i = 2;
int flag = 0;
if (i==3){
flag = 1;
}else {
flag = 2;
}
flag = i==3?1:2;
}


看到代码就知道,最后一行三目运算符简洁。

另外对于boolean类型的判断不要这样去写:if(b==true),直接写成if(b)就ok。

除了if判断语句外,对于工具类中的方法最好使用static,如果一个类或方法不想被继承或override,则使用final。

对于变量,尽量使用局部变量,因为局部存在栈中,其生命周期只存在于方法的开始调用与结束,或者入栈与出战之间。

趁着下班抽点时间来写写,希望与他人分享交流,对于性能优化,下面还得继续写,今天到此结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息