
基础
文章平均质量分 91
bxlj_jcj
折腾,努力,自律
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试官爱问的CAS,一文带你吃透
CAS 作为 Java 并发编程中的关键技术,以其独特的无锁机制,在多线程环境下实现了高效的原子操作。它通过比较并交换的原子指令,避免了传统锁机制带来的线程阻塞和上下文切换开销,大大提升了并发性能。在原子类、无锁数据结构和乐观锁等场景中,CAS 都发挥着不可或缺的作用,为开发者提供了强大的工具来处理多线程并发问题。然而,CAS 并非完美无缺,它存在着 ABA 问题、循环开销以及只能保证单个变量原子性等缺点。原创 2025-07-01 09:37:08 · 933 阅读 · 0 评论 -
面试官最爱问的AQS,一文带你吃透!
解题思路:介绍自定义同步器的步骤,包括继承 AQS 类、重写必要的抽象方法(如tryAcquire、tryRelease等),以及如何使用自定义同步器。答案:自定义一个基于 AQS 的同步器,首先需要继承AbstractQueuedSynchronizer类。然后,根据同步器的类型(独占模式或共享模式),重写相应的抽象方法。对于独占模式的同步器,通常需要重写tryAcquire和tryRelease方法。原创 2025-06-30 17:38:06 · 722 阅读 · 0 评论 -
从“菜鸟”到“大神”:带你吃透Java垃圾收集
Java 垃圾收集器家族就像一个拥有众多能工巧匠的团队,每个成员都有独特的技能,为 Java 程序的高效运行保驾护航。从简单高效的 Serial 收集器,到追求极致低延迟的 ZGC 收集器,它们各自在不同的领域发光发热。在选择垃圾收集器时,就像为你的应用程序挑选合适的伙伴,需要充分了解应用的需求和运行环境,权衡吞吐量、响应时间和 CPU 资源等因素,做出明智的决策。同时,不要忘记通过实际测试和监控来验证和优化你的选择,让垃圾收集器与应用程序完美协作,创造出高效、稳定的 Java 应用世界。原创 2025-06-28 17:33:25 · 1136 阅读 · 0 评论 -
从HashMap到ConcurrentHashMap,面试官究竟在考什么?
HashMap 和 ConcurrentHashMap 就像是 Java 集合家族中的两位得力干将,各自在不同的领域发光发热。HashMap 以其在单线程环境下的简单高效,成为日常开发中处理键值对数据的首选工具;而 ConcurrentHashMap 则凭借出色的线程安全机制和高并发性能,在多线程的复杂场景中独领风骚。希望通过本文的剖析,能帮助大家在面试中对这两个集合类的问题应对自如。同时,集合框架博大精深,HashMap 和 ConcurrentHashMap 只是其中的冰山一角。原创 2025-06-27 10:07:08 · 888 阅读 · 0 评论 -
吃透volatile:Java并发编程的关键钥匙
在 Java 并发编程的领域中,volatile 关键字扮演着举足轻重的角色,是我们理解和处理多线程问题的关键一环。它就像是一把神奇的钥匙,能够帮助我们解决多线程环境下数据可见性和有序性的难题。先来讲讲内存可见性问题。假设我们有一个场景,你和你的小伙伴一起在玩一个游戏,游戏中有一个公共的分数板,记录着你们的得分。你在自己的小空间里努力游戏,每获得一分,就会在自己的小本子上记录下来,然后想着过一会儿再更新到公共的分数板上。而你的小伙伴呢,他在自己的地方也在查看这个分数板,想要根据分数来决定下一步的策略。原创 2025-06-26 10:40:51 · 688 阅读 · 0 评论 -
深入解析synchronized实现原理
为了解决线程安全问题,Java 提供了synchronized关键字,它就像是集市中的秩序维护者,为多线程环境带来了规则和秩序。synchronized关键字可以用来修饰方法或者代码块。当它修饰一个方法时,这个方法就成为了同步方法,同一时刻只能有一个线程能够进入该方法执行。当它修饰一个代码块时,这个代码块就被称为同步代码块,线程需要先获取到指定对象的锁,才能进入代码块执行。。原创 2025-06-26 10:26:19 · 877 阅读 · 0 评论