多线程方面我读了哪些好书

本文推荐了三本关于Java多线程及并发编程的书籍,强调了阅读系统书籍对于理解并发编程的重要性。尽管实际项目中可能较少直接编写多线程代码,但多线程安全问题不容忽视。通过实例展示了SimpleDateFormat的线程安全问题,并提醒开发者注意并发环境下的潜在风险。
摘要由CSDN通过智能技术生成

别的不说先看看java各种岗位的,硬性要求。随便打开一个招聘网站,例如:猎聘网,搜索java,如下图

就点开第一个岗位

发现“多线程”是任职要求之一。说实话,搜素的岗位十个有八个要求有多线程、高并发等经验,过去一年关注了不少的岗位。只要是中高级Java开发攻城狮的岗位要求都必然有多线程、高并发、高可用等项目经验。为了系统深入了解Java多线程的相关知识点,从我的经验来看随便看一些帖子,或者培训机构录制的视频远不够;还是需要自己找一两本系统介绍多线程方面的书籍来看,然后练习。

过去一年看了两三本这方面的书籍,我觉得汪文君老师写的两本非常不错推荐一下给大家。

  • 第一本:《Java高并发编程详解:多线程与架构设计》

这本书并没有讲到J.C.U包里的任何知识,但是把synchronized、voliate、类加载的相关知识讲得非常透彻,而且使用这些基本的关键字模拟实现了J.C.U包了一些锁、线程池。另外,介绍了非常多的、经典的多线程处理的模式 。

  • 第二本:《Java高并发编程:深入理解并发核心库》

这边介绍了微基准测试框架Java Microbenchmark Harness(JMH),然后深入介绍了J.C.U并发核心库的。围绕Java并发包展开,包括Java的原子类型及其底层原理;Java的并发工具集,还穿插了Google Guava的部分内容;Java的并发容器,包括阻塞队列BlockingQueue和并发容器等内容;Java的ExecutorService,以及Future家族成员的详解。

  • 第三本:《Java多线程编程核心技术 第二版》

这边也可以,不过如果有前面两本,就没必要在购买这本了。就不详细介绍了,需要补充这方面知识的朋友们,对吧的购买就行。这三本书都囫囵吞枣的看了一遍,觉得写得相当不错。

为啥要推荐一些多线程方面的书呢?因为虽然做的项目不乏几百万、上千万级别的,但是真正需要编写多线程的代码的场景还是很少的。而招聘的岗位要求里有时刻不缺需要多线程、高并发的项目要求。项目经验不能给的,只能通过多读书,多看方案要弥补这方面的欠缺。项目中欠缺编写多线程代码的场景,但并不代表不存在多线程安全的问题,多线程安全的问题无时无刻都存在,一点都不能马虎。经常看到全局定义使用 simpleDateFormat 的代码。

SimpleDateFormat线程安全测试:

/**
 * SimpleDateFormat线程安全测试
 */
public class SimpleDateFormatTest {

   private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

   ThreadPoolExecutor poolExecutor = new ThreadPoolExecutor(10, 100, 1, TimeUnit.MINUTES, new LinkedBlockingQueue<>(1000), new MyThreadFactory("SimpleDateFormatTest"));

    public void test() {
        while (true) {
            poolExecutor.execute(new Runnable() {
                @Override
                public void run() {
                    String dateString = simpleDateFormat.format(new Date());
                    try {
                        Date parseDate = simpleDateFormat.parse(dateString);
                        String dateString2 = simpleDateFormat.format(parseDate);
                        System.out.println(dateString.equals(dateString2));
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    }

喜欢,在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值