![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
零枫叶
这个作者很懒,什么都没留下…
展开
-
反射概述
反射:为了在jvm运行时获取并执行某些方法,达到动态加载运行类方法的目的。1.获取类对象(class);2.获取指定方法对象:method;3. 执行方法对象的invoke方法;影响性能点:1. 获取method方法中:a.每次找到目标方法后都是直接copy一份原方法,再指定copy对象的methodaccessor为原对象;b.先从内存缓存中找到方法,找不到再...原创 2017-04-18 12:50:25 · 92 阅读 · 0 评论 -
jdk动态代理
jdk动态代理在jvm运行时生成一个代理对象,通过执行和代理对象关键的invoketionhandler对象的invoke方法,去执行真实对象的目标方法。代理机制关键的一个接口(invoketionhandler)和一个类(proxy)。整体流程是通过Proxy.newProxyInstanse(参数1,参数2,参数3)生成目标对象:参数1:invoketionHander接口实现...原创 2017-04-19 12:32:33 · 273 阅读 · 0 评论 -
cglib代理
CGLIB代理cglib是一个高性能的代码生成库。相对jdk动态代理,针对没有实现接口的类提供代理方案。利用轻量级字节码处理框架ASM,将相应字节码转换生成子类,覆盖非final方法来进行代理,因此,cglib不能代理final类或者final方法。通过提供一系列的回调类型,处理不同场景下的代理: 功能最强的是MethodInterceptor类型,代理对象的所有方法都会被分配到这个接口的i...原创 2017-04-21 06:15:23 · 166 阅读 · 0 评论 -
java阻塞队列
java队列在并发操作中,我们经常使用队列存储相关请求,达到异步处理,异步响应,异步加载的效果。通常使用如下两个队列ArrayBlockingQueue和LinkedBlockingQueue。1、ArrayBlockingQueue:需要初始化队列大小,主要使用重入锁(ReentrantLock)来控制并发,只有一个锁,当前只允许一个线程运行,不能并行控制:★添加元素方法:add...原创 2017-04-24 20:08:28 · 157 阅读 · 0 评论