自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap源代码分析(jdk1.8)

目录HashMap底层原理hash算法数组寻址hash冲突resize扩容 HashMap底层原理 说到HashMap底层原理,可以从几个方面考虑,首先在put方法或者get方法的第一步骤就是key的hash算法,然后数组寻址定位一个数组的位置,然后可能会发生hash冲突,则HashMap又需要开始解决hash冲突问题,在put数据的时候,还需要关注的就是数组的扩容resize问题。所以最终结论,我们要从这几个方方面讨论HashMap的底层原理,key的hash算法、数组寻址、hash冲突、resize扩容

2021-06-20 00:04:02 104 3

原创 java位运算符

目录java运算符按位异或运算(^)按位与运算符(&)按位非运算符(~) java运算符 由于jdk源代码中用到了大量的运算符,所以需要先熟悉一下运算符的算法。 按位异或运算(^) 运算规则是:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。 比如:8^11. 8转为二进制是1000,11转为二进制是1011.从高位开始比较得到的是:0011.然后二进制转为十进制,就是Integer.parseInt(“0011”,2)=3; 按位与运算符(&) 运算规则:两个数都转为二

2021-06-19 23:51:36 88

原创 String类

目录String初始化方式String类内存分配String类inter方法StringBuilder类 String初始化方式 String类内存分配 String类inter方法 StringBuilder类

2021-06-18 15:19:42 51

原创 JVM字节码指令

目录编译java文件反编译class文件分析字节码指令常见指令 编译java文件 javac Test.java public class String02 { public static void main(String[] args) throws Exception { String a = "nihao"; String b = new String("nihao"); // System.out.println(System.identity

2021-06-18 14:10:31 73

原创 数组和链表

数组和链表 文章目录数组和链表剖析数组和链表的区别1.长度2.索引3.新增4.删5.改6.查7.内存分配数组的声明1.静态声明 说到数组和链表,一般会从长度、索引、增删改查的效率、内存分配等方面去剖析他们的区别。 剖析数组和链表的区别 1.长度 数组的长度是固定的,声明一个数组后长度就是固定的了;而链表是链式存储,可以随之延长。 2.索引 数组有索引,数组内每个元素的位置是有一个唯一的索引,并且有序;而链表虽说也是有序,但是没有索引,并不能知道某个节点在链表 3.新增 增:数组中新增一个元素的时候,必须

2021-06-17 20:14:57 412

空空如也

空空如也

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

TA关注的人

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