牛皮了!八年美团大佬耗时3月竟在写《java虚拟机并发编程》

简介: 除了咖啡因,我想没有什么能比写出一段执行速度飞快的代码更能令程序员们兴奋了。然而我们如何才能满足这种对计算速度的渴求呢?诚然,摩尔定律可以帮我们解决部分问题,但多核处理器才代表了未来真正的发展方向。

除了咖啡因,我想没有什么能比写出一段执行速度飞快的代码更能令程序员们兴奋了。然而我们如何才能满足这种对计算速度的渴求呢?诚然,摩尔定律可以帮我们解决部分问题,但多核处理器才代表了未来真正的发展方向。为了能够充分发挥多核处理器的优势,我们每个程序员都应该熟悉并掌握并发编程的技能。

本书是Java并发编程领域的里程碑之作,由资深Java技术专家、并发编程专家、敏捷开发专家和Jot大奖得主撰写,Amazon五星级畅销书。它系统深入地讲解在JVM平台上如何利用JIDK同步模型、软件事务内存模型和基于角色的并发模型更好地进行并发编程。全书以示例驱动,通俗易懂,包含大量编程技巧、注意事项和最佳实践。要重点强调的是,本书并不仅仅只适合于Java语言的并发编程,它还适用于Clojure. Groovy. JRuby 和Scala等所有运行在JVM平台上的编程语言。

推荐序

全书共10章,分为五个部分。

由于篇幅限制小编,所以只把部分知识点截图出来粗略的介绍,需要的程序员(媛)可以点击此处来获取就可以了!

第1章

并发的威力与风险

  • 1.1 线程:程序的执行流程.
  • 1.2并发的威力
  • 1.3并发的风险
  • 1.4小结

第一部分:并发策略,阐释了影响并发性的因素、如何有效实现并发,以及并发的设计方法等

第2章分工原则

  • 2.1从顺序到并发
  • 2.2在I0密集型应用程序中使用并发技术
  • 2.3并发方法对I0密集型应用程序的加速效果
  • 2.4在计算 密集型应用程序中使用并发技术
  • 2.5并发方法对于计算密集型应用程序的加速效果
  • 2.6有效的并发策略
  • 2.7小结

第3章设计方法

  • 3.2探寻 设计选项
  • 3.3共享可变性设计
  • 3.4隔离可变性设计
  • 3.5纯粹不可 变性设计
  • 3.6持久的1不可变的数据结构
  • 3.7选择一种设计方
  • 3.8小结

第二部分:现代JavaJDK并发,讨论了现代Java API的线程安全和效率,以及如何处理已有应用程序中的现实问题和重构遗留代码时的原则

第4章可扩展性和线程安全

  • 4.1用 ExecutorService管理线程
  • 4.2使线程协作
  • 4.3数据交换
  • 4.4 Java 7 Fork-Join AP
  • 4.5可扩展集合类
  • 4.6 Lock 和Synchronized
  • 4.7小结

第5章驯服共享可变性

  • 5.1共享可变性 != Public
  • 5.2定位并发问题
  • 5.3保持不变式
  • 5.4管理好资源
  • 5.5保证可见性
  • 5.6增强并发性
  • 5.7保证原子性
  • 5.8 小结

第三部分:软件事务内存,深入讨论了STM并就如何在各种主要的JVM语言里使用STM给出了指导意见

第6章软件事务内存导论

  • 6.1同步 与并发水火不容
  • 6.2对象 模型的缺陷
  • 6.3将实体 与状态分离
  • 6.4软件事务 内存
  • 6.5 STM 中的事务
  • 6.6用STM实现并发
  • 6.7用Akka/Multiverse STM实现并发
  • 6.8 创建事务
  • 6.9创建嵌套事务
  • 6.10配置Akka事务
  • 6.11阻塞事务一有意识地等待
  • 6.12提交 和回滚事件
  • 6.13集合与事务
  • 6.14处理写偏斜异常
  • 6.15 STM 的局限性
  • 6.16小结

第7章在Clojure、 Groovy、 Java、 JRuby和Scala中使用STM

  • 7.1 Clojure STM
  • 7.2 Groovy 集成
  • 7.3 Java 集成
  • 7.4 JRuby 集成
  • 7.5 Scala 中的可选方案
  • 7.6小结

第四部分:基于角色的并发,详细讲解了如何在基于角色的模型下消除并发问题以及如何在己的首选语言中使用角色模型

第8章讨论的隔离可变

  • 8.1用角 色实现隔离可变性
  • 8.2角色的特性
  • 8.3创建角
  • 8.4收发消息
  • 8.5同时使用多个角色
  • 8.6多角色协作
  • 8.7使用类型化角色
  • 8.8类型化角色和murmurs'
  • 8.9混合使用角 色和STM
  • 8.10使用transactor
  • 8.11调和类型化角色
  • 8.12远程角色
  • 8.13基于角色模型的局限性
  • 8.14小结

