上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页
摘要: CGLib原理:动态生成一个要代理类的子类,子类重写要代理的类的所有不是final的方法。在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势植入横切逻辑。 CGLib动态代理是利用ASM开源包,对代理对象类的class文件,通过修改其字节码生成子类来处理。核心是实现MethidIntercept 阅读全文
posted @ 2021-01-14 22:03 刘指导 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 静态代理与动态代理的区别 静态代理在编译时就已经实现,编译完成后代理类是一个实际的class文件 动态代理是在运行时动态生成的,即编译完成之后没有实际的class文件,而是在运行时动态生成类字节码 ,并加载到JVM中 动态代理分为:JDK动态代理和CGLib动态代理 【二者具体的区别在后面章节进行介 阅读全文
posted @ 2021-01-14 21:55 刘指导 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 代理模式是23种设计模式之一,提供了对目标对象额外的访问方式,即通过代理对象来访问目标对象,扩展业务功能,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能(满足开闭原则)。 简而言之,代理模式就是设置一个中间代理来控制访问原目标对象,以达到增强原对象的功能和简化访问方式。 阅读全文
posted @ 2021-01-14 21:42 刘指导 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 1、需要实现接口:Serializable 2、当前类提供一个全局常量:serilaVersionUID 3、除了类要实现Serializable接口外,还必须保证其内部所有属性也必须是可序列化的。(默认情况下:基本数据类型可序列化) 4、ObjectOutputStream和ObjectInput 阅读全文
posted @ 2021-01-13 21:59 刘指导 阅读(117) 评论(0) 推荐(0) 编辑
摘要: /** * The number of times this HashMap has been structurally modified * Structural modifications are those that change the number of mappings in * the 阅读全文
posted @ 2021-01-13 15:53 刘指导 阅读(1392) 评论(0) 推荐(2) 编辑
摘要: 转载于: @Author 风一样的码农 @HomePageUrl http://www.cnblogs.com/chenpi/ 先解释下Java中的对象序列化 在讨论transient之前,有必要先搞清楚Java中序列化的含义; Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字 阅读全文
posted @ 2021-01-13 15:48 刘指导 阅读(540) 评论(0) 推荐(1) 编辑
摘要: 作者:安卓大叔 链接:https://www.jianshu.com/p/e136ec79235c 来源:简书 正文 红黑树也是二叉查找树,我们知道,二叉查找树这一数据结构并不难,而红黑树之所以难是难在它是自平衡的二叉查找树,在进行插入和删除等可能会破坏树的平衡的操作时,需要重新自处理达到平衡状态。 阅读全文
posted @ 2021-01-13 15:08 刘指导 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用hashCode 参考 https://zhuanlan.zhihu.com/p/43001449 https://www.jianshu.com/p/eb9ab4211163 equals()用于判断两个对象是否相等 hashcode()被设计是用来使得哈希容器能高效的工作 为什么这么 阅读全文
posted @ 2021-01-11 17:06 刘指导 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 线程池:三大方法、七大参数、4种拒绝策略 线程池的好处 1、降低资源的消耗 2、提高响应速度 3、方便管理 线程复用、可以控制最大并发数、管理线程 三大方法 ExecutorService threadPool = Executors.newSingleThreadExecutor(); //创建只 阅读全文
posted @ 2021-01-06 21:58 刘指导 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 什么时候扩容 jdk 1.7 判断是否达到了阈值(0.75 × 数组长度) 同时这次put是否产生了Hash冲突 if ((size >= threshold) && (null != table[bucketIndex])) { resize(2 * table.length); //两倍扩容 h 阅读全文
posted @ 2021-01-06 16:56 刘指导 阅读(749) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页