聊聊面试中关于并发问题的应对方案

本文聚焦Java面试中的并发问题,指出并发在Java项目中的普遍性,并提供了一个全面的并发知识体系,包括CPU缓存、JMM、并发包(J.U.C)的核心组件、高并发场景的解决方案。强调构建并发知识框架的重要性,以应对面试挑战。
摘要由CSDN通过智能技术生成

主题

又到面试季了,从群里,看到许多同学分享了自己的面试题目,我也抽空在网上搜索了一些许多公司使用的面试题,目前校招和社招的面试题基本都集中在几个大方向上,主要是:Java基础、并发、JVM、算法、数据库、一些框架、分布式集群 等。这里呢,单独就面试中的【并发】问题的准备和学习发表一下个人的见解。

现状

关于对并发的学习和理解,通过大家在课程群里的反馈,总结一下,主要包含以下几种:

完全不知道并发的存在

知道并发要学,但是不知道该学习什么

知道并发重要,自己买相关书籍学,但是看完了还是懵懵懂懂

知道并发重要,自己查资料学了一些,许多都学会了,但总能发现不会的,不知道并发到底都要学什么

已经完成进阶,并发的问题了然于胸,这样的小伙伴目前很少

首先说一下,为什么Java面试要考并发,而且并发相关的题目占比又是那么的高。对并发有一定了解的同学,应该都知道,大家平时 只要做Java项目就会涉及到并发 ,个别同学说自己从没接触过并发,这只是个人还没意识到而已。当你定义好一个可以调用的接口时,这时其实就已经和并发有关系了,因为任何一个接口都可能同时被请求多次。当你在项目中已经可以熟练的使用synchronized、volatile、static、final这些基本的Java关键字时,其实你对并发已经有一些基础了。大家总说的:面试造火箭、入职拧螺丝,其实有一部分原因也是因为你还没意识到面试考的这些东西其实一直就伴随着你的日常开发。

我不自量力的去列一下并发涉及到的关键字、类及可以考察的知识点:CPU缓存、Java内存模型JMM、atomic、AtomicInteger、AtomicLong、LongAdder、AtomicReference、AtomicBoolean、CAS原理、Unsafe、synchronized、volatile、final、static、ThreadLocal、AQS、J.U.C、CountDownLatch、Semaphore、CyclicBarrier、ReentrantLock、ReentrantReadWriteLock、StampLock、Condition、FutureTask、Fork/Join、BlockingQueue、ThreadPoolExecutor、ExecutorService、Thread、Runnable、Future、Callable、HashMap、 HashTable、ConcurrentHashMap、CopyOnWriteArrayList、CopyOnWriteArraySet、RateLimiter、SimpleDateFormat、StringBuffer、StringBuilder、ArrayList、Vector、HashSet、ConcurrentSkipListSet、Collections.synchronizedXXX、Guava Cache、Redis ... 我尝试去写出脑海里与并发有关的类和

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值