日常的工作学习中,经常会看到好的知识点,对自己有提示的一句话,或者是自己突然想通了一件事情。决定以博客的形式记录下来,以“技术琐话”作为主题。

2018年以“技术琐话”开篇,主要是整理了一下自己以前一些零散的知识点。

技术感悟

  • 阅读各种技术的使用/说明/示例/原理文档时,能不能快速吸收为自己的知识?能不能注意到细节关键点?是一个开发工程师优不优秀,能不能比别人更突出、更快成长起来的一个非常重要的地方。

  • 你东西学得广了,别人就会攻击你不够深入;你东西学得够深了,别人就会攻击你知识面不广;你专精在技术时,别人就会说你管理不好;你花心力好好做管理之后,别人就会说你技术没有跟上;你研究方法论时,别人就会说你很虚;你专心做项目时,别人就会说你没有提炼方法,没有系统。… 想挑你毛病,总有办法。但你自己知道自己在干什么最重要,那些你的「缺点」其实可能不是缺点,而是一件事物的另一面。你选择这一面,自然会缺另一面。这是取舍点,不是优缺点。(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集合类对比图表