为什么要学Java并发编程?

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!

作者| 慕课网精英讲师 韦恩001

你好,我是韦恩,在 Java 领域混迹 9 年有余。 相信每一位 Java 工程师对 Java 并发都不陌生,无论是面试、工作中编写的代码以及线上问题定位都需要并发知识。

  • Java 并发是面试中考察的基础技能
  • Java 并发被认为是 Java 候选人必备的技能之一,面试中出现的频率不亚于 JVM,很多工作多年的 Java 程序员因为平时不注重这方面的学习,与心仪的工作机会失之交臂。对 Java 并发考察一方面能反映候选人日常工作是否深入底层,平时遇到难题是否足够多,另一方面还能反应候选人是否有自我学习的驱动力,这也是筛选普通工程师和优秀工程师的常用套路。
  • 工作编码中离不开并发知识
  • 线程是 Java 语言不可或缺的功能,多线程能充分发挥多核心处理器系统的计算力,这使得我们写 Java 代码不得不理解多线程运行的原理,处理不当就会带来线程安全问题(稍后章节会有讲解)。我们接入的各种框架、中间件中充斥着并发代码,掌握好并发知识能让我们通过查看代码做出最优的技术选型。
  • 问题诊断与定位离不开并发知识
  • 在工作如果我们维护的尤其是拥有海量用户的大型系统,我们需要监控系统中的每个细节,要系统整体运行机制有了解,对系统有足够的掌控力,并发知识是不可或缺的。比如线程池满如何发生的?哪些线程消耗的 CPU 最高?造成死锁的根源是什么?为什么多线程环境下结果与预期不一致?锁等待造成的 RT 增高是否有优化空间等等。

并发知识的 Java 工程师的必备技能,但学好并发却不是件容易的事情,主要有三点。

  • Java 并发需要系统的进行学习
  • 不同于 Java API, 可能我们看看样例和代码就掌握了,而学好并发我们需要首先熟悉并发理论,然后结合实践掌握并发的解决方案,在学习过程中需要遵守循序渐进的原则。如果要达到举一反三效果,还需要掌握并发包的内部原理。
  • Java 并发是需要总结并形成记忆
  • 并发领域包含的知识点非常多,有些知识点在工作中不常用但却在面试中高频出现;有些知识点是为后续的知识点打基础的;并发组件的使用是分场景的,我们需要对每一个并发组件的优缺点了如指掌。
  • 并发包的原理的研究需要花很长时间
  • 核心原理是需要掌握的,比如 ThreadPoolExecutor 工作流程想必大家面试中都遇到过, 原理的研究最直接的方式就是 debug 源码,但缺点就是非常费时费力,另外很难抓住核心。但如果通过图形化来描述核心原理,那么对学习是事半功倍的。

学习建议

并发领域知识点之间关系是承上启下的,学习一定要遵守一个循序渐进的过程。在学习的过程中,最好结合自己的理解和学习最终画出整个脑图,以方便后续检索和温习。

欢迎关注「慕课网」,发现更多IT圈优质内容,分享干货知识,帮助你成为更好的程序员!

相关文章

超硬核“课程表”!2018年国家精品在线开放课程和观看方式,假期尾声涨知识!

春节临近尾声,是不是已经闲了很久啦?来来来,周到君给大家薅了点好资源来,让你一整年都充实又涨知识!日前,教育部最新认定801门课程为2018年国家精品在线开放课程。“慕课问道”“感悟考古”“Java程...

如何系统全面地自学 Java 语言?

以下分享的视频教程 99% 来源于B站(哔哩哔哩),其余来自于慕课网,有的视频得反反复复来回看,希望这些视频能帮助你系统全面地自学 Java 语言。一、Java基础尚硅谷宋红康(强力推荐)https:...

为OS X程序开发人员总结的10个最棒应用

对于整天和代码打交道的开发人员来说,都有自己在日常工作中不可或缺的工具或程序集。这些工具有着不同的功能,它们不仅可以简化工作流程,节省时间,更多的任务是提供功利和整洁。文章中,我们搜罗一系列的最佳的O...

最新学习java的好评网站(从入门到面试)(不止java)

编程导航首先重磅炸弹编程导航是鹅厂程序员鱼皮自创的网站,里面各种各样的资源全都有,java,python等。还有分门别类的学习书籍(PDF)。都是免费编程导航CS-Notes自学java必备网站,网站...

Java双非本科,非科班,自学1年时间终于斩获offer

坐标苏州,双非本科,专业环境工程,之前没有任何编程经验,历经一年努力,终于在春招拿到心仪的offer。成功转行JAVA后端工程师。由于转行时间较晚,2018年4月初正式开始接触编程。在此之前,没有参加...