Let's get started <<<

1)关键字volatiletransient各有什么作用?

2)下面两种使用synchronized关键字的方式有什么区别?

// 第一种
synchronized(this) {
      ...
}
// 第二种
synchronized(A.class) {
    ...
}

3)ArrayList和LinkedList对比,谁的查询效率更高,为什么?

4)HashMap和LinkedHashMap有什么区别?

5)如果要你自己实现一个链表,实现数据的增删改查,需要怎么做?

6)如果要实现在匿名内部类中访问外部类的父类方法(该方法在外部类中有重写),需要怎么做?

7)执行下面的代码可能输出的结果是什么?为什么?

List<Person> persons = new ArrayList<Person>();
persons.add(xxx)
persons.add(xxx)
....

Person person = xxx;
int index = persons.indexOf(person);
System.out.println("Index = " + index);

8)什么是ThreadLocal,有什么作用?

9)Java语言防止并发问题有几种解决方案?最佳解决方案是什么?

10)下面的代码会触发空指针异常吗?如果会,有没有什么更好的写法?

if(obj instanceOf Person) {}

if(str.equals("abc")) {}

一共十道题,如果你恰好一道都不会。恭喜你,你果然基础差到爆,推荐你去看马士兵的Java基础视频,不要问我马士兵是谁哦。

下面是你的基础等级:

答对 评分 评价
1~4 10 ~ 40 基础较差
4~6 40 ~ 60 基础一般
6~8 60 ~ 80 基础较好
>8 80 ~ 100 基础扎实

后记

如果你对上面的测试题有任何疑问的话,请微信搜索公众号欧阳锋工作室,点击关注,答案会通过微信公众号推送给大家。也可以通过微信扫描下方的二维码关注欧阳锋工作室公众号,我在公众号等你哦。

欧阳锋工作室

加倍努力,证明你想要的不是空中楼阁,胜利往往是在多次失败之后才姗姗而来

加油!You can do it。

查看答案方法

关注微信公众号欧阳锋工作室,并回复“Java测试题答案”即可查看答案。


欧阳锋
89 声望2 粉丝

Github: [链接]