chengyiqun 最近的时间轴更新
chengyiqun
ONLINE

chengyiqun

V2EX 第 269853 号会员,加入于 2017-11-24 13:14:54 +08:00
今日活跃度排名 2728
chengyiqun 最近回复了
1 天前
回复了 clocean 创建的主题 输入法 有必要学双拼吗?
如果你经常需要用别人的设备操作或者给别人演示, 那么就不建议, 如果你是文职工作者输入的字比较多, 设备也是自己用, 那就建议
2 天前
回复了 raycake 创建的主题 程序员 我感觉 Flclash 比 clash for windows 好用
@andykuen959595 第一次用管理员启动一下
10 天前
回复了 movq 创建的主题 问与答 劳动节为什么不翻译为劳工节或者工人节
@danhahaha 现在情人节不是等于消费节吗
10 天前
回复了 ota 创建的主题 MacBook 从 win 到 mac 是不是每个程序员的必经之路?
每次这种话题都是重灾区
10 天前
回复了 ota 创建的主题 MacBook 从 win 到 mac 是不是每个程序员的必经之路?
@chaoooooos #96 @Livid 骂人
17 天前
回复了 movq 创建的主题 程序员 如何记住 debug 的快捷键
用外置键盘, 不要用笔记本自带的键盘
Fx 四个按键一组
正好 F8 和 F9 中间有一道间隙
很容易就记住了
至少 deepseek 的编程能力是实打实变强了, 最近使用实打实的体会
反而 chatgpt 我觉得它降智了
//这里有个简单的实现, 我也不知道摘抄自哪里了
import java.nio.ByteBuffer;
import java.security.SecureRandom;
import java.util.UUID;

/**
* 时间顺序的 UUID
*/
public class UUIDv7 {
private static final SecureRandom random = new SecureRandom();

public static UUID randomUUID() {
byte[] value = randomBytes();
ByteBuffer buf = ByteBuffer.wrap(value);
long high = buf.getLong();
long low = buf.getLong();
return new UUID(high, low);
}

private static byte[] randomBytes() {
// random bytes
byte[] value = new byte[16];
random.nextBytes(value);

// current timestamp in ms
ByteBuffer timestamp = ByteBuffer.allocate(Long.BYTES);
timestamp.putLong(System.currentTimeMillis());

// timestamp
System.arraycopy(timestamp.array(), 2, value, 0, 6);

// version and variant
value[6] = (byte) ((value[6] & 0x0F) | 0x70);
value[8] = (byte) ((value[8] & 0x3F) | 0x80);

return value;
}

// public static void main(String[] args) {
// UUID uuid = UUIDv7.randomUUID();
// System.out.println(uuid);
// }
}
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3507 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 10:23 · PVG 18:23 · LAX 03:23 · JFK 06:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.