2016年总结-JAVA程序员 - 小宝鸽 - 博客频道 - CSDN.NET
作者:小宝鸽
一、技术积累
(1)代码规范
1.1.1、通常的模块分布:一般如果你要实现一个web应用,你从后台将数据展示到前端页面,在一个比较大的公司,你少不了跟其他项目有交集(你调用他的接口,他依赖你的接口),这样下来,整个公司有很多个模块,怎么做到很好的联系。回到刚刚的模块分布,你的一个web应用,应当需要分成三个模块:core模块、service模块、web模块。web模块就是展示到页面,后台代码而言主要就controller层了,其他逻辑基本都放在core了,service模块就是一些接口类和参数dto等等,接口的实现类在core模块。这样下来,web模块只需要依赖service模块,同样的其他系统依赖你的接口也仅仅是依赖service模块,然后利用远程调用方式消费你的接口服务。
1.1.2、代码层级结构:针对后台服务项目,一般分为对外接口层、service层、Dao层。Dao层就是与数据库交接的接口层,service层主要调用Dao或者外部系统的接口,复杂的逻辑基本都放在service层;一些方法需要提供给其他模块调用的时候,就封装在对外接口层,只有对外接口层是暴露。这里说的只是层级结构,还有与层级结构无关的,也是需要归类的,比如对外部系统接口方法封装的我们放在一个目录下面,一些常量和工具类等我们放在common目录下面。当然还有其他考虑,尽量让整个模块有层次感,代码才不会太乱,更好的维护。
1.1.3、总结上面两点:可能不少猿友觉得上面啰嗦又不像代码规范,其实这两点也是代码规范的一部分,主要引导大家往结构清晰好维护的思维方向走,多思考吧。
1.1.4、对于一些需要异步处理的,不要直接new一个thread,应当使用线程池。使用线程池的时候应当对线程数量大小合理设置,一般最大不超过50个,当然还需要考虑你的IO和CPU,怎么分析网上搜搜吧。
1.1.5、容器类变量,如果变化比较大且频繁,尽量定义的时候设置初始容量大小,减少扩容带来的消耗。