摘要:
JVM(Java Virtual Machine,Java 虚拟机)是 Java 程序运行的虚拟计算机,它是一个抽象计算机的概念,为 Java 程序提供了一个与平台无关的执行环境。JVM 负责加载 Java 类文件,执行字节码,并提供运行时环境,包括内存管理、垃圾回收等。 JVM 主要由四大部分组成 阅读全文
摘要:
Java集合类主要由两个接口Collection和Map派生出来的,Collection有三个子接口:List、Set、Queue。 Collection:最基本的集合接口,代表一组元素的集合。 List:代表有序的、可重复的元素。 Set:代表不可重复的的集合。 Queue: 代表队列 Map:存 阅读全文
摘要:
AVL树(Adelson-Velsky and Landis Tree),也称为高度平衡二叉搜索树,是一种自平衡的二叉搜索树。在AVL树中,每个节点的左子树和右子树的高度最多相差1。如果任何时候节点的左右子树高度差超过1,就会通过旋转操作来重新平衡树。 AVL树的性质: 每个节点的左子树和右子树的高 阅读全文
摘要:
红黑树是一种自平衡的二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。以下是红黑树的一些关键特性和操作的图文详解: 红黑树的特性: 节点颜色:节点是 阅读全文
摘要:
HashMap 的扩容机制是 Java 集合框架中的一个关键特性,它确保了 HashMap 能够在保持高效性能的同时处理动态变化的数据集。以下是 HashMap 扩容机制的详细解释: 扩容触发条件: 当 HashMap 中的元素数量超过阈值(threshold)时,HashMap 会进行扩容。阈值是 阅读全文
摘要:
哈希表(Hash Table),也称为散列表,是一种通过哈希函数将键(Key)映射到表中一个位置以便快速访问记录的数据结构。哈希表在计算机科学中广泛应用,用于快速数据检索、数据库索引、缓存实现等场景。 哈希表的工作原理: 哈希函数: 哈希表使用哈希函数将键转换为索引值。理想的哈希函数能够将键均匀分布 阅读全文
摘要:
什么是反射 Java 反射机制是 Java 语言的一个特性,它允许程序在运行时访问、检查和修改它自己的结构,例如类、接口、属性和方法。反射机制使得 Java 程序能够动态地创建对象、调用方法、修改字段值等,而不需要在编译时就知道具体的类信息。 提供反射支持主要是Class和java.lang.ref 阅读全文
摘要:
实现克隆的两种方式 实现Cloneable接口并重写Object类中的clone()方法 实现Serializable接口,通过对象的序列化和反序列化实现克隆。可以实现真正的深度克隆 浅克隆(Shallow Cloning)和深克隆(Deep Cloning)的区别 浅克隆 浅克隆在复制对象时,创建 阅读全文
摘要:
Java异常体系的层次结构 Java异常体系的最顶层是Throwable类,Throwable类是Java语言中所有错误和异常的超类。 Throwable类有两个直接子类:Error和Exception Error类:是程序运行时无法处理的问题,通常是严重的系统问题,如内存溢出(OutOfMemor 阅读全文
摘要:
什么是面向对象 面向对象(Object-Oriented,OO)是一种编程范式,它将现实世界中的实体抽象为对象,并通过这些对象的交互来设计和构建软件系统。面向对象的核心概念是“对象”,每个对象都是数据和操作这些数据的方法的封装体。 面向对象编程三大基本特性 众所周知,三大特性有四个。|-_-| 抽象 阅读全文