自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除