摘要: package com; import java.util.concurrent.Exchanger; /** * Created by yangyu on 16/11/28. */ /** * Exchanger用于进行线程间的数据交换; * 它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据; * 两个线程通过exchange方法交换数据,如果一个线程先执行excha... 阅读全文
posted @ 2016-11-28 13:55 11楼的日记 阅读(673) 评论(0) 推荐(0) 编辑
摘要: package com; import java.util.concurrent.Semaphore; /** * Created by yangyu on 16/11/28. */ /** * Semaphore控制并发线程数量 * * 使用场景: * 当大批量的并发请求来到系统当中时,为了保证系统稳定,真正执行业务逻辑的线程其实数量有限; * 为了保证业务系统的稳定,不会... 阅读全文
posted @ 2016-11-28 12:52 11楼的日记 阅读(965) 评论(0) 推荐(0) 编辑
摘要: Spring AOP 源码记录: 1.AOP 入口ProxyFactoryBean.getObject()方法; 2.AOP实现: (1)实现InvocationHandler接口 (2)通过java.lang.reflect.Proxy.newProxyInstance生成代理类 3.JDK与cg 阅读全文
posted @ 2016-11-28 11:33 11楼的日记 阅读(217) 评论(0) 推荐(0) 编辑
摘要: package com; import java.util.Map; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CyclicBarrier; /** * Created by ya... 阅读全文
posted @ 2016-11-28 11:31 11楼的日记 阅读(514) 评论(0) 推荐(0) 编辑
摘要: JDK提供了7中阻塞队列,这里介绍其中3中,剩余的以此类推原理相同。 1.ArrayBlockingQueue 2.LinkedBlockingQueue:链表实现的有界阻塞队列 3.PriorityBlockingQueue:支持优先级的无界阻塞队列 4.DelayQueue 5.Synchron 阅读全文
posted @ 2016-11-27 13:09 11楼的日记 阅读(1090) 评论(0) 推荐(0) 编辑
摘要: package com; import sun.misc.Unsafe; import java.lang.reflect.Field; /** * Created by yangyu on 16/11/24. */ public class TestUnsafe { public static void main(String[] args) { Node ... 阅读全文
posted @ 2016-11-24 17:56 11楼的日记 阅读(9156) 评论(2) 推荐(1) 编辑
摘要: public class Test { public static void main(String[] args) { int t = 0; int p = 0; int q = 0; int tail = 1; int head = 2; /** * 这个(t != ... 阅读全文
posted @ 2016-11-24 17:33 11楼的日记 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 一、java提供了三种ClassLoader对Class进行加载: 1.BootStrap ClassLoader:称为启动类加载器,是Java类加载层次中最顶层的类加载器,负责加载JDK中的核心类库,如:rt.jar、resources.jar、charsets.jar等,可通过如下程序获得该类加 阅读全文
posted @ 2016-10-24 12:35 11楼的日记 阅读(13802) 评论(1) 推荐(0) 编辑
摘要: 首先让我们看看最简单的socket client与server实例: Client Server 以上一个Client和一个Server,最简单的例子,但是体现socket编程。 如果需要Server服务端一直监听端口,那么只需要循环就可以(server.accept()会阻塞等待请求),至于需要高 阅读全文
posted @ 2016-10-19 18:04 11楼的日记 阅读(523) 评论(0) 推荐(1) 编辑
摘要: 一、看一下简单的通过XML的AOP配置 1.首先创建一个简单的Student类 2.创建一个简单的aspect切面class 3.SpringAOP.xml配置 分析一下这个execution(* com.seeyon.SpringBean.aop.Student.get*(..))切点表达式: ( 阅读全文
posted @ 2016-10-12 17:36 11楼的日记 阅读(4443) 评论(0) 推荐(0) 编辑