面试题
A__loser
为人应当锐意进取,不为往事所羁
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 类加载过程
一个 Class 类在JVM 中的生命周期如下: 类加载的过程包含了加载、验证、准备、解析、初始化五个阶段。有时候也会将验证、准备、解析这三个阶段称为链接阶段。 其中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则则不一定,他在某些情况下可以初始化之后开始,这是为了支持 Java 语言的运行时绑定(也称为动态绑定或晚期绑定) 这几个阶段是按顺序开始,而不是按顺序进行或完成的...转载 2019-12-05 20:21:30 · 437 阅读 · 0 评论 -
关于 equals() 和 hashCode()方法
Object 类作为 Java 中所有对象的超类提供了以下方法: 我们来看一看 JDK1.8中对于 equals()方法的描述: 可以看到提醒我们如果重写了 equals()方法一定要重写 hashCode 方法。 我们再来看一看对于 hashCode() 方法的描述: 这个地方说明了三个事: 对同一个对象的多次 hashCode()方法调用应该返回同一个值 一个对象的equals()方法...原创 2019-12-04 20:45:57 · 923 阅读 · 0 评论 -
关于快速失败(fail-fast)和安全失败(fail-safe)的区别
fail-fast和fail-safe比较 Iterator 的安全失败是基于对底层集合做拷贝,因此,它不受集合上的修改的影响。java.util 包下面所有的集合类都是安全失败的。快速失败的迭代器会抛出 ConcurrentModificationException 异常,而安全失败的迭代器永远不会抛出这样的异常。 快速失败示例 import java.util.ArrayList; impor...原创 2019-11-26 20:59:52 · 635 阅读 · 0 评论 -
ArrayList 和 Vector 的区别
首先这两个类都实现了 List 接口,而实现 List 接口一共三个类,Vector、ArrayList 和 LikedList。List 用于存放多个元素,能够维护元素的次序,并且允许元素重复,这三个类之间的相同与不同如下: 底层数据结构区别,ArrayList 和 Vector 底层都通过数组实现,而 LinkedList 则通过链表实现。不同的数据结构决定了他们的特性,利用数组实现的 Ar...原创 2019-11-21 21:02:11 · 241 阅读 · 0 评论
分享