上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: 一、Cglib动态代理Cglib是一个优秀的动态代理框架,它的底层使用ASM在内存中动态的生成被代理类的子类,使用Cglib即使代理类没有实现任何接口也可以实现动态代理功能。而且,它的运行速度要远远快于JDK的Proxy动态代理。1.Cglib核心类 net.sf.cglib.proxy.Enhan 阅读全文
posted @ 2019-02-26 19:18 橘子洲头。 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 一、什么是动态代理?代理类在程序运行时创建的代理方式被成为动态代理。动态代理的代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的。相比于静态代理, 动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类中的方法。 Java动态代理有 阅读全文
posted @ 2019-02-26 19:02 橘子洲头。 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 注解的产生背景以前,xml以低耦合的方式得到了广大开发者的青睐,xml在当时基本上能完成框架中的所有配置。但是随着项目越来越庞大,xml的配置也越来越复杂,维护性也随之降低,维护成本增高。于是就产生了一种标记式的高耦合的配置方式——注解。 注解的本质注解(Annotation)相当于一种标记,在程序 阅读全文
posted @ 2019-02-25 19:58 橘子洲头。 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 用法:ThreadLocal用于保存某个线程共享变量:对于同一个static ThreadLocal,不同线程只能从中get,set,remove自己的变量,而不会影响其他线程的变量。 ThreadLocal.get: 获取ThreadLocal中当前线程共享变量的值。 ThreadLocal.se 阅读全文
posted @ 2019-01-24 11:50 橘子洲头。 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 作用我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁 阅读全文
posted @ 2019-01-24 11:42 橘子洲头。 阅读(149) 评论(0) 推荐(0) 编辑
摘要: Master-Worker模式是常用的并行模式之一,它的核心思想是:系统由Master进程和Worker进程两类进程协同工作,Master负责接收和分配任务,Wroker负责处理子任务。当各个Worker进程将子任务处理完成后,将结果返回给Master进程,由Master进程进行汇总,从而得到最终的 阅读全文
posted @ 2019-01-23 17:13 橘子洲头。 阅读(365) 评论(0) 推荐(0) 编辑
摘要: Future模式的核心:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑。 Future模式有点类似于商品订单。在网上购物时,提交订单后,在收货的这段时间里无需一直在家里等候,可以先干别的事情。类推到程序设计中时,当提交请求时,期望得到答复时,如果这个答复可能很慢。传统的是 阅读全文
posted @ 2019-01-23 17:07 橘子洲头。 阅读(776) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap HashMap是线程不安全的,可以使用Collections.synchronizedMap(map)把一个不安全的map变成安全的,但是这里可以直接使用ConcurrentHashMap。 ConcurrentHashMap是线程安全的的Hash表。对于多线程的 阅读全文
posted @ 2019-01-23 11:52 橘子洲头。 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 在前面我们提到了阻塞队列,也用过了LinkedBolckingQueue队列了,在这里,我们主要对 ArrayBlockingQueue,PriorityBlockingQueue,DelayQueue,SynchronousQueue,LinkedTransferQueue,LinkedBlock 阅读全文
posted @ 2019-01-21 20:55 橘子洲头。 阅读(497) 评论(0) 推荐(0) 编辑
摘要: CyclicBarrier概念:CyclicBarrier是多线程中的一个同步工具,它允许一组线程互相等待,直到到达某个公共屏障点。形象点儿说,CyclicBarrier就是一个屏障,要求这一组线程中的每一个线程都要等待其他的线程执行完成,即这一组线程全部来到屏障前(全部执行完成),屏障才会打开,放 阅读全文
posted @ 2019-01-20 17:38 橘子洲头。 阅读(235) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 下一页