240 发简信
IP属地:浙江
  • 120
    从一次线上OOM问题排查说起

    问题描述 线上docker实例报错OOM然后自动重启,打到该实例的请求在重启期间报502。 配置 java应用启动项配置: 每个docker实例配置了4G内存双核CPU。 d...

  • java的闭包

    什么是闭包 1、一个含有自由变量的函数;2、这些自由变量所在的环境。也就是函数和环境的总和构成一个闭包。外部环境持有内部函数所使用的自由变量,对内部函数形成“闭包”。简单但不...

  • @唔理咁多 是这样的, 这时候插不进去

    MVCC 能解决幻读吗?

    昨天面试当中一个小伙认为MVCC可以解决RR中的幻读问题, 先说结论, MVCC不能解决幻读,很遗憾还是得用锁。 下面详细描述一下。InnoDB的MVCC, 实现的是基于多...

  • 120
    java符号的定位与解析(案例+源码解析)

    字节码的基本结构 一个普通类的java代码 编译原理是这么描述编译的:将某一种语言(源语言)编写的程序,翻译成为一个等价的、用另一种语言(目标语言)编写的程序。那么对于jav...

  • update需要是当前读, 如果update历史数据, 那就会造成有些更新丢失了

    MVCC 能解决幻读吗?

    昨天面试当中一个小伙认为MVCC可以解决RR中的幻读问题, 先说结论, MVCC不能解决幻读,很遗憾还是得用锁。 下面详细描述一下。InnoDB的MVCC, 实现的是基于多...

  • 有个语句叫select for update满足你的要求

    MVCC 能解决幻读吗?

    昨天面试当中一个小伙认为MVCC可以解决RR中的幻读问题, 先说结论, MVCC不能解决幻读,很遗憾还是得用锁。 下面详细描述一下。InnoDB的MVCC, 实现的是基于多...

  • 120
    java多线程在单核CPU上还需要volatile吗

    volatile中难以理解的问题 其实还有一个类似的问题: 为什么有了MESI还需要volatile呢?为什么会想到这个问题, 因为我们平时是拿JMM来类比计算机的内存模型的...

  • 120
    uid-generator中伪共享的bug

    一、什么是伪共享 CPU缓存系统中是以缓存行(cache line)为单位存储的。目前主流的CPU Cache的Cache Line大小都是64Bytes。在多线程情况下,如...

  • 这个问题非常好, 事实上mysql为了性能也并不是通过隐含字段的方式来实现的mvvc, 而是通过undo log, 拿当前版本和undo log里的语句计算而生成, 比较复杂, 不好说清楚。 不过多版本控制这件事抽象来讲就是我文中说的, 比较便于理解, 感兴趣的话可以看一下mysql是怎么通过几个log提高性能的, 很有意思

    MVCC 能解决幻读吗?

    昨天面试当中一个小伙认为MVCC可以解决RR中的幻读问题, 先说结论, MVCC不能解决幻读,很遗憾还是得用锁。 下面详细描述一下。InnoDB的MVCC, 实现的是基于多...