240 发简信
IP属地:黑龙江
  • 你这个感觉把状态和事件混在一起了

    利用状态机处理订单状态流转

    首先简述一个场景,订单的状态流转。 一个订单会有很多种状态:临时单、已下单、待支付、已支付、已完成、退款中等等。每一种状态都和其扭转前的状态、在扭转前状态所执行的操作有关。 ...

  • "强制把写缓冲区/高速缓存中的脏数据等写回主内存,让缓存中相应的数据失效"

    这里的高速缓存为什么会有脏数据呢? 不是通过MESI协议已经保证了吗

    内存屏障

    内存屏障(Memory barrier) 为什么会有内存屏障 每个CPU都会有自己的缓存(有的甚至L1,L2,L3),缓存的目的就是为了提高性能,避免每次都要向内存取。但是这...

  • 太牛逼了,一直没明白为什么有了mesi还要volatile,现在终于明白了

    【Java并发学习二】多线程编程的硬件基础知识总结

    这篇简单梳理下与多线程相关的硬件知识,了解它们能够让我们更清晰的了解多线程工作的本质,以及关键字synchronized、volatile、final的实现原理。 我们会发现...

  • Java常量池理解与总结

    一.相关概念 什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 Clas...

  • java8中,运行时常量池已经迁移到堆区了

    深入理解JVM(1) : Java内存区域划分

    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 Java虚拟机在执行Java程序的过程中会把它管理的内存划分为...

  • Optional 网上随便搜了几篇文章,抄来抄去。

    Java8 Optional 的正确使用方式

    1.当我们还在以如下几种方式使用 Optional 时, 就得开始检视自己了 调用 isPresent() 方法时 调用 get() 方法时 Optional 类型作为类/实...

  • ```
    public String() {
    this.value = "".value;
    }
    ```

    你难道没发现这个构造方法很奇怪吗?
    为什么没有报编译错误

    Java 源码分析 — String 的设计

    Tip:笔者马上毕业了,准备开始 Java 的进阶学习计划。于是打算先从 String 类的源码分析入手,作为后面学习的案例。这篇文章寄托着今后进阶系列产出的愿望,希望能坚持...

  • 刚刚试了一下,在 master 分支下无法执行 hexo 命令, 难道是我理解错了?

    Hexo博客备份

    使用Hexo在github搭建的博客,博客作为一个单独的GitHub仓库存在,但是这个仓库只有生成的静态网页文件,并没有Hexo的源文件,如果要换电脑或者重装系统后,就比较麻...

  • 创建两个分支,master 和 hexo。
    修改完文章后,在 hexo 分支提交源文件; 然后切换到 master 分支上执行 hexo g -d ,它会自动更新 github 上的静态文件。

    Hexo博客备份

    使用Hexo在github搭建的博客,博客作为一个单独的GitHub仓库存在,但是这个仓库只有生成的静态网页文件,并没有Hexo的源文件,如果要换电脑或者重装系统后,就比较麻...