软件一定存在修改的余地——《大话Java性能优化》
Java是典型的面向对象语言,去掉了指针让开发更加简便,却无法直接指向内存;似乎穿上了铠甲却多了软肋,因此Java性能优化是非常必要的。
面对客户的咄咄逼人的需求修改和即刻变更需求上线压力,程序员作为弱势群体,往往会考虑时间优先原则,导致软件质量大幅下降。尤其在某些外包公司里,三个分别来自达内、北大青鸟和新华电脑专修学院的速成程序员开发了一个常量在三个类里分别声明、变量分别用GreenDAO、ORMLite和原生SQLite保存的App,性能问题随着新模块的增加而水涨船高,最终积重难返,在用compile 'com.Android.support:multidex:1.0.0' 解决了65k方法问题(相当于砸掉承重墙增加室内面积)后告诉客户换一家外包公司。
程序凑合着上线是一回事,而在压力下运行并可以维护下去就是另一回事了。《大话Java性能优化》就是一本让人学会优化Java代码性能的书,书中详细介绍了API调用、算法和设计模式、多线程、垃圾回收等各方面的性能优化方案和性能测试方法,除了第二章完全基于JavaEE外其他章节都是Android开发中性能问题的天敌。
《大话Java性能优化》第三章从Java的各大API调用的角度分析性能优化的方案。第一节《面向对象及基础类型》介绍了几种;第二节《集合类概念》讨论了List、Map和Set之间的优势和不足以及三者各自的高效使用方法和低效使用方法的对比;第三节《字符串概念》用很大篇幅专门讨论Java最常用的类String,好多性能优化方法都是非常实用却经常被忽视的,例如长度为1的字符串用'a'处理的效率比用"a"处理高得多。
此外,我感觉周老师除了在Java编程方面技高一筹外,他平时也是一个爱读书的饱学之士,对文学的造诣很高,从他优美的文笔上可以看出来。