TDD测试驱动开发 代码的信息来源于现场的长时间运行,这一版在现场跑了一个月问题很少,所以稳定。比如重复代码,不好理解的代码等,特别担心改了一个地方影响另外一个地方。开发长时间投入在缺陷的修复中,修复完依赖测试做长时间的回归测试。1.在缺陷的泥潭中挣扎。2.维护困难,开发缓慢。
ForkJoin框架 ForkJoin模式借助于现代计算机多核的优势并行处理数据。通常情况下,ForkJoin模式将分解出来的子任务放入双端队列中,然后几个启动线程从双端队列中获取任务并执行。子任务执行的结果放到一个队列中,各个线程从队列中获取数据,然后进行局部结果的合并,得到最终结果。ForkJoin模式先把一个大任务分解成许多个独立的子任务,然后开启多个线程并行去处理这些子任务。有可能子任务还是很大而需要进一步分解,最终得到足够小的任务。ForkJoin模式的任务分解和执行过程大致如下图所示。
@Resource和@Autowired的区别 Autowired是根据type来匹配,@Resource可以根据name和type来匹配,默认是name匹配;@Autowired是Spring定义的注解,@Resource是JSR 250规范里面定义的注解,而Spring对JSR 250规范提供了支持;@Autowired如果需要支持name匹配,就需要配合@Primary或者@Qualifier来实现。
算法-分支限界算法 在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。