JAVA
.阑
这个作者很懒,什么都没留下…
展开
-
【JAVA】多态机制的底层原理,抽象类与接口
1.多态的条件: 继承,重写,向上转换 2.多态的分类: 编译时多态–编译期就知道要调用哪个方法即重载(静多态) 运行时多态–只有在运行时才能知道要调用哪个方法(动多态) 3.多态的实现 JVM执行字节码文件---->读取字节码文件,将字节码文件中的二进制字节流转换为运行时数据结构----> 先从操作栈中找到对象的实际类型 class; 找到 class 中与被调用方法签名相同的方法...原创 2019-09-29 15:20:30 · 413 阅读 · 0 评论 -
【JAVA】8种排序算法,冒泡排序、直接插入排序、希尔排序、快速排序、选择排序、快排非递归、快排递归、堆排序、归并排序
排序算法( 递归底层实现调用栈) 1)时间复杂度 2)空间复杂度 3)稳定性 4)算法优化 1.冒泡排序 时间复杂度 O(n^2) 空间复杂度 O(1) 稳定性 稳定 //冒泡排序 两两比较 大的往后走 小的往前走 public static void bubbleSort(int[] arr){ if(arr.length == 0 ||...原创 2019-11-24 18:25:39 · 152 阅读 · 0 评论 -
【JAVA】HansMap
哈希表(散列表) 哈希表存储的键值对(key:value),针对任意的key通过哈希算法 转换为固定的位置(数组) key-位置关系并不是一对一,多对一的关系,所以会引发哈希冲突 解决哈希冲突: 数组+链表 链地址法(第一种方式) Map接口中为什么定义equals和hashCode方法在Map中呢? 自定义类型 resize()的条件: 1)table == null || table.len...原创 2019-11-24 17:47:08 · 362 阅读 · 1 评论 -
【JAVA】链表
线性表 1、顺序表——基于数组实现的 数组的缺点: 1)数组需要开发者自己维护下标 2)数组开辟时必须指定数组的长度,如果存放的元素过多,需要开发者自己扩容数组 3)当在数组的某些位置增加和删除元素时,还要编写代码处理元素的移动 2、单链表 1)链表中每个元素包含一个称为节点的结构 2)节点 = 数据域 + 引用域 3)链表是一种物理存储单元上非连续、非顺序的存储结构 4)链表在插入元素可以达到O...原创 2019-10-15 23:58:46 · 141 阅读 · 0 评论 -
【JAVA】递归
递归的思想 递归:你打开面前这扇门,看到屋里面还有一扇门。你走过去,发现手中的钥匙还可以打开它,你推开门,发现里面还有一扇门,你继续打开它。若干次之后,你打开面前的门后,发现只有一间屋子,没有门了。然后,你开始原路返回,每走回一间屋子,你数一次,走到入口的时候,你可以回答出你到底用这你把钥匙打开了几扇门。 循环:你打开面前这扇门,看到屋里面还有一扇门。你走过去,发现手中的钥匙还可以打开它,你...原创 2019-10-15 23:27:12 · 112 阅读 · 0 评论