SF
Java 内功强化系列
Java 内功强化系列
注册登录
关注博客
注册登录
主页
关于
RSS
Java8 和 Java9 的主要新特性
老陈Android馆
2019-03-04
阅读 1 分钟
1.6k
java 8 之前,HashMap 底层的数据结构是数组+链表实现的, Java 8 之后是数组+链表+红黑树实现的,当链表的长度超过 8 之后,会转换成红黑树。
一个有趣的问题: 如何用HashSet来存储重复的字符串?
老陈Android馆
2019-02-23
阅读 3 分钟
3.4k
今天,我们来探讨一个实际中不常用但却比较有意思的问题。它能帮助你理解 “HashSet中的键值是唯一的,不可重复的” 这句话的真正含义,也考验你对问题的思考深度。
JDK 是如何判断两个对象是否相同的?判断的流程是什么?
老陈Android馆
2019-02-22
阅读 3 分钟
1.7k
参考解答:JDK 会先判断两个对象的hashCode是否相同,如果hashCode不同,则说明肯定是两个不同的对象了;如果hashCode相同再通过equals()方法进行进一步比较,如果equals方法返回true,则说明两个对象是相同的,如果equals方法返回false说明两个对象不同。
你有没有想过: 为什么Java中String是不可变的?
老陈Android馆
2019-02-20
阅读 6 分钟
2.8k
有三点:1)String 在底层是用一个 private final 修饰的字符数组 value 来存储字符串的。final 修饰符保证了 value 这个引用变量是不可变的,private 修饰符则保证了 value 是类私有的,不能通过对象实例去访问和更改 value 数组里存放的字符。