接上篇:
https://developer.aliyun.com/article/1227037?spm=a2c6h.13148508.setting.19.18334f0eu8bmt9
八、 异常
1. 直接捕获对应的异常
直接捕获对应的异常,避免用instanceof判断,效率更高代码更简洁。
反例:
正例:
2. 尽量避免在循环中捕获异常
当循环体抛出异常后,无需循环继续执行时,没有必要在循环体中捕获异常。因为,过多的捕获异常会降低程序执行效率。
反例:
正例:
3. 禁止使用异常控制业务流程
相对于条件表达式,异常的处理效率更低。
反例:
正例:
九、 缓冲区
1. 初始化时尽量指定缓冲区大小
初始化时,指定缓冲区的预期容量大小,避免多次扩容浪费时间和空间。
反例:
正例:
2. 尽量重复使用同一缓冲区
针对缓冲区,Java虚拟机需要花时间生成对象,还要花时间进行垃圾回收处理。所以,尽量重复利用缓冲区。
反例:
正例:
其中,使用setLength方法让缓冲区重新从0开始。
3. 尽量设计使用同一缓冲区
为了提高程序运行效率,在设计上尽量使用同一缓冲区。
反例:
正例:
去掉每个转化方法中的缓冲区申请,申请一个缓冲区给每个转化方法使用。从时间上来说,节约了大量缓冲区的申请释放时间;从空间上来说,节约了大量缓冲区的临时存储空间。
4. 尽量使用缓冲流减少IO操作
使用缓冲流BufferedReader、BufferedWriter、BufferedInputStream、BufferedOutputStream等,可以大幅减少IO次数并提升IO速度。
反例:
正例:
其中,可以根据实际情况手动指定缓冲流的大小,把缓冲流的缓冲作用发挥到最大。
接下篇:https://developer.aliyun.com/article/1227008?groupCode=java