自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 int和Integer的区别

1.int是基本数据类型,创建时只需要直接赋值即可,Integer是对象类型,创建时要通过new关键字创建。java是一门面向对象的编程语言,对象是基本的操作单元,ArrayList、HashMap等只能存储对象类型。4.Integer作为对象类型,里面封装了一些属性和方法,可以用来操作数据,使用更加灵活、更安全。2.int存储在栈空间,Integer存储在堆空间。3.int默认值是0,Integer默认值是null。

2024-07-12 09:35:58 104 1

原创 对java中HashMap扩容机制和转红黑树机制的理解

我们首先看到HashMap定义了一些属性的源码。在HasMap源码中定义了一个,然后我们看到HashMap的添加元素的put方法,即可追溯到底层是如何扩容的。

2024-03-15 22:13:20 1866 5

原创 对java中ArrayList无参构造器扩容机制的理解

再判断,如果newCapacity比minCapacity小的话,将minCapacity赋值给newCapacity,所以第一次扩容时,0 - 10 < 0, 所以将10赋值给了newCapacity,所以第一次扩容不是按1.5倍扩容,而是直接扩容为10.如果为空就取DEFAULT_CAPACITY和minCapacity之间的最大值,DEFAULT_CAPACITY是一开始定义的整形变量为10,minCapacity对于size + 1,就是要添加下一个数据所需的最小容量。所以第一次扩容容量为10.

2024-03-11 20:05:41 653

原创 对java中String对象不可变的理解

由源代码我们看到String类是final修饰的,并且该类中用于储存字符的value属性也是final修饰的,所以String类不能被继承也不能修改。所以我们可以理解为,原String对象没有被修改,而是在堆中开辟一个新的空间用来存储"abcd", 然后原String对象指向该地址。从结果可以看到,str的哈希值已经改变,即str已经不是指向"abc"所储存的地址,而是指向了一个新的地址。但是当我们创建一个String对象,再去修改它的值是可以的,所以该怎样理解不能被修改?

2024-03-06 15:10:40 323

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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