笔记:Effective Java

Java编程最佳实践
本文分享了17条Java编程的最佳实践建议,包括使用静态工厂代替构造函数、利用Builder模式简化多参数构造、优化对象创建与管理、正确覆盖equals与hashCode方法、采用泛型提升代码复用性等,帮助开发者写出更高效、更易于维护的代码。

1、静态Factory替代Constructor函数

优势:有名称;不必每次都创建一个新对象,可实现享元;可返回子类型对象;参数化构造时候,代码简洁。


2、遇到多个Constructor 参数时候考虑使用Builder 模式


3、避免创建不必要的对象,尽量重用

如 String s = "aaaa" 远好于 String s= new String("aaaa");

Long s = Long.value(1)   远好于 Long  s = new Long(1);


4、清除过期对象

典型地,清除Collection 中过期的元素,防止内存泄露


5、覆盖equals注意

总要覆盖hashCode;注意方法是 equals(Object obj) 而不是 equals(MyObject  obj)


6、类和成员的可访问性最小化

7、复合优于继承


8、列表List 优于数组

现在不支持泛型数组,会抛ClassCastException


9、优先考虑泛型方法

public  <T>   T myMethod(List<T>  tList)  {}


10、必要时候进行保护性拷贝

比如返回一个数组,为了避免被,可返回其 clone对象。



11、需要精确的答案,不要使用float和double,而使用BigDecimal


13、基本类型优于装箱类型
比如 int 优于 Integer, boolean 优于 Boolean

14、同步访问共享的可变数据
i++,++操作不是线程安全的,可使用AtomicLong
使用Volitale关键字保证可见性

15、Executor 和 task 优于线程

16、并发工具优于wait、notify

17、慎用初始化
单例模式初始化:
public class Singleton{
        private Singleton() {}
        private static Singleton instance ;
        public  static  Singleton getInstance() { return  Holder.singleton  }
        private static class Holder 
        {
              static  Singleton singleton = new Singleton();
        }
}


其余没怎么用到





转载于:https://www.cnblogs.com/leeeee/p/7276197.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值