技术感悟
阅读各种技术的使用/说明/示例/原理文档时,能不能快速吸收为自己的知识?能不能注意到细节关键点?是一个开发工程师优不优秀,能不能比别人更突出、更快成长起来的一个非常重要的地方。
你东西学得广了,别人就会攻击你不够深入;你东西学得够深了,别人就会攻击你知识面不广;你专精在技术时,别人就会说你管理不好;你花心力好好做管理之后,别人就会说你技术没有跟上;你研究方法论时,别人就会说你很虚;你专心做项目时,别人就会说你没有提炼方法,没有系统。… 想挑你毛病,总有办法。但你自己知道自己在干什么最重要,那些你的「缺点」其实可能不是缺点,而是一件事物的另一面。你选择这一面,自然会缺另一面。这是取舍点,不是优缺点。(from 微博@蔡学镛)
来自硅谷的启示
技术点
在写Java代码的时候,如果匿名内部类里面传递变量,变量必须声明为final,而在Java8中,可以不用写这个final了,因为Java8引入了Effectively final 功能,由系统默认添加。What is Effectively Final variable of Java 8
将Nginx中的一个配置指令proxyinterceptorerrors设置为true,可以捕获后端服务器返回的错误码进行处理,从而可以使用nginx自己的错误显示页面。
在Servlet开发中,request.setCharacterEncoding必须在所有filter最开始执行,否则只要调用过request相关方法去获取其参数等,再去设置编码是无效的。
Java中File类的listFiles和list方法最终调用的是FileSystem的本地接口,返回的文件列表顺序是没有保证的。Spring中的san某一basepackage下的类就是使用的此方法,因此加载的bean的顺序也是无法保证的。这一点需要特别注意。
Tomcat各个版本特性对比图
Java集合类对比图表