V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Georgedoe  ›  全部回复第 2 页 / 共 2 页
回复总数  32
1  2  
2023-04-22 13:30:13 +08:00
回复了 echoless 创建的主题 推广 用一个 golang 的例子说一下面试和工作的背离
按不会算
2023-03-07 15:22:49 +08:00
回复了 um1ng 创建的主题 Apple 23 年了 还有大佬组黑苹果的吗?
@WakaakaW 主力机 6 年黑果了 , 每月一次备份 , 硬盘换了几个 , 系统倒是没换过
2023-02-20 10:30:29 +08:00
回复了 maizero 创建的主题 Apple 你的系统“包浆”了么?
17 年装的 10.13.6 , 今年 23 年了还是 10.13.6 , 换过 4 块硬盘, 定期用 CCC 备份
2022-12-30 13:37:48 +08:00
回复了 ngduncent 创建的主题 程序员 总结开源项目中的常见坏实践(Bad Practice)
第一次见代码质量这么差的开源项目
可能堆积在某个地方的队列里了
2022-06-06 13:57:00 +08:00
回复了 Womxnly 创建的主题 Linux 求助: m1 芯片的 macbook,该怎么配置 Linux 开发环境?
docker for mac ,qemu 模拟 x86 , 拉个 ubuntu 镜像就行了
2022-05-26 14:19:25 +08:00
回复了 saki22oimo 创建的主题 硬件 鼠标垫的腕托推荐
毛巾 , 叠到合适自己的高度
2022-05-20 16:50:23 +08:00
回复了 agzou 创建的主题 Java 请教一个 ConcurrentHashMap 问题
在你代码里加了点 log , 这是输出 , 很显然有问题

public long nextId(String key) {
// 虽然采用了并发安全的容器,但是当 contains 语句通过后,有可能出现多线程先后 put,AtomicLong 值有可能给覆盖?
if (!map.containsKey(key)) {
AtomicLong atomicLong = new AtomicLong(0);
System.out.println("put twice");
map.put(key, atomicLong);
long l = atomicLong.incrementAndGet();
System.out.println(l);
return l;
}
return map.get(key).incrementAndGet();
}


put twice
put twice
put twice
1
1
2
2022-05-20 16:40:49 +08:00
回复了 agzou 创建的主题 Java 请教一个 ConcurrentHashMap 问题
同一个 key 有可能会被 put 多次 , 某个 key 的 contains 和 put 不是原子操作 , 可以去看看 go 的 singleflight 的实现 , 保证一次只有一个线程执行了 set (put) 操作
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1629 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 17:13 · PVG 01:13 · LAX 10:13 · JFK 13:13
Developed with CodeLauncher
♥ Do have faith in what you're doing.