![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 69
zhj1695369
别看了,快去学习
展开
-
i++ 与 ++i 的解析(从字节码角度)
本文标题是从字节码分析,但是正文没有涉及字节码内容,因为我在学习这里的时候,我看到字节码是头都大,我相信大部分普通人也是不愿意去看那种东西。所以我只挑选了我认为关键的部分来进行分析,使用一些更加容易理解的词,而不是使用大量的专业术语。,那么这句话执行结束后 i 的值又变回了0,如果没有其他因素干扰,这样循环多少次,i 仍然是0;这时对 i++ 这个运算理解不深的人就会觉得,i 每次自增之后赋值给自己,结果不应该是10 吗。等,我们主要了解这两个就可以,结合下面的图会更直观一些。,i最后的结果是 0。原创 2024-07-18 11:54:58 · 397 阅读 · 0 评论 -
Java面试 : String
①串池中放入一个 "ab" 对象 ,②堆中new了一个由 "a" "b" 拼接的对象 ③尝试将b放入串池,发现串池中已经存在"ab"对象,直接返回给s。:jdk1.6之前 如上代码调用intern的时候,是把b复制一份放入串池,也就是说无论如何b都是一个存放在堆中的对象。中的,他们两个并不是一个对象,这也是证明了字符串的比较不能使用 == 而要使用equals方法,Javac在编译期的优化,由于"a"和"b"都是。的对象,如果调用intern方法之后,发现串池中。,依照上面的内容,s3与s4都会。原创 2024-07-17 09:52:02 · 1132 阅读 · 0 评论 -
直观方式理解重写hashcode的必要性
简单来说,hashmap的存储结构是一个存放多个链表的数组,但是在jdk8之后由链表转换为红黑树,无论是链表还是红黑树,都是为了解决hash冲突的问题,由于本文章目的是针对重写hashcode方法进行解释,因此不对hashmap的底层数据结构做过多描述。首先调用key的hashcode方法计算出它的哈希码,然后以这个哈希码作为索引,使用哈希函数来确定在数组中的存储位置。,如果不重写hashcode方法,将这些数据作为key存储的时候,无法计算出哈希码,那么就会被。原创 2024-07-11 20:31:25 · 170 阅读 · 0 评论