![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
Arel大虾
心无旁骛
展开
-
java jdk动态代理与cglib动态代理
jdk动态代理的原理:使用反射机制生成字节码,因为他本身需继承Proxy类,不能多重继承,所以只能对接口做动态代理。 cglib动态代理的原理:对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。 网上很多大神已经对这两部分做细致研究: 1、JDK动态代理实现原理:http://rejoy.iteye.com/blog/16274原创 2016-04-11 16:32:50 · 448 阅读 · 0 评论 -
Java位运算总结:位运算用途广泛
前天几天研究了下JDK的Collection接口,本来准备接着研究Map接口,可是一查看HashMap类源码傻眼咯,到处是位运算实现,所以我觉得还是有必要先补补位运算知识,不然代码看起来有点费力。今天系统研究了下,现记录如下。 首先要明白一个概念,Java位运算是针对于整型数据类型的二进制进行的移位操作。主要包括位与、位或、位非,有符号左移、有符号右移,无符号右移等等。需要注意一点转载 2017-08-03 14:15:11 · 279 阅读 · 0 评论 -
JDK源码学习--AbstractStringBuilder reverse()
public AbstractStringBuilder reverse() { //是否含代理字符 //高代理highSurrogate和低代理lowSurrogate概念请另查询char与Unicode字符 boolean hasSurrogate = false; //定义一个变量表示长度-1 int n = count - 1; //j初始化,长度-2再算术右移一位 j = (原创 2017-08-03 14:25:18 · 561 阅读 · 0 评论