丰巢-Java高级社招
丰巢快递柜 2022.3.8 面试题
1.Java集合 hashmap 线程不安全
2.synchronized volatile 区别
1、volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好;volatile只能修饰变量,而synchronized可以修饰方法,代码块。随着JDK新版本的发布,synchronized的执行效率也有较大的提升,在开发中使用synchronized的比率还是很大的。
2、多线程访问volatile变量不会发生阻塞,而synchronized可能会阻塞。
3、volatile能保证数据的可见性,但是不能保证原子性;而synchronized可以保证原子性,也可以保证可见性。
4、关键字volatile解决的是变量在多个线程之间的可见性;synchronized关键字解决多个线程之间访问公共资源的同步性。
2.Java IO bio nio aio
3.spring Bean 传播 ,隔离级别
4.spring mvc 流程
5.jvm 定位线上问题
6.redis 集群 哨兵
5.juc 各种队列 AQS的了解
6.线程池怎么配置
7.面试官说八股文还是要看。基本上都是问这些,精通某一方面,并发编程,中间件,数据库