![969e4b99dbc4c4b01bf7352e9ce9bcb7.png](https://i-blog.csdnimg.cn/blog_migrate/c64f2ecda22d8c510d46a30489ad6893.jpeg)
0x01,闲聊
自己在读这篇内容时,觉得当时的语言陈述太简单了吧,删删减减,重新整理一下语言。这篇文章主要包含但不限于java并发编程总结路线图的分享,这篇文章也是对以往自己知识点的回顾,分享的目的不在于炫耀什么,也没什么可值得炫耀的事情。
为什么起这么一个标题呢,其实是自我理解并发编程技术过程中陈述的一种方式,利用闲暇时间整理了自己已完成的并发编程路线,主要是为了便于日后自己的回顾和分享给需要的人,高级语言的特点就是封装,封装再封装,便于使用者快速使用,写这篇文章是增进一下自己对画图方面的理解。
0x02,并发编程路线图
![d918d1eecf53bf79ee8ae0b5c53cf4bd.png](https://i-blog.csdnimg.cn/blog_migrate/2f320528b7d7c200bafe26326b8112d3.jpeg)
上图所有的技术点都已经在以往的文章中进行输出了,这里就不做xx技术点如何使用了,简单分享一下自己在画这部分路线图过程中稍微写的几个示例程序进行分享。接下来看下示例程序图解吧。
0x03,原子类AtomicInteger
![f52c0dfd2d37dde6db0abd88a867825d.png](https://i-blog.csdnimg.cn/blog_migrate/020b341989e89ba9a81d431139262e91.jpeg)
上面的内容主要使用AtomicInteger原子类进行在多线程下,如何确保原子性,其它的如AtomicLong原子类使用用法大同小异。
0x04,Lock锁
![2c56f01ad8ce63d73ab31fbeaafc46ef.png](https://i-blog.csdnimg.cn/blog_migrate/236c58ea3daf622ee2a39db74931e0f4.jpeg)
其实Lock锁和synchronized锁基本使用方式一样,加在方法上,代码块上,只不过前者可以设置公平锁和非公平锁,扩展性以及灵活性更好了,后者就是非公平锁,lock锁的使用方式上个人觉得更加灵活了一些,对于单体应用来说,这两种方式都是没什么问题。
0x05,Executors工具类
![d7e652bb93dbc29d58437915652eb244.png](https://i-blog.csdnimg.cn/blog_migrate/cfa9f9ff9379f6b1059f2713736ea342.jpeg)
这里主要是使用Executors工具类进行线程池的创建,关于其他方式如何创建线程池,在以往的文章中也写过线程池分析的文章了,需要的可以查看历史文章。
0x06,LockSupport
![054add2306c8d7e6014bc94a200284fe.png](https://i-blog.csdnimg.cn/blog_migrate/cbae141e8217d4ed6fbe516e7c0ac367.jpeg)
0x07,总结
总结一下自己理解的技术点,输出一份路线图是为了便于后面内容的回顾和分享给需要的人。
0x08,研发工具
原本没有这一分享的,但是自己在画图整理的时候画了这部分,单独输出一篇文章说明在使用的工具都有哪些,有点不符合自己输出文章的初衷。这里就看下关于java后端开发需要哪些工具的安装吧。
![ce49429492073889473cae4a1dd6419f.png](https://i-blog.csdnimg.cn/blog_migrate/b807d9e8dd6c82071ae4ade82c58c139.jpeg)
0x09,java进阶基础版路线图
java进阶基础版路线图的内容也在以往的文章中输出了,这里自己就简单画了一下基础版的路线图,后面这张图也会随着自己文章的输出进行扩展的,一般都是自己把自己想写的内容输出了,然后再来分享,内容太多,慢慢输出。
![de7d751a00e37661d275324ce791af25.png](https://i-blog.csdnimg.cn/blog_migrate/4b7d3d4ee471d075fa4c74823579e4e1.jpeg)