- 博客(8)
- 收藏
- 关注
原创 Java中为什么int类型的范围是-2^31 - 2^31-1
在java基础类型中,int类型占四个字节,而每个字节在内存中占8位(8byte),所以可以使用共4X8=32个位数来存储该类型,也就是四个八位的二进制数 计算机中的数字是以补码的形式存储的,正数的原码反码补码是相同的,负数反码为除符号位的其它位数取反,补码为反码加一,最高位为符号位,0则代表正数,为1则代表负数 所以除了符号为以外实际可用的位数是31位,若为整数,最大时,原码为0 + 31个1,求和就是2^31 -1,所以int的最大值为2^31次方减一,若为负数,最小时,原码为1+31个1,补码为1
2022-03-17 19:45:03 978
原创 HashSet源码分析
HashSet底层是HashMap,第一次添加时,table数组扩容到16,临界值(threshold)是16加载因子(loadFactor)是0.75 = 12* 如果table数组使用到了临界值12(应该是大于12),就会扩容到16×2 = 32,新的临界值就是32 × 0.75 = 24,依次类推 在Java8中,如果一条链表的元素个数到达TREEIFY_THRESHOLD(默认是8).并且table的大小>=MIN_TREEIFY_CAPACITY(默认64),就会进行..
2021-12-28 16:57:49 154
原创 HashSet源码分析
HashSet底层是HashMap,第一次添加时,table数组扩容到16,临界值(threshold)是16加载因子(loadFactor)是0.75 = 12* 如果table数组使用到了临界值12(应该是大于12),就会扩容到16×2 = 32,新的临界值就是32 × 0.75 = 24,依次类推 在Java8中,如果一条链表的元素个数到达TREEIFY_THRESHOLD(默认是8).并且table的大小>=MIN_TREEIFY_CAPACITY(默认64),就会进行..
2021-12-28 16:56:18 213 1
原创 Deque的方法以及常用队列之间的父子关系
/** * 队列接口之间的关系 */ interface Iterable<T>{} interface interface Collection<E> extends Iterable<E> {} interface Queue<E> extends Collection<E>{ /** * 超出队列界限时add抛出一个IllegalStateException */ boolean add(); .
2021-12-20 16:26:33 187
原创 java中的权限修饰符小记录
public protected 默认 private 同一类 √ √ √ √ 同一包下的类 √ √ √ 不同包下的子类 √ √ 不同包下的其他类 √ 以前一直以为私有修饰的静态方法是可以被访问的,今天突然发现不可以 public class test{ public static void main(String[] args) { ...
2021-09-04 09:03:38 80
原创 equals()方法空指针异常问题小记录
public class test { public static void main(String[] args) { String s = null; System.out.println(s.equals("aaa")); } } //运行结果 Exception in thread "main" java.lang.NullPointerException 这是api中对NullPointerException的解释,现在s是一个null...
2021-09-03 11:31:40 151
原创 Scanner的next()和nextLine()问题小记录
public class test{ public static void main (String[args]){ Scanner sc = new Scanner(System.in); System.out.println("输入"); int a = sc.nextInt(); System.out.println("输入"); char ch = sc.nextLine().charAt(0); .
2021-09-01 21:28:46 223
原创 ArrayList的add()方法源码分析(jdk1.8)
成员变量 //默认的初试容量 private static final int DEFAULT_CAPACITY = 10; // 当你造了一个指定长度为0的数组,就会把elementData实例化为这个长度为0的数组 private static final Object[] EMPTY_ELEMENTDATA = {};、 // 当你造一个默认长度ArrayList时,就会把emementData实例化为这个长度为0的数组 private static final Object[] DEFAULT.
2021-08-28 21:13:15 593 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人