摘要: log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量、可配置的审计型日志、基于插件架构的各种灵活配置等。如果已经掌握log4j 1.x,使用log4j2还是非常简单的。 先看一个示例 1 基础配置 普通Java项目手 阅读全文
posted @ 2017-05-10 17:43 撒_旦 阅读(16339) 评论(4) 推荐(2)
摘要: 前面几节的示例看起来让人沮丧,要记忆如此多的接口、类和继承关系,做各种复杂的配置。好在这些只是一种相对过时的实现方式,现在只需要使用@Aspect注解及表达式就可以轻松的使用POJO来定义切面,设计精妙正如spring MVC的@Controller。 1 示例 仍然使用上一节的"骑士和剑士"的例子 阅读全文
posted @ 2017-05-10 17:42 撒_旦 阅读(10763) 评论(0) 推荐(1)
摘要: 在掌握了可用的增强后,接下来要做的就是精确的描述切点。前面的示例都是指定一个目标类并把增强织入到所有方法中,实际开发显然会有更精细的筛选需求,比如对所有类中名称以test结尾的方法加入监控执行时间,或者指定某些方法仅在输入参数是指定值时做某些特殊处理以解决临时性需求。 spring中用Pointcu 阅读全文
posted @ 2017-05-10 17:40 撒_旦 阅读(700) 评论(0) 推荐(0)
摘要: 上一篇介绍了几种Advice(增强),并通过代码演示了生成代理的方式,下面来看通过配置文件配置方式把Advice织入目标类。 注意,配置文件方式仍然不是spring AOP的最好方式,学习配置方式也是为了循序渐进的掌握内核技术。 接口SmartCar [java] view plain copy p 阅读全文
posted @ 2017-05-10 17:39 撒_旦 阅读(439) 评论(0) 推荐(0)
摘要: 前面描述的几种增强(Advice)都是在目标方法范围内织入,而引介(Introduction)不同,直接在类级别上添加目标未实现的接口方法。 在spring中可以通过扩展DelegatingIntroductionInterceptor类来实现引介增强类。 下面通过这种方式给一辆普通汽车加上无人驾驶 阅读全文
posted @ 2017-05-10 17:39 撒_旦 阅读(473) 评论(0) 推荐(0)
摘要: 学习AOP前要先了解几个重要术语:Joinpoint、Pointcut、Advice 仍然以改装车比喻,拿到心爱的汽车后想做改装,第一件事是什么?找到要改装的地方。车上可改装的地方很多,但每个人感兴趣的点并不一样,有人改装车灯,有人改装轮毂,也有人同时都改,确定位置后装上零件、装饰,就完成了一次"A 阅读全文
posted @ 2017-05-10 17:37 撒_旦 阅读(435) 评论(0) 推荐(0)
摘要: AOP全称是Aspect Oriented Programing,通常译为面向切面编程。利用AOP可以对面向对象编程做很好的补充。 用生活中的改装车比喻,工厂用面向对象的方法制造好汽车后,车主往往有些个性化的想法,但是又不想对车进行大规模的拆卸、替换零件,这时可以买一些可替换的零件、装饰安装到汽车上 阅读全文
posted @ 2017-05-10 17:36 撒_旦 阅读(596) 评论(0) 推荐(0)
摘要: 生活中,我们常遇到需要等待的场景,例如去银行办事,在没轮到自己之前需要一直等待,但是如果需要自己每隔几秒钟就去柜台前看看状况,那肯定是种非常低效和令人恼火的体验。而实际的情况是,接待员会让您拿个号,说"请稍等一会"(wait); 当排到时,语言和大屏幕会提示"请XXX号到N号柜台办理"(notify 阅读全文
posted @ 2017-05-10 17:34 撒_旦 阅读(1229) 评论(0) 推荐(0)
摘要: 虽然Java的垃圾回收和当前高配置的服务器可以让程序员大部分时间忘掉OutOfMemoryError的存在,但是访问量增大后频繁的GC会额外消耗CPU (使用top查看结果为us值高),系统响应速度下降,积压的请求又会占用更多内存从而恶性循环,严重时可能导致系统不断Full GC造成应用停顿。 优化 阅读全文
posted @ 2017-05-10 17:32 撒_旦 阅读(270) 评论(0) 推荐(0)
摘要: 集合类在开发中使用非常频繁,使用时合理的选择对提高性能小有帮助。而且大部分面试都会有与集合相关的问题,例如ArrayList和LinkedList的对比。 了解API的集成与操作架构,才能了解何时该采用哪个类,而不会只能抄写范例。本文也尝试用一些现实生活中的物品来描述各个集合类的特性,仅仅是帮助快速 阅读全文
posted @ 2017-05-10 17:31 撒_旦 阅读(473) 评论(0) 推荐(0)