(学习笔记)java性能优化

final修饰符

final修饰的类是不可派生的,让类不可以被继承。
final修饰的方法不可以被重写。
java编译器会寻找机会内联所有的final方法,内联对java运行效率提示巨大。

基本数据类型代替对象

String类型:程序除了创建字符串外,底层还包含一个char[]数组。
例如:String text = 'hello';char[]数组依次存放了h,e,l,l,o.

静态变量

某个对象被定义为static变量所引用,这个对象通常会常驻内存,不会被回收,直到程序终止。

二维数组

二维数组占用的内存空间比一维数组多得多,大概是10倍以上。

及时关闭流

数据库链接,I/O流等操作,使用完毕后,要即使关闭以释放资源,因为对这些大对象的操作会造成系统大的开销。

try catch

应该放在最外层

循环内不要创建对象引用

循环外创建对象Object obj = null;
循环内obj=new Object();
这样内存只有一份Object对象引用,没次new的时候Object对象引用指向不同的Object。

不要将数组声明为public static final

无意义,只是定义了引用为static final,数组的内容还是可以随意变更的。

同步代码快替代同步方法

除非能确定一整个方法都是需要进行同步的,否则尽量使用同步代码块。
避免对那些不需要进行同步的代码也进行了同步,影响了代码执行效率。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容