- 博客(6)
- 收藏
- 关注
原创 技术成长的阶梯:程序员职业规划与可执行学习计划(含Java模拟器)
职业规划不是一次性的设计,而是持续迭代的过程。明确目标、分解能力点、执行可衡量的学习计划,并通过数据和面试反馈不断调整,就能把模糊的职业想象变为可落地的成长路径。希望本文的原理解析、可执行建议以及Java示例能帮助你把职业规划从理念转成行动。根据你的简历/技能矩阵,生成一份定制化的30/60/90天学习计划;把示例程序改为Web版或CLI交互版,支持更多规则和导出CSV功能。欢迎留言你的职业现状,我会给出更具体的改进建议!
2025-09-24 19:17:03
1851
原创 AQS深度解析:从队列到锁的底层实现与面试技巧
AQS将这些通用部分抽象出来,提供一个可扩展的、基于队列的同步框架。面试中经常问到的其实不是记忆API,而是理解其背后的设计与执行流程,例如:线程如何从竞争转为挂起,谁负责唤醒,竞争状态如何更新,如何避免“虚假唤醒”或“丢失唤醒”等问题。摘要:本文面向面试者与中高级Java开发者,深入剖析JDK中AbstractQueuedSynchronizer(AQS)的设计思想与执行流程,结合代码示例讲解如何基于AQS实现自定义同步器(独占/共享)、Condition的实现,以及在面试中常见的考点与解答要点。
2025-09-24 19:11:43
838
原创 并发地图的无锁引擎:透视 ConcurrentHashMap 的底层原理与演进
ConcurrentHashMap 的底层是从历史上的分段锁逐步演进到无锁/细粒度锁的设计,从而显著提升并发吞吐量和扩展性。关键点包括:桶表的设计、无锁读取、CAS 驱动的写入、动态扩容以及高冲突场景下的树化策略。与 JDK7 的 Segment 版本相比,JDK8 的实现更加细粒度,读取可见性更好,吞吐量更高。面试要点:理解数据结构、扩容时的并发迁移、树化条件、以及在弱一致性下的遍历行为与性能影响。
2025-09-24 19:08:28
1699
原创 看见锁之外的并发:深入解码 ConcurrentHashMap 的底层原理
ConcurrentHashMap 的底层通过分段式结构的历史演变,逐步过渡到“无锁/细粒度锁”的并发控制策略,极大地提升了并发吞吐量和可扩展性。关键点包括:桶表(table)的设计、无锁读取、CAS 驱动的写入、动态扩容、以及在高冲突场景下的树化策略。与 JDK7 的 Segment 版本相比,JDK8 的实现更加细粒度、并发性更强,且对读取的可见性与性能优化更为出色。面试要点:理解数据结构、扩容时的并发迁移、树化条件、以及弱一致性下的遍历行为与性能影响。
2025-09-24 19:07:52
1752
原创 胡乱写的c++primer笔记(2)
vector初始化有几种方式使用拷贝初始化时(=)只能提供一个初始值若提供初始值的字面列表,就要用花括号//默认初始化//上面两种等价,相当于复制v1的值给v2和v3,进行初始化vector<T> v5{a, b, c}//上两种等价,相当于直接使用字面值进行初始化vector<T> v6(n, val1)//以n个val1作为初始化值vector<T> v7(10) //初始化10个T类型的元素并默认初始化,比如int会初始化为0,string会根据类内部默认初始化。
2023-10-23 21:54:35
76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