文章目录 前言 一、tableSizeFor(int cap)的作用? 二、解释 1.Integer.numberOfLeadingZeros(cap - 1)的作用? 2.假设cap=10,怎么得到16? 前言 在java 15.0.2中,HashMap函数在给定初始容量和加载因子,进行初始化的时候,会将threshold初始化为tableSizeFor(initialCapacity),如下所示,那么tableSizeFor(int cap)在这一版java中做了修改,如下所示: this.threshold = tableSizeFor(initialCapacity);//threshold初始化 static final int tableSizeFor(int cap