Effective Java - 谨慎地进行优化

第67条 谨慎地进行优化

  1. 不要因为性能而牺牲合理的结构,要努力编写好的程序而不是快的程序
  2. 对于API的设计要在设计时候就考虑性能,这些API在后续很难甚至不可以改变
  3. 要考虑API设计决策的性能后果
    • 可以用复合的场景如果使用了继承,则父类子类就捆绑在了一起。日后如果有了性能更好的实现也不方便替换
    • 在代码里直接依赖了具体实现类而不是接口,如果有性能更佳的实现也不方便替换
    • ...
  4. 在每次试图做优化之前和之后,要对性能进行测试
  5. 性能剖析工具有助于你决定应该把优化的重心放在哪里

思考

  1. 以前在写代码的时候经常会特别考虑性能,后来发现很多的担心都是没有必要的,Java的运行速度并不需要太担心,不是特别明显的复杂度,执行速度都是相对快的
  2. 很多时候我们想要优化速度,第一反应都会是多线程。其实在真正优化前还是需要仔细研究下任务之间是否真的独立、每个任务的执行时间是不是差不多相同的(至少相差不能太大)、是IO慢还是计算慢等等。未来Java的新特性中将引入类似协程的内容,对于我们的优化又将是一个新的思路
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容