并发编程并发的学习步骤

Posted z00377750

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发编程并发的学习步骤相关的知识,希望对你有一定的参考价值。

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

并发编程知识点

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

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

高并发

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

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

技术分享图片

以上是关于并发编程并发的学习步骤的主要内容,如果未能解决你的问题,请参考以下文章

Go语言学习之旅--并发编程

Go语言学习之旅--并发编程

Go语言学习之旅--并发编程

Java并发指南开篇:Java并发编程学习大纲

《Java虚拟机并发编程》学习笔记

掌握系列之并发编程-1.并发基础