V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  amiwrong123  ›  全部回复第 31 页 / 共 39 页
回复总数  777
1 ... 23  24  25  26  27  28  29  30  31  32 ... 39  
@KentY
对哈,因为容量肯定是 2 的幂,且默认的 loadfactor 是 0.75 ,所以我那种情况会分配过大。但如果 loadfactor 是用户给的一个奇怪的小数(这得啥用户啊。。),使得容量*loadfactor 不等于整数的话,算出来的阈值也是要向下取整的。所以,反过来想,用 size / loadfactor 算出的容量,肯定也要向上取整了。

因为操作昂贵,所以只要在必须 resize 的情况下才 resize,其余需要 resize 的情况,就交给 putVal 再去触发 resize。
每次发的源码讨论的帖子回复的人都特别少,这唯一的两人其中一个还是广告。。。是我提的问题太低端了吗。。。
@qwerthhusn
不知道为啥我没看见你的回复提醒。。。

确实复杂,我当时看这段代码看了好久。。

算了,as.length == 1 这里虽然有点多余,但是显得很严谨,哈哈哈哈。

你说的字节码增强,难道说有可能改变 Comparable 的接口定义,使得尖括号里面的类型参数变成两个或者更多吗
@KentY
谢谢回答。

为什么 /factor +1 你的解释我大概理解了,就是说如果是小数的话,那么应该向上取整,即使我这种情况会让容量和阈值变成应有的二倍。 那是不是意思就是 /factor +1 是为了保护某个特例,这种特例如果不加 1 就会造成容量和阈值都不够大 ,但是我现在又想不出来这种特例(就是 s 为多少时,这里就必须加 1 了)。。。

为什么不把自身的 size 加上,你说的我也大概懂了。大概就是 hashmap 的懒汉模式吧。
比如 s > threshold,且当前 map 的映射集合是传入 map 的映射集合的子集时(如果是子集,会使得两个 map 合并后,映射数量最少),即使是合并后映射数量最少的情况,也是必须 resize 的。
如果 s <= threshold,且传入 map 的映射集合是当前 map 的映射集合的子集时,这种情况就肯定不需要 resize 了。(这种情况很极端,其他情况还是有可能在后面的循环里再次 resize 的)
2019-12-09 13:03:26 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@zrc
虽不文雅,但很贴切
2019-12-09 13:02:35 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@mejee
等结婚以后,媳妇又把婆婆给哄住了,这就是控制反转的反转?
2019-12-08 17:42:59 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@aut0man
所以那些渣男渣女都是面对过程的喽
2019-12-08 17:30:54 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@hirasawayui
你每天观察一个姑娘的朋友圈,突然发现姑娘朋友圈说分手了,你的机会来了,这也是观察者模式
2019-12-08 17:25:08 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@xFan
然后顿悟到自己没有对象居然还在搞什么面对对象😂
2019-12-08 17:23:34 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@itskingname
新闻里,女子与五个男人领结婚证,结一次婚换一个省。这就是单例模式失效?
2019-12-08 17:20:43 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@Pastsong
确实,工厂就是工厂模式
2019-12-08 17:20:17 +08:00
回复了 amiwrong123 创建的主题 程序员 我顿悟了,难道这就是生活中的设计模式
@jenschen
带着钱包,管他里面有没有钱,避免了没有钱包的尴尬(避免判断 null )
2019-12-06 08:51:47 +08:00
回复了 amiwrong123 创建的主题 Java think in Java 里面说 linkedlist 无法转型到 deque 什么意思啊
@Jrue0011
不不不,我还是看的中文第四版,只是遇到像这种无法理解的,才去看原文
2019-12-06 08:50:50 +08:00
回复了 amiwrong123 创建的主题 Java think in Java 里面说 linkedlist 无法转型到 deque 什么意思啊
@Andy00
好吧,原来是版本问题啊。我看的就是第四版
2019-12-01 16:24:50 +08:00
回复了 amiwrong123 创建的主题 Java Java 里 hashset 放置元素的过程,这么理解对吗?
@cxtrinityy
好吧,确实是不够深入。你说的这几点我记下,回头再继续看。你说的第三点感觉挺有意思,虽然我现在有点理解不了,哎,得看源码了。
2019-12-01 16:20:53 +08:00
回复了 amiwrong123 创建的主题 Java Java 里 hashset 放置元素的过程,这么理解对吗?
@renmu
看到这句话 A real world example of a hash table that uses a self-balancing binary search tree for buckets is the HashMap class in Java version 8.

self-balancing binary search tree 这难道就是传说中的红黑树😂
2019-12-01 15:37:54 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 Class 对象不能用==比较呢,但强转 Object 后就可以了?
@SoloCompany
确实,赋值相容,就是代表可以隐式转换。
2019-12-01 15:37:15 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 Class 对象不能用==比较呢,但强转 Object 后就可以了?
@ZredoC
哈哈哈哈,不打扰不打扰
2019-12-01 15:36:50 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 Class 对象不能用==比较呢,但强转 Object 后就可以了?
@geelaw
谢谢解答,直接解开了我的疑惑
2019-12-01 15:35:46 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 Class 对象不能用==比较呢,但强转 Object 后就可以了?
@aguesuka
boolean result = ((Class) String.class) == ( Integer.class); 所以右边的就可以隐式转换为泛型的原生类型了。
1 ... 23  24  25  26  27  28  29  30  31  32 ... 39  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   976 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 20:57 · PVG 04:57 · LAX 12:57 · JFK 15:57
Developed with CodeLauncher
♥ Do have faith in what you're doing.