`
chriszhang
  • 浏览: 3239 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
[img]http://dl2.iteye.com/upload/attachment/0125/2936/3be7997b-246b-3f9e-a4dc-001c423caa3f.jpg" alt="[/img]  

java阻塞队列

java队列 在并发操作中,我们经常使用队列存储相关请求,达到异步处理,异步响应,异步加载的效果。 通常使用如下两个队列ArrayBlockingQueue和LinkedBlockingQueue。 1、ArrayBlockingQueue:需要初始化队列大小,主要使用重入锁(ReentrantLock)来控制并发,只有一个锁,当前只允许一个线程运行,不能并行控制: ★添加元素方法:add、offer、put,前两个方法添加成功返回true,添加失败返回false,put方法如果添加不了元素(比如队列已满),就一直处于阻塞状态,直到元素添加进去。 ★删除元素方法:poll、remove、take ...
Spring动态切换数据源利用Spring相关功能实现动态切换数据源。主要使用Spring提供的AbstractRouteDataSource,当进行读数据操作时,查询指定读数据库,当进行写数据操作时,往指定数据库中写数据。1、相关配置文件去下:Spring-beans.xml:  2、动态数据源类DynamicDataSource:   3、使用ThreadLocal设置/获取数据源类型:  4、代码调用范例:   

cglib代理

CGLIB代理cglib是一个高性能的代码生成库。相对jdk动态代理,针对没有实现接口的类提供代理方案。利用轻量级字节码处理框架ASM,将相应字节码转换生成子类,覆盖非final方法来进行代理,因此,cglib不能代理final类或者final方法。通过提供一系列的回调类型,处理不同场景下的代理: 功能最强的是MethodInterceptor类型,代理对象的所有方法都会被分配到这个接口的intercept方法进行处理。另一个关键类Enhancer,可以通过该实例指定代理对象,设置相应回调类型,创建具体代理对象:     
Spring容器、Bean配置信息、Bean实现类以及应用程序四者的相互关系:      

jdk动态代理

jdk动态代理 在jvm运行时生成一个代理对象,通过执行和代理对象关键的invoketionhandler对象的invoke方法,去执行真实对象的目标方法。 代理机制关键的一个接口(invoketionhandler)和一个类(proxy)。 整体流程是通过Proxy.newProxyInstanse(参数1,参数2,参数3)生成目标对象: 参数1:invoketionHander接口实现类对象实例.getClass.getClassLoader():类加载器; 参数2:目标对象实例.getClass.getInterfaces():目标对象(类)包含的所有接口信息; 参数3:代理对象关联的in ...

反射概述

反射: 为了在jvm运行时获取并执行某些方法,达到动态加载运行类方法的目的。 1.获取类对象(class); 2.获取指定方法对象:method; 3. 执行方法对象的invoke方法; 影响性能点: 1. 获取method方法中: a.每次找到目标方法后都是直接copy一份原方法,再指定copy对象的methodaccessor为原对象; b.先从内存缓存中找到方法,找不到再从jvm中重新加载,再放到缓存中(refectiondata:存储类属性,方法,构造函数等信息); 2.执行invoke方法:需要加methodaccessor对象判空处理,若为空,重新new一个(Native)meth ...
1、http://www.java2s.com/ 2、http://www.ixpub.net ---论坛 3、http://www.17ext.com/  --- Ext 4、https://www.iconfinder.com/search/?q=exclamation  -- 图片
Global site tag (gtag.js) - Google Analytics