加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java性能优化读书笔记(1)

发布时间:2020-12-14 06:23:24 所属栏目:Java 来源:网络整理
导读:1.采用clone()方式创建对象 ? java语言里面的所有类都默认继承自java.lang.Object,此类里有一个clone()方法: ? ?拷贝对象返回的是一个新的对象,而不是一个对象的引用地址; ? ?拷贝对象与用new关键字操作返回的新对象的区别是这个拷贝已经包含了一些原来

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

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

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

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

工厂模式的实现:

反例

Credit(); }

正例

使用clone()方法

Credit BaseCredit=

2.避免boolean判断

? ?boolean 一个字节 8位

反例

str.endswith("a")==; }

正例

str.endswith("a"

3.多用条件操作符

反例:

method( 0 1

正例:

method( (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.空变量

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读