摘要: HashMap和HashTable有什么区别?其底层实现是什么? 1. 区别︰ HashMap方法没有synchronized修饰,线程非安全,HashTable线程安全; HashMap允许key和value为null,而HashTable不允许 ⒉.底层实现:数组+链表实现 jdk8开始链表高度 阅读全文
posted @ 2021-07-08 15:28 碧溪 阅读(261) 评论(0) 推荐(0)
摘要: ArrayList和LinkedList区别 ArrayList: 基于动态数组,连续内存存储,适合下标访问(随机访问), 扩容机制:因为数组长度固定,超出长度存数据时需要新建数组,然后将老数组的数据拷贝到新数组,如果不是尾部插入数据还会涉及到元素的移动(往后复制一份,插入新元素),使用尾插法并指定 阅读全文
posted @ 2021-07-08 14:51 碧溪 阅读(52) 评论(0) 推荐(0)
摘要: hashCode 和 Equals hashCode介绍 hashCode()的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashCode()定义在JDK的 Object.,java中,Java中的任何类都包含有hashCode( 阅读全文
posted @ 2021-07-08 14:16 碧溪 阅读(52) 评论(0) 推荐(0)
摘要: List 和 Set List: 有序,按对象进入的顺序保存对象,可重复,允许多个Null元素对象,可以使用lterator取出所有元素,在逐—遍历,还可以使用get(int index)获取指定下标的元素 Set: 无序,不可重复,最多允许有一个Null元素对象,取元素时只能用lterator接口 阅读全文
posted @ 2021-07-08 13:54 碧溪 阅读(50) 评论(0) 推荐(0)
摘要: 接口和抽象类的区别 抽象类可以存在普通成员函数,而接口中只能存在public abstract方法。 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。 抽象类只能继承一个,接口可以实现多个。 接口的设计目的,是对类的行为进行约束(更准确的说是 阅读全文
posted @ 2021-07-07 20:33 碧溪 阅读(88) 评论(0) 推荐(0)
摘要: 重载和重写的区别 重载: 发生在同一个类中,方法名必须相同,参数类型不同.个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。 重写: 发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为pr 阅读全文
posted @ 2021-07-07 20:32 碧溪 阅读(96) 评论(0) 推荐(0)
摘要: String 、StringBuffer 、 StringBuilder string是final修饰的,不可变,每次操作都会产生新的String对象StringBuffer和StringBuilder都是在原对象上操作 StringBuffer是线程安全的,StringBuilder线程不安全的s 阅读全文
posted @ 2021-07-07 20:31 碧溪 阅读(33) 评论(0) 推荐(0)
摘要: final 最终的 修饰类:表示类不可被继承 修饰方法:表示方法不可被子类覆盖,但是可以重载 修饰变量:表示变量—旦被赋值就不可以更改它的值。 (1)修饰成员变量 ·如果final修饰的是类变量,只能在静态初始化块中指定初始值或者声明该类变量时指定初始值。 ·如果final修饰的是成员变量,可以在非 阅读全文
posted @ 2021-07-07 20:29 碧溪 阅读(178) 评论(0) 推荐(0)
摘要: == 和 equals == 对比的是栈中的值,基本数据类型是变量值,引用类型是堆中内存对象的地址 equals: object中默认也是采用==比较,通常会重写 object pub1ic boolean equa1s(object obj) { return (this == obj); } S 阅读全文
posted @ 2021-07-07 20:27 碧溪 阅读(36) 评论(0) 推荐(0)
摘要: JDK: Java Develpment Kit java开发工旱 JRE: Java Runtime Environment java运行时环境 JVM: java Virtual Machine java虚拟机 阅读全文
posted @ 2021-07-07 20:20 碧溪 阅读(33) 评论(0) 推荐(0)