最新 最热

别再搞混了!

Redis 的「内存淘汰策略」和「过期删除策略」,很多小伙伴容易混淆,这两个机制虽然都是做删除的操作,但是触发的条件和使用的策略都是不同的。

2022-10-27
1

Redis 内存满了怎么办

我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。

2022-10-27
1

最简单的单例模式,Go版本的实现你写对了吗?

大家好,我是网管,首先我问大家一个问题,你们面试的时候,面试官有没有问过你们:"你都用过什么设计模式?",我猜多数人的回答会把单例模式,放在第一位。...

2022-10-27
2

ConcurrentHashMap是如何保证线程安全

我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢?...

2022-10-27
1

volatile详解

最近经过查阅各种资料,并结合自己的思考和实践,对volatile有了比较深刻的认识,在此总结并分享给大家。

2022-10-27
2

13. 多线程案例(1)——单例模式(饿汉模式/懒汉模式)

通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案...

2022-10-26
2

11. volatile关键字

以上代码预期完成的效果是; 新创建了两个线程,一个是修改的(写),一个是判断的(读),线程一开始运行,当线程二中用户手动输入一个非零的数字时,线程一就会检测到flag的变化,从而结束线程一...

2022-10-26
2

【译】编程语言内存模型 Programming Language Memory Models

这是 RSC 关于 Go 内存模型系列文章的第二篇,介绍了 Java,C/C++,Rust,JavaScript 等高级语言的内存模型。对于高级语言来说,如何定义竞争,如何避免竞争,竞争发生时编程语言能提供什么保证都是内存模型需要考虑的问题。...

2022-10-26
2

【Redis08】删除策略与逐出算法

那些有效期到了的数据,Redis并不是真的一到期立刻就把它删了,因为删除数据相比于其他客户端命令并不那么重要,这些数据会暂留在内存中,最终根据Redis的删除策略删除...

2022-10-26
1

## java内存模型

在JMM中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在happens-before关系。这里提到的两个操作既可以是在一个线程之

2022-10-25
2