工作中常用到的Java集合类有哪些? (3)

本来100个userId是100个Task,现在我将100个userId放在一个Task里边(因为发送的内容是相同的,所以我可以这么干)。这样再往下游传的时候,并发量就降低了很多。

工作中常用到的Java集合类有哪些?

什么时候考虑线程安全

什么时候考虑线程安全的集合类,那当然是线程不安全的时候咯。那什么时候线程不安全?最常见的是:操作的对象是有状态的

虽然说,我们经常会听到线程不安全,但在业务开发中要我们程序员处理线程不安全的地方少之又少。比如说:你在写Servlet的时候,加过syn/lock锁吗?应该没有吧?

因为我们的操作的对象往往是无状态的。没有共享变量被多个线程访问,自然就没有线程安全问题了

工作中常用到的Java集合类有哪些?

SpringMVC是单例的,但SpringMVC都是在方法内操作数据的,每个线程进入方法都会生成栈帧,每个栈帧的数据都是线程独有的,如果不设定共享变量,不会有线程安全问题。

上面只是简单举了SpringMVC的例子(只是为了更好的理解);

一句话总结:只要涉及到多个线程操作一个共享变量的时候,就要考虑是不是要用线程安全的集合类

更多的细节,等我写Java多线程总结的时候再说了

工作中常用到的Java集合类有哪些?

最后

还是想强调一下,Java集合虽然在工作中不是每个都经常用得到,但是还是得重点学习学习。

如果你学习到了源码,可能你在创建集合的时候就会指定了集合的大小(即便我们知道它能动态扩容)

如果你想要去面试,Java集合是肯定少不了的,必问的一个知识点,你学会了就是送分题

现在已经工作有一段时间了,为什么还来写Java集合呢,原因有以下几个:

我是一个对排版有追求的人,如果早期关注我的同学可能会发现,我的GitHub、文章导航的read.me会经常更换。现在的GitHub导航也不合我心意了(太长了),并且早期的文章,说实话排版也不太行,我决定重新搞一波。

我的文章会分发好几个平台,但文章发完了可能就没人看了,并且图床很可能因为平台的防盗链就挂掉了。又因为有很多的读者问我:”你能不能把你的文章转成PDF啊?“

我写过很多系列级的文章,这些文章就几乎不会有太大的改动了,就非常适合把它们给”持久化“。

基于上面的原因,我决定把我的系列文章汇总成一个PDF/HTML/WORD文档。说实话,打造这么一个文档花了我不少的时间。为了防止白嫖,关注我的公众号回复「888」即可获取。

PDF的内容非常非常长,干货非常非常的硬,有兴趣的同学可以「白嫖」一波。记住:Java集合在Java的知识处于一个非常重要的知识点,建议掌握!

工作中常用到的Java集合类有哪些?

文档的内容均为手打,有任何的不懂都可以直接来问我(公众号有我的联系方式)。

上一期的「JSP」的PDF在公众号差点意思,目标是180个在看,虽然没达到,但我还是带着黑眼圈来了

JSP的PDF有人会说:『大人,时代变了』,我就不信Java集合还有人对我说『大人,时代变了

如果这次在看超过200,那下周再肝一个系列出来。想要看什么,可以留言告诉我

img

涵盖Java后端所有知识点的开源项目(已有6 K star):https://github.com/ZhongFuCheng3y/3y

如果大家想要实时关注我更新的文章以及分享的干货的话,微信搜索Java3y

PDF文档的内容均为手打,有任何的不懂都可以直接来问我(公众号有我的联系方式)。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwxgyg.html