第9章在Groovy、 Java、JRuby和Scala 中使用角色

  • 9.1在Groovy中使用GPars提供的角色实现
  • 9.2在Java中使用Akka提供的角色实现
  • 9.3在JRuby中使用Akka提供的Actor实现
  • 9.4在Scala中使用角色
  • 9.5小结

第五部分:后记,回顾了本书讨论的解决方案并总结了并发编程中的注意事项和最佳实践。

第10章并发编程之禅

  • 10.1慎重选择
  • 10.2并发:程序员指南
  • 10.3并发:架构师指南
  • 10.4明 智地进行选择

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以点击此处来获取就可以了!

相关文章
|
5月前
|
算法 Java C++
刷题两个月,从入门到字节跳动offer丨GitHub标星16k+,美团Java面试题
刷题两个月,从入门到字节跳动offer丨GitHub标星16k+,美团Java面试题
|
5月前
|
小程序 JavaScript Java
暹罗外卖开源啦,一款java多商户外卖系统-商家入驻如美团饿了么
暹罗外卖是一款Java外卖配送系统,适用于多商户入驻,对标美团外卖、饿了么。系统包含用户端、商家端、配送端以及总管理后台; 前端使用uni-app开发,可打包部署到微信小程序、APP、H5 Web端使用vue + Element开发 服务端使用java语言开发,技术栈:Spring Cloud & Alibaba + Redis + RocketMQ + WebSocket + ElasticSearch + ELK + Sentinel + Seata + SkyWalking + SpringBoot Admin + Promethues + Grafana
194 2
暹罗外卖开源啦,一款java多商户外卖系统-商家入驻如美团饿了么
|
5月前
|
消息中间件 缓存 架构师
复习这份美团架构师的Java核心面试宝典,我四面阿里拿下offer
怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习 他是如何拿下阿里等大厂的offer的呢,今天分享他的秘密武器,美团资深架构师整理的Java核心知识点,面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。
|
5月前
|
SQL 算法 安全
面试美团、头条、百度、京东,一名3年Java开发经验的面试总结
毕业转行做开发3年以来, 学到了很多, 加上自己的兴趣爱好, 个人认为已经成为了一个合格的程序员. 与刚开始找工作面试相同的是都会问一些相同的问题, 不同的是现在面试官会更注重为什么, 也就是说注重深度而非广度. 3年, 5年, 10年分别是个人从事技术方面职业规划中的一个坎, 3年大部分时间应对了业务逻辑, 培养良好的规范和思想, 基础知识还是欠缺.
|
5月前
|
消息中间件 缓存 Java
远程面试阿里、蚂蚁、京东、美团后整理份283页Java核心面试宝典
本文整理了一些面试时面试官必问的知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。
|
5月前
|
Java 关系型数据库 应用服务中间件
阿里最新春招面经,腾讯/美团/字节1万道Java中高级面试题
又是一年过去了,职场的积雪还没有消融,又迎来了一次大考。疫情还没完全过去,大家强打起精神,相互问好致意,眼角却满是疲惫...
|
5月前
|
算法 Java
记十次面试字节/美团失败总结的《520道LeetCode题Java版答案》
去字节、美团、BAT等大厂面试,刷LeetCode上的数据结构+算法题是必修课。许多读者说,刷题的时候经常会遇到困难,想要找一本答案题解做参考。
|
5月前
|
安全 NoSQL Java
从安卓转到Java开发,我吃透了这份pdf,终于4面拿下美团offer
先说说个人情况吧,坐标广州,16年从一所普通二本大学毕业,毕业后在一家小公司干android开发,年薪在15w左右。转Java的契机是认识到了一个朋友,做Java后台的,经常跟他聊相关的内容,经过慎重考虑及个人的发展规划,所以就决定转型了。
|
5月前
|
NoSQL 安全 Java
差点跳起来了!全靠这份999页Java面试宝典,我刚拿到美团offer
事情是这样的,今年年初,在某个大博主那里拿到一份Java面试宝典,然后就一直躺在盘里吃灰,直到5月份的时候,有了要跳槽的计划和打算,就想着要刷刷面试题,所以就把这套“积灰”的面试宝典拿出看了看,这一看就看了一个多月才算是完整的吃透。7月中旬开始面试美团了,前后差不多5面的样子,原本以为没啥希望,等到月底29号收到了offer,通知8月3号到公司报到,看到邮件那一刻差点跳起来了!
|
5月前
|
Java
[Java 源码] 美团一面~ArrayList 的底层实现
[Java 源码] 美团一面~ArrayList 的底层实现