1. Java多线程-三个线程循环打印ABC(二)

    Java三个线程循环打印ABC。。。,是个笔试题,主要学习掌握线程同步,需要有线程基础知识。 思路:通过synchronized关键词锁定两个对象保持线程同步,只有同时获取上一个对象和自身锁才运行来保证依次打印ABC,当前线程运行完使用wait释放自身锁并使用modify唤醒上一个对象锁。 A->AC,B->BA,C-CA锁关系,A同时满足获取AC锁执行打印后处理线程状态wait->A并notify->C,B满足AB锁才会运行所以只有当A运行完并wait释放B才会运行再依次wait->B并notify->A,C也是依次执行。

    2017/05/04 Java,多线程

  2. Java多线程-三个线程循环打印ABC(一)

    Java三个线程循环打印ABC。。。,是个笔试题,主要学习掌握线程同步,需要有线程基础知识。 思路:通过synchronized关键词锁定对象让线程同步,根据取模运算符%交替打印,每打印一次并唤醒其他睡眠线程同时使自身线程Wait,依次循环。 定义一个线程执行主体 ```java /** Created by litf on 2017/5/4. */ public class RunnableAbc implements Runnable{

    2017/05/04 Java,多线程

  3. Java总结篇系列:Java多线程(一)

    多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的。

    2017/05/03 Java,多线程

  4. 谈谈对AOP的理解 一——认识AOP

    前几篇博客我们说了JAVA的代理模式,从静态代理到动态代理,又到CGLIB代理。从静态代理到动态代理是一种进步,JDK的动态代理和CGLIB的代理,却是各有优缺点,在使用过程中,不是非要决出个胜负,根据不同的情景,使用不同的代理;也可以根据情况,两者结合使用,代码是我们写出来的,我们才是创造者,知其然,知其所以然,然可用之。 *** 一、AOP

    2017/05/02 Java

  5. Spring AOP详解

    AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。 OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。 不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心功能毫无关系对于其他类型的代码,如安全性、异常处理和透明的持续性也都是如此,这种散布在各处的无关的代码被称为横切(cross cutting),在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。 AOP技术恰恰相反,它利用一种称为”横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为”Aspect”,即切面。所谓”切面”,简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。

    2017/05/02 Java

  6. 理解aop

    Aspect Oriented Programming 面向切面编程。解耦是程序员编码开发过程中一直追求的。AOP也是为了解耦所诞生。

    2017/04/27 Java