Java基础
文章平均质量分 91
荼锦AI编程
大二字节进行研发实习,后保送至北航读研进行AI相关的研究,现专注于AI编程。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java语法糖揭秘,让你秒懂Java的甜蜜之道
语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,非常利于操作。事实上听名字也能想到,加在语法中的糖让语法变得更”甜“原创 2023-12-07 18:45:51 · 1342 阅读 · 0 评论 -
ArrayList背后的黑科技:深度解析源码内幕
ArrayList其本质就是数据结构中的动态数组,是一个能够内部进行扩容的数组。所以它拥有数组所拥有的特性。在时间上,通过下标直接访问,速度极快。在空间上,在内存中占连续的一段空间且创建数组时必须指定确定的容量,因此指定的容量往往大于预期的容量,造成空间浪费。特性上数组在查找上效率高。在插入和删除时便会很麻烦且耗时,因为删除和插入需要移动目标元素之后的所有数组元素,才能使数组产生空隙供目标元素插入或消除目标元素删除产生的一个空隙。原创 2023-12-05 20:43:39 · 922 阅读 · 0 评论 -
解锁Java自动拆装箱的神秘面纱【字节码级别深度解析】
JDK 1.5开始增加了自动拆装箱机制,Java保留了一些原始的基本数据类型,但由于Java是强面向对象语言,数据类型当然也应该设置成对象才是,所以Java也推出了对于基本数据类型的对应的对象,将基本数据类型转换为对象就称为装箱,反之则是拆箱。原创 2023-12-03 20:47:32 · 1000 阅读 · 0 评论 -
值传递还是引用传递?解密Java中的参数传递机制的神秘面纱
这段代码中,我们定义了一个List类型的变量list,一个String类型的变量a,和一个int类型的变量num,然后分别调用了add,append,和addNum三个方法,把这三个变量作为参数传递进去。对于引用类型,方法参数拷贝的副本存储的是对象的地址,当在方法中修改了该对象里的内容(对象的属性等),实际上是通过对象地址的副本找到了实际存储的数据位置,然后修改实际存储的数据(对象属性等),这就造成了一种。答案是,Java中的方法调用都是值传递,也就是说,只会传递参数的副本,而不会影响原来的参数。原创 2023-12-01 09:29:51 · 1336 阅读 · 0 评论 -
HashMap源码分析(JDK1.8)
一、介绍 基本概念 HashMap其实就是数据结构的哈希表,是一个为了快速查找定义的数据结构,旨在提高在一个数组中查找任意一个元素的时间复杂度。存储数据时给定(Key,Value),通过hash()函数得到hash作为表数组(table)的下标,查询时直接通过table[hash(key)]即可查到value,大幅提高查询效率而且这与数组元素的顺序无关 哈希冲突(哈希碰撞) 理想情况下是通过改造hash函数可以一次查询到想要的value,然而这必定是会有两个不同的key求出的hash值是一样的情况,原创 2021-01-23 00:28:40 · 244 阅读 · 1 评论
分享