Java 多线程与并发编程 · Java 工程师必知必会

作者/分享人:张振华
向 Ta 提问
曾经先后在驴妈妈,携程,要买车公司担任过Java高级工程师、架构师、开发主管、技术经理等职务。在电商公司工作期间,负责过PC站和后端服务的平台架构、实现和升级。 目前在做一些Java架构工作。前后从业10几年没有离开Java,2015年出版《Java并发编程从入门到精通》。2018年出版《Spring Data Jpa从入门到精通》。 网名:张振华.Jack

从事 Java 的开发的小伙伴们会发现 Java 多线程和并发无论是工作或者是面试都绕不开的话题。作者打算高度抽象和概括一下线程是什么,已经如何应用。身边的有很多小伙伴们,看过我的《Java 并发编程从入门到精通》都感觉帮助比较大,面试完基本上都能达到高级和资深水平,最少工资能达到 20K+ /月,并且对实际工作帮助也比较大。所以作者打算再次分享一下:

  1. JAVA-Thread 概念
  2. 安全和锁
  3. Concurrent 包(安全集合类、安全 Queue)线程阻塞机制
  4. 线程池详解(原理,实际使用)
  5. 线程的监控和分析方法
  6. Servlet、Spring 和数据库连接池与线程的关系

实录提要:

  • 为什么阿里的 Java 开发手册提到“线程池不允许使用 Executors 创建”?
  • 为什么很多公司在实际工作中必须通过线程池创建 Thread,不允许手动创建?
  • 如何理解 volatile 关键字?
  • 线程池的工作原理是什么?
  • 前端 Javascript/html/CSS 的常考点有哪些?
  • 平时常用 Xshell 等工具查看后台报文,反倒没有关注 Linux 系统的相关知识,怎样做到以点到面地描述?
  • 该怎样提高对线程的了解及实战运用能力?
  • 如何通过阅读框架源码来提高自己写代码、写框架的能力?
已有761人预订
预订达标
文章出炉
交流日期
     
17.11.08
17.11.13
17.11.22 20:30
查看文章评论/提问
张振华
欢迎大家评论留言:面试中常被问到线程问题。如:“如何引发栈异常?”
去吧皮卡丘!
面试岗位是阿里拍卖平台测试开发岗,岗位要求是熟悉Linux系统,1.针对这条一般会考察哪些方面的知识呢?平时常用Xshell等工具的查看后台报文,但多是关注报文信息反倒是没有关注Linux系统相关知识,怎样做到以点到面去描述呢?2.前端Javascript/html/CSS的常考点可以帮忙分析一下吗?谢谢老师了
方维
阿里的不建议使用Executors直接创建线程池没讲
张振华: 在实录回放里面
张振华
倾心吐血
寒韩
“有可能两个线程同时取到最后修改的值” 这个风险是什么,在写的时候不是有缓存一致性协议保证只能有一个写吗?
张振华: 单个写是没问题,问题是会覆盖
成富: volatile的语义只是保证上一次写入操作的结果对下一次读取操作是肯定可见的,并没有更多与多线程访问相关的语义。
寒韩: @成富 @张振华 明白了。 Thanks!
张振华
补充:jdk里面的native方法还有一种cas的算法,也是保证线程安全的。
你可能还喜欢
从小白到架构师的成长之路
一盘花生米
二叉树的原理推敲与动手种树
浅浅
机器学习004:循环神经网络实现与文本分类问题
如是
电商高并发、高流量下分布式 ID 的解决方案(主键生成策略)
Array老师
DevOps 工具链:在线报障的流程、系统设计和自改进体系的建设
常新居士
谈谈 Java NIO
应书澜
微信扫描登录