摘要: JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。但因为采用的是继承,所以不能对final修 阅读全文
posted @ 2019-11-22 14:17 gaopengpy 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 代理类在程序运行时创建的代理方式被称为动态代理。 JDK动态代理实现原理 动态代理机制 1、通过实现 InvocationHandler 接口创建自己的调用处理器 2、通过为 Proxy 类指定 ClassLoader 对象和一组 interface 来创建动态代理类 3、通过反射机制获得动态代理类 阅读全文
posted @ 2019-11-22 12:08 gaopengpy 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。 静态代理是由程序员创建或特定工具自动生成源代码,在对其编译。在程序员运行之前,代理类.class文件就已经被创建了。动态代理是在程序运行时通过反射机制动态创建的。 静态 阅读全文
posted @ 2019-11-22 11:25 gaopengpy 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 一致哈希是一种特殊的哈希算法。在使用一致哈希算法后,哈希表槽位数(大小)的改变平均只需要对 K/n个关键字重新映射,其中K是关键字的数量, n是槽位数量。然而在传统的哈希表中,添加或删除一个槽位的几乎需要对所有关键字进行重新映射。 原理 一致性Hash算法通过一个叫做一致性Hash环的数据结构实现K 阅读全文
posted @ 2019-11-22 11:09 gaopengpy 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 序列化和反序列化的概念:序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。 什么情况下需要序列化当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;当你想用套接字在网络上传送对象的时候;当你想通过RMI传输对象的时候; 如何实现序列化 阅读全文
posted @ 2019-11-22 10:56 gaopengpy 阅读(188) 评论(0) 推荐(0) 编辑