Spring AOP不起作用原因记录了工作中遇到的AOP不起作用的两种情况,一是把切面类中的方法作为切入点(否则可能会陷入递归或迭代调用问题),一是切入点方法中调用同类中其它方法时(因为只对切入点方法调用时使用了代理类的增强方法,而切入方法内部仍使用被代理对象调用对应方法,所以内部调用的其它方法增强通知不起作用)。
如何成为技术专家是网上如何快速成为技术专家一文的总结,成为技术专家是大多数程序员职业规划可考虑的一个方向。而要成为专家,首先必须要有良好的心态,空杯不迷信权限,坚持学习精益求精,其次是掌握良好的学习方法,将知识转化为能力,养成良好的编码习惯,在解决业务问题的同时快速成长。
聊聊日志打印规范问题是对工作一些日志不规范问题总结,日志异常处理是很重要但不紧急会被忽视的事,很多人开发时不太在意,后期维护时发现关键地方没加日志,打了很多没用的日志等问题,日志异常是否能处理好是区分一个开发人员责任心甚至是能力的重要标志。
Java中的接口和抽象类比较了接口和抽象类不同,接口表示like-a关系,提倡“面向接口编程”,Java自身动态代理也要求类必须要实现对应的接口才行。接口中的变量默认是 public static final的,接口中的方法默认是public abstract的。为了实现函数编程等新特性,JAVA自身也在不断扩充接口的功能,比如JDK8中允许在接口中定义静态方法和默认方法;JDK8中允许接口中定义非公用的静态方法等;
死锁及预防总结了多线程并发过程中产生死锁的四个必要条件,资源互斥,已有用资源不可抢占,已占用资源且申请其它互斥资源,循环等待。而预防死锁就是尽可能破坏上面四个必要条件,实际可行的主要是打破占用且申请和循环等待条件。在实际Java编程时要避免死锁要注意避免嵌套锁,尽可能减少锁范围,避免无限期等待,使用lock时要在finally中释放。
Spring Web常见面试问题讲了Web容器初始化过程,Spring MVC中IOC容器关系,SpringMVC的工作流程,设计优点及其与Struts2的主要区别等。