最新回答 / 实时编程
HashMap。本身就不是线程安全的,所以 你这个写法 我暂时不确定 是不是能正确的运行 但是既然不是线程安全的 所以 我觉得 不可以这样写如果你加个锁 确实可以 变成安全的 操作但是就会 变成多线程 竞争锁 非常消耗性能虽然实现了 类似功能 但是性能 太低 所以JDK 不会这样设计
2020-05-07
最赞回答 / qq_Forever浅唱此生_0
小数值取数组是java做的缓存和引用没关系,实际没法用Integer做引用是因为Integer的值是final的,和String一样,创建后没办法改变自身的值,计算后返回的都是一个新的Integer/String
2020-03-24
最新回答 / TimAndy
golang 虽然不是线程模型, 但是有协程. 可以把协程理解成其他语言的轻量级线程.ThreadLocal for golang 无内存泄露, 无竞争,高性能, 不修改golang源码.支持 go1.18 泛型, 支持 386, amd64, arm, arm64 平台.支持 go1.13-1.18 版本, 在 linux,windows,mac 上均测试通过.项目地址 https://github.com/timandy/routine
2020-03-15
最新回答 / 慕码人118462
检查引入的包是不是正确。检查有没有在idea中添加插件idea中需要设置开启自动开启注解另外,你的curl read 数据不正确 可能多线程并非造成的,不一定跟@Data注解有关系
2020-03-03
最赞回答 / qq_Forever浅唱此生_0
这个HashSet和HashMap的多线程调用时是一样的风险,在扩容时有可能导致死循环,所以要用同步的容器或者同步代码块去调用“添加”的方法
2020-02-14
讲师回答 / 求老仙
秋田君说的也很不错, 我这里补充下, Map<Thread, T>这种结构,hash表冲突会很严重,举个例子。map.put(thread1, 100);map.put(thread1, 200);map.put(thread1, 300);你发现没有,一个map put了三个值,那取值的时候, 怎么办呢?
2020-02-10
最新回答 / qq_慕雪7502798
“用两层HashMap是由于一个线程中可能会拥有多个ThreadLocal成员变量,所以内层HashMap是为了保存同一个线程中的不同ThreadLocal变量。”说法不对吧 如果一个线程中有两个ThreadLocal成员变量,那么按照你说的,他们的key是当前线程ThreadLocal值,那不是key冲突了?
2020-01-31