03 2021 档案
摘要:对象的内存布局可以分为两种对象:普通对象和数组对象。 一、普通对象: 1. 对象头(Mark Word):8Byte 2. 类指针(Class Pointer): -XX:+UseCompressedClassPointers开始的话是4Byte,不开启是8Byte 3. 实例数据(成员变量): 引
阅读全文
摘要:【happens-before】规则定义了某个线程修改的变量,何时对其他线程可见。 指令重排 https://www.cnblogs.com/chenssy/p/6393321.html http://tutorials.jenkov.com/java-concurrency/java-happen
阅读全文
摘要:属于jdk1.6优化手段,jdk1.6之前都是传统的重量级锁实现方式,优化后 如果程序运行期间永远是单线程,则只使用到偏向锁阶段,但是假如有第二,三个不同的线程介入,则升级为轻量级锁,如果这些线程只是交替有序的进行,则保持在轻量级阶段,一旦发生了并发冲突,则升级为重量级锁阶段。重量级锁阶段会先通过自
阅读全文
摘要:首先说下兜底方案:一般缓存都会设置失效时间,所以最终缓存和database肯定会一致的。 但是如果想在更新database的同时,提前更新下缓存,那么就存在各种方案了。可以参考如下的文章: https://www.cnblogs.com/rjzheng/p/9041659.html https://
阅读全文
摘要:什么是缓存雪崩? Redis缓存,一般是加在database前一层,因此一般的请求处理过程是这样的: 请求进入web后端服务器 -> web后端服务器请求redis,查看是否命中缓存,如果命中,则直接返回 -> 如果缓存没有,则继续查询database -> 查到数据后,更新到缓存,同时返回给请求端
阅读全文
摘要:Bloom Filter作用:是一种概率型的数据结构,可以判断may be contains some value,但是肯定不包含某个value 比如问题:https://blog.csdn.net/zdxiq000/article/details/57626464 或者比如redis 缓存击穿,比
阅读全文
摘要:问题:5TB的硬盘上放满了数据,请写一个算法将这些数据进行排重。如果这些数据是一些32bit大小的数据该如何解决? 参考文档链接:https://blog.csdn.net/zdxiq000/article/details/57626464 package com.demo; import com.
阅读全文