liuyehcf@liuyehcf
镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。
“我是 丙”
“p是p[0]的地址,p[0]是p[0][0]的地址 【 在 zhaotongxue 的大作中提到: 】 : : 这个没问题。我想知道的是,是不是int* p[1][1]这个二维指针数组,p和p[0]一样,存储的都是指向p[0][0]的地址”
“int *p[2],这是一个数组,数组元素是int类型的指针。p[0]就是第一个元素,而不是什么p的地址,只不过p[0]存的是某个int的地址。p在不加[]运算符的时候,退化成数组的起始地址,也就是p[0]的地址”
“看一遍还是必要的吧。。。每天20页,坚持就行”
“赞!!!!!!!”
“先看一下trip是个什么东西 /** The lock for guarding barrier entry */ private final ReentrantLock lock = new ReentrantLock(); /** Condition to wait on until tripped */ priv…”
“另外一点就是槽位计算可以用与运算((tableLength-1)&hash),提高效率。对于ConcurrentHashMap而言,我觉的单调性非常重要,如果一个槽位中的节点在扩容时会分配到新表任意一个槽位的话,那么就不能加槽位锁了,只能对整个table加锁,也就无法并发扩容了,这很影响效率(ConcurrentHas…”
“应该就是一个经验值,至于table的大小为什么是2的幂次,这是为了实现hash的单调性:当扩容时,对于槽位i中的节点,其去向只有两个,其一是新表的槽位i;其二是新表的槽位(i+originTableLength)”
订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。