背景:二本,java开发第一次写面经,简单记录一下,面试了一个小时,项目问了半个小时,后面的每个问题,java基础部分的面经很久以前看的,导致好多都没答出来1. 我项目中有一个点赞的功能,问题:并发情况下,如何保证更新的值不会出错 当时太紧张了,其实可以使用mysql的锁来实现2. 问:基本数据类型,占的字节3. 问:String,为何要使用final修饰,作用,存储方式,为何要在jdk9换成byte数组4. 问:看过集合源码没有 答:看过 问:ConcurrentHashMap的优点,与其他集合的不同5. 问:知道哪些线程安全list 答:CopyOnWriteArrayList,Collections 问:并发情况下,修改list会怎么样(ConcurrentModifitionException),为何要抛出异常 答:答对一半,为了数据一致性,当时脑袋一团乱6. 问:创建线程池的方式,使用newSingleThreadExecutor创建线程的作用(没答对)7. 问:创建的数据结构有哪些,图如何判断是否出现环8. 问:LinkedList的时间复杂度,如何将一条单链表的查询时间复杂度变成O(logn)9. 问:MySQL中的日志有哪些10. 问:spring中的ioc,举一个例子11. 问:为何double,float会出现精度确实#我的失利项目复盘##23届找工作求助阵地##面经#