博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java性能优化读书笔记(1)
阅读量:7065 次
发布时间:2019-06-28

本文共 1097 字,大约阅读时间需要 3 分钟。

1.采用clone()方式创建对象

  java语言里面的所有类都默认继承自java.lang.Object,此类里有一个clone()方法:

   拷贝对象返回的是一个新的对象,而不是一个对象的引用地址;

   拷贝对象与用new关键字操作返回的新对象的区别是这个拷贝已经包含了一些原来对象的信息,而不是对象的初始信息。

工厂模式的实现:

反例

public static Credit getNewCredit(){  return new Credit(); //创建一个新的Credit对象  }

正例

使用clone()方法

private static Credit BaseCredit=new Credit();public static Credit getNewCredit(){  return (Credit)BaseCredit.clone();  }

2.避免boolean判断

   boolean 一个字节 8位

反例

boolean method(String str){  return str.endswith("a")==true;//判断字符串是否以a结尾}

正例

boolean method(String str){return str.endswith("a");}

3.多用条件操作符

反例:

public int method(boolean isDone){ if(isDone){   return 0; }else{   return 1;  }}

正例:

public int method(boolean isDone){  return (isDone ?0:1);}

4.静态方法替代实例方法

工具类

5.有条件的使用final字段

final告诉编译器该方法不会被重载

6.避免不必要的instanceof操作

7.避免在子类中存在父类转换

Object是所有类的父类

8.建议多使用局部变量

9.算法效率最高的方式--位运算

10.用一维数组替换二维数组

二维数组的访问速度优于一维数组,但二维数组占用的内存大于一维数组。

内存敏感时可以转换一下处理

11.布尔运算代替位运算

&&  || 

12.提取表达式优化

13.不要总是使用取反操作费 !

14.不要重复初始化变量

15.变量初始化过程思考

16.对象的创建、访问过程

17.在switch语句中使用字符串

18.数值字面量的改进

0b,0B还有_

19.优化变长参数的方法调用

@SafeVarargs

20.针对基本数据类型的优化

Integer.compare(x,y)

21.空变量

 

转载地址:http://gcxll.baihongyu.com/

你可能感兴趣的文章
quick 状态机StateMachine
查看>>
Node学习5-events模块
查看>>
3.5 Templates -- Binding Element Attributes(绑定元素属性)
查看>>
jquery常用技巧及常用方法列表集合
查看>>
Microsoft Dynamics AX 2012 正式版虚拟机
查看>>
iOS-CALayer图片淡入淡出动画
查看>>
Python学习笔记
查看>>
Oracle
查看>>
nodejs package.json说明
查看>>
MAT(MemoryAnalyzerTool)
查看>>
分享实用的JavaScript代码库
查看>>
46. Permutations
查看>>
49. Group Anagrams
查看>>
团队作业7——第二次项目冲刺-Beta版本项目计划
查看>>
lazyMan
查看>>
【Android】3.7 UI控制功能
查看>>
Linux下搭建tomcat和jre的环境
查看>>
国庆节
查看>>
java jni和android java ndk
查看>>
练习:WinForm 登录界面
查看>>