Skip to content

Instantly share code, notes, and snippets.

View zouzanyan's full-sized avatar
🤪
居家办公

zouzanyan zouzanyan

🤪
居家办公
  • 12:57 (UTC +08:00)
View GitHub Profile
@zouzanyan
zouzanyan / gist:025fb1de61af7b3e405e02c0ef24f881
Last active March 25, 2025 11:04
基于cow思想用无锁实现的线程安全的hashmap
public class CopyOnWriteHashMap<K, V> implements Map<K, V>, Cloneable {
private volatile Map<K, V> internalMap = new HashMap<>();
private static final Unsafe UNSAFE;
private static final long INTERNAL_MAP_OFFSET;
static {
try {
Field theUnsafeField = Unsafe.class.getDeclaredField("theUnsafe");
theUnsafeField.setAccessible(true);
UNSAFE = (Unsafe) theUnsafeField.get(null);
@zouzanyan
zouzanyan / gist:688719924379cbe9050eaea581d1af83
Last active March 26, 2025 02:19
无锁实现的雪花算法
class SnowflakeIdGenerator {
// 起始时间戳 (2024-01-01 00:00:00)
private final long START_TIMESTAMP = 1704038400000L;
// 每部分占用位数
private final long SEQUENCE_BIT = 12; // 序列号占12位
private final long MACHINE_BIT = 5; // 机器ID占5位
private final long DATACENTER_BIT = 5; // 数据中心占5位
// 最大值