java面试

GC机制

垃圾回收
GC

HashMap

HashMap面试
HashMap HashTable区别
CurrentHashMap线程安全

线程池

java线程池
线程池

hashcode

hashcode equal()
4、为什么equals()相等,hashCode就一定要相等,而hashCode相等,却不要求equals相等?

因为是按照hashCode来访问小内存块,所以hashCode必须相等。

HashMap获取一个对象是比较key的hashCode相等和equals为true。

之所以hashCode相等,却可以equal不等,就比如ObjectA和ObjectB他们都有属性name,那么hashCode都以name计算,所以hashCode一样,但是两个对象属于不同类型,所以equals为false。

5、为什么需要hashCode?

通过hashCode可以很快的查到小内存块。

通过hashCode比较比equals方法快,当get时先比较hashCode,如果hashCode不同,直接返回false。

java反射机制

反射

ArrayList 与 LinkedList 面试

arraylist LinkewdList

volatile

v
被volatile修饰的共享变量,就具有了以下两点特性:

保证了不同线程对该变量操作的内存可见性;
禁止指令重排序;

可见性:可见性是指当一个线程修改了共享变量的值,其他线程能够立即得知这个修改。
无论普通变量还是volatile变量都是如此,只不过volatile变量保证新值能够立马同步到主内存,使用时也立即从主内存刷新,保证了多线程操作时变量的可见性。而普通变量不能够保证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值