测测你的Java基础

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~410 ~ 40基础较差
4~640 ~ 60基础一般
6~860 ~ 80基础较好
8
80 ~ 100基础扎实

后记

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

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

加油!You can do it。

查看答案方法

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值