面经详情

优信二手车全栈工程师
首先问了项目,然后java基础、多线程。多线程并发问题:脏读、幻读、不可重复读解决多线程并发问题:加锁- 悲观锁:两个都是可重入锁  Synchronized:非公平的  Lock:可以指定公平还是非公平。Lock lock=new ReentrantLock(true)公平。- 乐观锁:AtomicInteger,就是比较并交换,也就是CAS,ConmpareAndSet,它有一个期待值和一个设置的值,比如:若期待的值为1,就替换为2。(CAS是Unsafe类的native方法,是具有原子性的,所以不会有并发问题),这个时候若有其它线程抢在之前操作,把1改为2后又把2改为1,就造成了ABA问题。ABA问题的解决可以添加一个版本号,比如AtomicStampedReference类。

相关推荐

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网优信二手车优信二手车面试经验优信二手车面试经验:优信二手车全栈工程师