java基础
文章平均质量分 74
络7
后端学习ing
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HashMap的put、get方法详解(附源码)
如果定位到的数组位置有元素就和要插入的 key 比较,如果 key 相同就直接覆盖,如果 key 不相同,就判断 p 是否是一个树节点,如果是就调用。根据键的哈希码,定位到红黑树中的某个节点,然后逐个比较键,直到找到相同的键或达到红黑树末尾。如果键值对集合是链表结构,从链表的头部开始逐个比较键的哈希码和equals()方法,直到找到相同的键或达到链表末尾。第三步:如果该位置已经存在其他键值对,检查该位置的第一个键值对的哈希码和键是否与要添加的键值对相同?如果不是就遍历链表插入(插入的是链表尾部)。原创 2025-07-10 00:04:12 · 1337 阅读 · 0 评论 -
Java中Map、List 和 Set 之间的常见转换方法总结
以下是MapList和Set。原创 2025-07-09 11:17:21 · 499 阅读 · 0 评论 -
Java基础:this关键字详解
this其实可以理解为对象的一个属性(成员变量),但是这个属性是隐藏的.即this相当于对象的一个隐藏属性。和对象的其他属性一样,在new一个新对象的时候,会在堆内存为对象分配空间,属性就储存在这份空间中。且该this属性的值就是对象在堆内存中地址,即this指向该对象(this代表该对象).【重点】原创 2025-05-29 15:30:24 · 899 阅读 · 0 评论 -
java基础11——为什么Java字符串是不可变的
String可能是 Java 中使用频率最高的引用类型了,因此String类的设计者可以说是用心良苦。比如说String的不可变性。原创 2025-02-13 19:33:13 · 693 阅读 · 0 评论 -
java基础10——为什么重写equals方法的时候必须要重写hashCode方法
Java 是一门面向对象的编程语言,所有的类都会默认继承自 Object 类,而 Object 的中文意思就是“对象”。这是一个本地方法,用来返回对象的哈希值(一个整数)。在 Java 程序执行期间,对同一个对象多次调用该方法必须返回相同的哈希值。对于任何非空引用 x 和 y,当且仅当 x 和 y 引用的是同一个对象时,equals 方法才返回 true。单从这两段解释上来看,的确是这样的。但两个方法的 doc 文档中还有下述两条信息。原创 2025-02-06 23:59:34 · 662 阅读 · 0 评论 -
java基础09—— == 和 equals() 的区别
方法比较的是对象的值。当创建 String 类型的对象时,虚拟机会在常量池中查找有没有已经存在的值和要创建的值相同的对象,如果有就把它赋给当前引用。因为 Java 只有值传递,所以,对于 == 来说,不管是比较基本数据类型,还是引用数据类型的变量,其本质比较的都是值,只是引用类型变量存的值是对象的地址。方法存在于Object类中,而Object类是所有类的直接或间接父类,因此所有的类都有。方法是比较的对象的内存地址,而 String 的。方法是被重写过的,因为 Object 的。比较的是对象的内存地址。原创 2025-02-06 14:21:42 · 258 阅读 · 0 评论 -
java基础08——面向对象三大特征 封装继承多态
封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。就好像我们看不到挂在墙上的空调的内部的零件信息(也就是属性),但是可以通过遥控器(方法)来控制空调。如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。就好像如果没有空调遥控器,那么我们就无法操控空凋制冷,空调本身就没有意义了(当然现在还有很多其他方法 ,这里只是为了举例子)。原创 2025-02-06 09:09:02 · 226 阅读 · 0 评论 -
java基础07——面向对象与面向过程的区别
POP 和 OOP 的性能差异主要取决于它们的运行机制,而不仅仅是编程范式本身。因此,简单地比较两者的性能是一个常见的误区。在选择编程范式时,性能并不是唯一的考虑因素。我们定义了一个 Circle 类来表示圆,该类包含了圆的半径属性和计算面积、周长的方法。下面是一个求圆的面积和周长的示例,简单分别展示了面向对象和面向过程两种不同的解决方案。POP 的编程方式通常更为简单和直接,适合处理一些较简单的任务。我们直接定义了圆的半径,并使用该半径直接计算出圆的面积和周长。原创 2025-02-06 09:07:29 · 214 阅读 · 0 评论 -
java基础06——序列化和反序列化
如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。对于 Java 这种面向对象编程语言来说,我们序列化的都是对象(Object)也就是实例化后的类(Class),但是在 C++这种半面向对象的语言中,struct(结构体)定义的是数据结构类型,而 class 对应的是对象类型。原创 2025-02-05 10:56:22 · 707 阅读 · 0 评论 -
java基础05——java泛型
Java 泛型(Generics) 是 JDK 5 中引入的一个新特性。使用泛型参数,可以增强代码的可读性以及稳定性。编译器可以对泛型参数进行检测,并且通过泛型参数可以指定传入的对象类型。比如这行代码就指明了该 ArrayList 对象只能传入 Person 对象,如果传入其他类型的对象就会报错。并且,原生 List 返回类型是 Object ,需要手动转换类型才能使用,使用泛型后编译器自动转换。原创 2025-02-05 10:43:48 · 372 阅读 · 0 评论 -
java基础04——java异常
在 Java 中,所有的异常都有一个共同的祖先包中的类。原创 2025-02-05 09:55:46 · 868 阅读 · 0 评论 -
java基础03——Arrays.asList与ArrayList的区别(基本概念、用法、使用场景)
Arrays.asList与ArrayList的区别(基本概念、用法、使用场景)原创 2024-08-18 22:19:19 · 628 阅读 · 0 评论 -
java基础02—接口与抽象类的区别
接口与抽象类的区别(定义、语法、使用场景、代码实现)原创 2024-08-09 00:27:33 · 1179 阅读 · 0 评论 -
java基础01—根据源码分析128陷阱以及如何避免128陷阱
根据源码分析128陷阱以及如何避免128陷阱原创 2024-07-09 12:27:59 · 340 阅读 · 0 评论
分享