《高质量java程序设计》

条款1:异常对性能的影响表现在两个方面:一方面是异常的创建、捕获和处理都需要较高的代价,另一方面即使异常没有发生,包含异常处理的代码仍然需要较多的时间。

条款3:用ERROR的子类来表示系统级的异常和程序不必要处理的异常。Java中有三种典型的异常:error,exception,runtimeexception

条款6:用链式异常来保存原始异常信息

条款7:将类的属性按种类分块;将方法的实现代码按功能分块

条款10:控制代码的长度

条款12:尽量少用同名的类

条款14:为内存分配做好准备 

堆:对象都是在堆中创建的;

栈:各种原始数据类型的局部变量都是在栈中创建的

从静态存储区域分配:内存在程序编译时就分配好了,例如static

java垃圾收集器:分代复制,标记,增量

条款15:用StringBuffer代替迭代使用String

条款18: 用接口代替抽象类

条款20:正确地使用集成表示分类关系(继承标识is-a关系,把继承作为一种分类来看待)

条款21:用组合表示包含关系(1,组成对象对成分对象有依赖性2,成分对象的唯一性,即同一成分对象只能属于一个组成对象3,组成通常是异构的)

条款22:避免方法的副作用(类的行为被分为两种:动作和查询,动作用来修改对象的状态(修改类的域),查询用来得到对象的状态(域的值),可以把对象看作状态机。避免方法副作用的途径:1,分离动作和查询方法2,设计不可变类)final类指类的实现不能够修改,类的状态是可以变化的,final不对并行做任何承诺,不可变类的实现应当的线程安全的

对大系统的关键部分可以尝试画类图等细粒度的设计图来优化设计

条款25:Java集合库最核心的功能由两个集合库的核心接口实现-Collection接口和Map接口,Map.Entry是对键值对(key value pair)的抽象

条款26:使用不可变类作为Set的元素和Map的key

条款28:谨慎的使用集合的clone()方法--浅复制or深复制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值