Java 核心概念
- equals 与 hashCode 的异同点在哪里?Java 的集合中又是如何使用它们的。 
- 描述下 Java 中集合(Collections),接口(Interfaces),实现(Implementations)的概念。LinkedList 与 ArrayList 的区别是什么? 
- 基础类型(Primitives)与封装类型(Wrappers)的区别在哪里? 
- final 与 static 关键字可以用于哪里?它们的作用是什么? 
- 阐述下 Java 中的访问描述符(Access Modifiers)。 
- 描述下 String,StringBuilder 以及 StringBuffer 区别。 
- 接口(Interface)与抽象类(Abstract Class)的区别在哪里。 
- 覆盖(Overriding)与重载(OverLoading)的区别在哪里。 
- 异常分为哪几种类型?以及所谓的 - handle or declare原则应该如何理解?
- 简述垃圾回收器的工作原理。 
- 你是如何处理内存泄露或者栈溢出问题的? 
- 如何构建不可变的类结构?关键点在哪里? 
- 什么是 JIT 编译? 
- Java 8 / Java 7 为我们提供了什么新功能?即将到来的 Java 9 又带来了怎样的新功能? 

