240 发简信
IP属地:北京
  • Math.addExact如何解决加法溢出问题

    基于源码的个人理解 如有误解请指正 Java中直接用运算符进行加法操作,会产生溢出: ​ 说明a+b产生了溢出,且值等于绝对值最大的负数,负...

  • 面向对象的三大基本特征和五大基本原则

    参考牢记面向对象五个基本原则;深入理解Java中的重写和重载;Java中方法的重写与成员变量的隐藏;深入理解Java中的组合和继承有一些个人看法...

  • 【源码】为什么HashMap线程不安全?ConcurrentHashMap如何使线程安全?

    自己啃的JDK8源码。如有错误请指正。如需转载请标明出处。 总结在前 首先根据key访问桶要用原子操作。 桶为空放新node时用的CAS。 桶不...

  • 从源码分析HashSet / HashMap是如何保证不重复的?

    HashSet.add()调用的是HashMap.put()。HashMap判断依据是key值。映射到一个hash桶,当key值相等时,替换掉旧...

  • Resize,w 360,h 240
    从JVM的内存分区到对象如何使用它们

    全文概括 ​ 虚拟机可以看作一台抽象的计算机,有自己的指令集和运行时内存分区。堆和方法区是线程共享的,随JVM创建消亡。栈和PC计数器是线程...

  • .dtd文件怎么读

    这里只写了常用的,如果需要更多可以参阅每个字都是本人手敲的,若需转载请注明出处 文档类型定义(Document Type Definition)...

  • 从leetcode386理解字典树Tire

    LeetCode386 - LexicogarphicalNumbers ​ 记录详细的思考过程,从此题加深对相关数据结构的理解,记录总结自...

  • CAS从源码到底层实现

    2019.2.2 *更新CAS对应的x86汇编指令的解释,对底层实现又理解了一部分 全文简单概括 ​ CAS(Compare And Swa...

  • Resize,w 360,h 240
    HashList与HashSet

    散列表 也叫哈希表 散列表本质是数组存储,通过 key-value 的形式存储数据,所以当取 value 的时候,实际上取数组某个位置的元素,并...