前言
Java多线程无处不在,如服务器、数据库、应用。多线程可以有效提升计算和处理效率,大大提升吞吐量和可伸缩性,深得广大程序员和公司的青睐。很多人学习完JavaSE/JavaEE之后想往更深入的技术进行探索,比如对大数据、分布式,高井发类的专题进行攻克时,立即遇到针对java lang包括线程类的学习,但线程类的学习并不像JDBC一样简单,学习曲线陡峭,多弯路与“坑”.要学习这些热点技术, Java多线程技术避无可避。而本书将引领读者拿下该“技术高地”.
也许是注定的安排,我目前所在的单位是集技术与教育为一体的软件类企业。我在工作中发现很多学员在学习完JavaSE/JavaEE之后想对更深入的技术进行探索,比如在对大数据、分布式、高并发类的专题进行攻克时,立即遇到针对javalang包中Thread类的学习,但Thread类的学习并不像JDBC那样简单,学习多线程会遇到太多的问题、弯路以及我们所谓的“坑”, 为了带领学员在技术层面上进行更高的追求,我将多线程的技术点以教案的方式进行整理,一起学习、交流,下面就来简单的介绍一下这份多线程编程核心技术。(由于篇幅原因,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的看文末有免费的获取方式!)
文档秉承大道至简的主导思想,只介绍Java多线程开发中最值得关注的内容,希望能抛砖引玉,以个人的一些想法和见解,为读者拓展出更深入、更全面的思路。
使用时要避免什么。本书就像“瑞士军刀”一样,精短小,但却非常锋利,可帮读者快速学习知识并解决问题。
文章特点
不留遗漏------全面覆盖Java语言多线程知识点;
直击要害------实战化案例精准定位技术细节 ; .
学以致用------精要式演示确保开发/学习不脱节 ;
潜移默化------研磨式知识讲解参透技术要点 ;
提升效率------垂直式技术精解不绕弯路 ;
循序提升------渐进式知识点统排确保连贯;
本书适合所有Java程序员阅读,尤其适合以下读者:
Java多线程开发者Java并发开发者系统架构师大数据开发者其他对多线程技术感兴趣的人员文档主要核心内容七大体系分别为:Java多线程技能、对象及变量的并发访问、线程间通信、Lock的使用、定时器Timer、单例模式与多线程、拾遗增补
第1章Java多线程技能
作为本书的第1章,一定要引导读者快速进入Java多线程的学习,所以本章中主要介绍Thread类中的核心方法。Thread类的核心方法较多,读者应该着重掌握如下关键技术点:
线程的启动如何使线程暂停如何使线程停止线程的优先级线程安全相关的问题上面的5点也是本章学习的重点与思路,掌握这些内容是学习Java多线程的必经之路。(由于细节太多,小编就把目录简介以截图的方式展现出来)
实例变量与线程安全
第2章对象及变量的并发访问
本章主要介绍Java多线程中的同步,也就是如何在Java语言中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题。多线程中的同步问题是学习多线程的重中之重,这个技术在其他的编程语言中也涉及,如C++或C#。本章应该着重掌握如下技术点:
synchronized 对象监视器为Object时的使用。synchronized 对象监视器为Class时的使用。非线程安全是如何出现的。关键字volatile的主要作用。关键字volatile与synchronized的区别及使用情况。
数据类型String的常量池特性
第3章线程间通信
线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体。线程间的通信就是成为整体的必用方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时还会使程序员对各线程任务在处理的过程中进行有效的把控与监督。在本章中需要着重掌握的技术点如下:
使用waitnotify实现线程间的通信生产者/消费者模式的实现方法join的使用ThreadLocal类的使用
等待/通知机制的实现
第4章Lock的使用
本章将要介绍使用Java5中Lock对象也能实现同步的效果,而且在使用上更加方便。本章着重掌握如下2个知识点:
ReentrantLock类的使用。ReentrantReadWriteLock类的使用。
公平锁与非公平锁
第5章定时器Timer
定时1计划功能在移动开发领域使用较多,比如Android技术。定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和线程技术还是有非常大的关联的。在本章节着重掌握如下技术点:
如何实现指定时间执行任务。如何实现按指定周期执行任务。这两点在后面的章节都有详细的技术介绍。
方法scheduleAlFixedRate(Timer Task task, Date firtTime, long period)的测试
第6章单例模式与多线程
本章的知识点非常重要,通过单例模式与多线程技术相结合,在这个过程中能发现很多以前从未考虑过的情况,一些不良的程序设计方法如果应用在商业项目中,将会遇到非常大的麻烦。本章的案例也将充分说明,线程与某些技术相结合时要考虑的事情有很多。在学习本章时只需要考虑一件事情, 那就是:如何使单例模式遇到多线程是安全的、正确的。在标准的23个设计模式中,单例设计模式在应用中是比较常见的。但在常规的该模式教学资料介绍中,多数并没有结合多线程技术作为参考,这就造成在使用多线程技术的单例模式时会出现一些意想不到的情况,这样的代码如果在生产环境中出现异常,有可能造成灾难性的后果。本章将介绍单例模式结合多线程技术在使用时的相关知识。
立即加载/“饿汉模式"
第7章拾遗增补
本章是本书的最后一章,在本章中将对前面几章遗漏的知识点进行补充,丰富多线程案例的完整性。在开发此类应用中,这些案例能起到优化性能的作用,至少在遇到某些情况时会回想起这些案例的初衷与解决办法。
本章应该掌握如下知识点:
线程组的使用。如何切换线程状态。SimpleDataFormat类与多线程的解决办法。如何处理线程的异常
验证NEW. RUNNABLE和TERMINATED
最后
希望能对大家有所帮助,有需要的朋友请务必麻烦大家帮忙转发一下,因为这样可以帮助更多有需要的人看见,然后在我的主页私信我【666】,才能免费获取这份《多线程编程核心技术》
如果觉得《阿里巴巴资深Java专家经验总结技术精华:多线程编程核心技术》对你有帮助,请点赞、收藏,并留下你的观点哦!