java

导航

2020java常见面试题及答案:第一部分

来源 :中华考试网 2020-10-02

  HashSet的原理

  HashSet继承自Set,是无需不可重复集合,而Set又与List继承自Collection。

  HashSet底层采用HashMap来实现,每一个存放在Set中的元素,实际都是存放在了HashMap的Key中,所有元素的Value都是一个private final static Objcect OBJECT = new Object()。同样的可以添加null数据。

  ConcurrentHashMap的原理

  ConcurrentHashMap底层同样采用数组加链表的结构。与HashMap的区别在于前者是线程安全的,并且采用了分段锁。同时在JDK1.8后对其中的部分方法进行了更新,对数据的操作使用了Unsafe类中的方法直接对内存进行操作(除了删除是直接在方法上添加Synchronized)。

  equals和==区别

  ==是一种关系运算符,用来比较两个属性是否相等。如果比较的是基本类型,则是比较他们的值是否相等,如果比较的是对象,则是比较他们在内存中的地址是否相等。

  equals是Object类中的一个方法,只能用来比较对象,不能比较基本类型。如果在对象中需要使用该方法,需要先对它进行重写,同时还要重写hashcode()方法。

  填写下面表单即可预约申请免费试听!害怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

分享到

相关资讯