 | | quantal V2EX 第 239198 号会员,加入于 2017-07-07 16:40:32 +08:00今日活跃度排名 9602 |
quantal 最近回复了
有没有兴趣来用我的 api ,算是帮我测试测试,可以用 gpt-5.4 ,gpt-5.3-codex
YmV5bGlvbg==
我怎么感觉 jetbrains 已经要完全被取代了呢?
编程的逻辑变了,以前 ide 是给人用的,现在可能是给 agent 用
需要持续使用的建议就不要省这 20 刀了,基本都是投机取巧的方法,都是有成本的商业公司没理由让你免费用
给一个 gpt4o 的回复
要稳定地触发两次 Young GC 、一次 Full GC ,然后再触发两次 Young GC ,可以通过精确控制堆内存分配来实现。下面是一个示例代码,该代码通过分配和释放对象来控制垃圾回收的发生:
public class GCDemo {
private static final int _1MB = 1024 * 1024;
public static void main(String[] args) throws InterruptedException {
// 1. 分配足够的内存来触发两次 Young GC
byte[] allocation1, allocation2, allocation3;
allocation1 = new byte[2 * _1MB]; // 第一次分配
allocation2 = new byte[2 * _1MB]; // 第二次分配
allocation3 = new byte[2 * _1MB]; // 触发第一次 Young GC
// 2. 再次分配内存,确保触发第二次 Young GC
allocation1 = new byte[2 * _1MB];
allocation2 = new byte[2 * _1MB];
allocation3 = new byte[2 * _1MB]; // 触发第二次 Young GC
// 3. 分配大对象,触发 Full GC
allocation1 = new byte[4 * _1MB];
allocation2 = new byte[4 * _1MB]; // 触发 Full GC
// 4. 再次分配内存,确保触发两次 Young GC
allocation1 = new byte[2 * _1MB];
allocation2 = new byte[2 * _1MB];
allocation3 = new byte[2 * _1MB]; // 触发第三次 Young GC
allocation1 = new byte[2 * _1MB];
allocation2 = new byte[2 * _1MB];
allocation3 = new byte[2 * _1MB]; // 触发第四次 Young GC
// 程序结束,等待手动触发 Full GC
System.gc();
}
}
为了确保该代码按预期运行,你需要使用适当的 JVM 参数来配置堆大小和垃圾收集器。例如:
java -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:+UseSerialGC GCDemo
已经换回 chrome 了,明显感觉 chrome 比 edge 快不少
直接用 ULID 吧,生成的 id 带时间戳精确到毫秒,毫秒级有序