【并发编程】并发的学习步骤

原文:面试中并发类问题的准备和学习

并发编程知识点

要想系统的学习并发,还需要从并发的角度学习,过程中覆盖J.U.C的这些知识。这里我直接给出并发的学习步骤图(包含对当前面试常见考点的覆盖,比如对HashMap和ConcurrentHashMap的源码分析):

这个之前呢,还需要对Java并发的基础进行细致的学习,比如CPU缓存和Java内存模型(JMM),许多关键字比如volatile、synchronized等的特性都是在JMM里规定好的。

高并发

并发其实包含两部分:并发和高并发。其实上面一节讲的都是两部分里的第一部分:并发。那么并发和高并发到底有什么区别呢?

当我们说多线程并发时,其实我们更多的是讨论多个线程操作了相同的资源,这时我们讨论点更多的是落在保证线程安全以及合理分配和使用资源上。而高并发主要指系统运行过程中遇到“短时间内遇到大量操作请求”的情况,主要发生在系统集中收到大量请求(例如:12306的抢票情况;天猫双十一活动)。当我们说高并发时,我们谈的是是如何提高现有程序的性能,更多的是对高并发场景的一些解决方案,思路啦、手段等等。如果高并发处理不好,不仅仅降低了用户的体验度(请求响应时间过长),同时可能导致系统宕机,严重的甚至导致OOM异常,系统停止工作等。这里呢,我直接给出高并发场景通常都会考虑的一些解决思路和手段:

猜你喜欢

转载自www.cnblogs.com/z00377750/p/9226449.html
今日推荐