java源码分析
Nozomi_Ame
这个作者很懒,什么都没留下…
展开
-
Integer源码解析
1.自动拆箱装箱java代码使用反编译工具查看class文件可以看出int->Integer自动装箱使用了Integer.valueOf(),Integer->int自动拆箱使用了intValue()。Integer.valueOf()使用了缓存IntegerCache是一个私有的静态内部类,保证了单例。[-128, 127]JDK9以后new Integer(int v)和new Integer(String s)被舍弃...原创 2021-08-31 09:28:01 · 104 阅读 · 0 评论 -
StringBuilder和StringBuffer底层
1.StringBuffer和StringBuilder底层存储是一个字符数组,继承自AbstractStringBuilder的value属性。2.StringBuffer和StringBuilderd的append的方法是在AbstractStringBuilder中实现的,StringBuffer的append方法加了synchronized。字符串的拼接使用了Arrays.copyOf()扩充容量复制值到原来的数组重写toString()输出值...原创 2021-08-27 20:01:57 · 1144 阅读 · 0 评论 -
Object中的equals方法
Java规范对equals方法使用的必须遵守的规则自反性。对于任何非空引用值x,x.equals(x)都应返回true。 对称性。对于任何非空引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)才返回true。 传递性。对于任何非空引用值x、y和z,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)应返回true。 一致性。对于任何非空引用值x和y,多次调用x.equals(y)始终返回true或始终返回fals原创 2021-03-14 10:42:10 · 72 阅读 · 0 评论