图文并茂分析ArrayDeque源码,达到知根知底,让你面试胖揍面试官
源码分享说明本人非常热衷于源码研究,同时也非常愿意将自己在源码方面研究的心得进行分享,如果读者也想对源码进行研究,可以关注我的分享的文章。
Java Deque操作指南
由于前文《一文讲透LinkedList》对Deque的具体使用并未详写,因此在此处补上。前文已讲明Java 集合类的关系图,因此不在此再次说明。介绍Deque是java.util包中Queue接口的子类型,Deque是“双端队列”,支持从数据结构的任何一端添加或删除数据。
说一下 ArrayDeque 和 LinkedList 的区别?
这个方法不一定能保证检测到所有的并发修改情况,例如无法检查先移除了尾部元素,又马上添加了一个尾部元素的情况。
SpringBoot 执行管道实战:500行大方法拆成节点链
SpringBoot 执行管道实战:500行大方法拆成节点链一个商品上架接口,第一版只有 80 行:校验类目、校验价格、保存商品。半年后我再看它,已经 500 多行了。敏感词检查加进来了,定价规则校验加进来了,AI 生成商品详情加进来了,搜索索引同步加进来了,商家通知也加进来了。
还不懂Java集合框架?看这一篇就够了
话不多说,直接上图:Java 集合,也称作容器,主要是由两大接口 (Interface) 派生出来的:Collection 和 Map顾名思义,容器就是用来存放数据的。那么这两大接口的不同之处在于:Collection 存放单一元素;Map 存放 key-value 键值对。
吃透双端队列:并行计算的“任务分配神器”,Java实战一看就懂
做Java开发,我们几乎天天和各类集合容器打交道:ArrayList靠着连续内存的优势,随机查询速度快到飞起;LinkedList凭借双向指针串联,首尾插删效率拉满。可一旦遇到两端高频操作+兼顾性能的场景,比如并行任务调度、缓存数据淘汰,这两款常用容器就会暴露短板,显得力不从心。
Java Semaphore 实战指南:用许可证控制并发、限流和资源池
简介Semaphore 是 Java 并发包 java.util.concurrent 里的同步工具。它的中文名一般叫信号量。最容易理解的说法是:Semaphore 像一组许可证。线程先拿许可证,拿到后才能继续执行。执行完再归还许可证。
一文帮你梳理 Java 集合
HashSet 底层采用 HashMap 实现,而 TreeSet 底层使用 TreeMap 实现,大部分 Set 集合的操作都会转换为 Map 的操作,TreeSet 可以将元素按照规则进行排序。
Java 最细的集合类总结
数据结构作为每一个开发者不可回避的问题,而 Java 对于不同的数据结构提供了非常成熟的实现,这一个又一个实现既是面试中的难点,也是工作中必不可少的工具,在此,笔者经历漫长的剖析,将其抽丝剥茧的呈现出来,在此仅作抛砖引玉,望得诸君高见,若君能有所获则在下甚是不亦乐乎,若有疑惑亦愿与诸君共求之!