2019-04-01面试题

2019-04-01  本文已影响0人  可乐_a884

1.值传递与引用传递的区别:

方法里面可以修改基础数据类型和boolean对象的值,
但是不可以修改对象的引用地址,
不过可以修改对象的引用的值,
例如user.name='张三',

2.hashmap的底层原理:

hashap是由数组加链表实现的,每当添加一个元素的时候,
会根据key计算hash值存放到对应的数组下表的链表元素上,
不过,jdk1.8之后,链表的元素超过8个会扩展成红黑树的数据结构,
这是为了减少遍历链表所需的时间

3.set集合和list集合的区别:

set是继承了collection对象的无重复元素的集合;
list是继承了collection对象的有序集合;可以按照下标获取元素的。

4.synchronized 写在方法上和代码块上的区别:

大致上看是锁粒度的区别
不过细致的区分如果写在代码块上的是synchronized(this):那么两个锁都是当前对象的锁,
如果写在代码块上的是synchronized(Test.class),那么一个是当前对象的锁,一个是当前类的锁
上一篇下一篇

猜你喜欢

热点阅读