1. JVM相关(包括了各个版本的特性)
  JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎是一个必问的问题了。当然JVM不是决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。
  2. Java的运行
  javac 编译java文件为 class 文件
  java 命令的使用, 带package的java类如何在命令行中启动
  java程序涉及到的各个路径(classpath, java。library。path, java运行的主目录等
  3. 数据类型
  基本类型: int, long, float, double, boolean , 。。。
  对应的对象类型: Integer 等类型到基本类型的转换, 装箱和拆箱
  Object类型: equals, hashcode
  String 类型的特点
  4. 对象和实例,对象的创建
  无继承:分配内存空间, 初始化变量, 调用构造函数
  有继承:处理静态动作, 分配内存空间, 变量定义为初始值 , 从基类->子类, 处理定义处的初始化, 执行构造方法
  5. 面向对象编程的概念
  面向对象三大特性:封装,继承,多态; 各自的定义概念,有哪些特性体现出来,各自的使用场景
  静态多分派,动态单分派的概念
  重载的概念和使用
  继承:接口多实现,基类单继承
  抽象,抽象类,接口
  多态:方法覆盖的概念和使用
  接口回调
  6. Static
  静态属性的定义,使用,以及类加载时如何初始化
  静态方法的定义和使用
  静态类的定义和使用
  静态代码块的定义和初始化时机
  7.集合框架
  集合框架的体系: 基础Collection ,Map
  具体集合实现的内容, List ,Set ,Map 具体的实现,内部结构, 特殊的方法, 适用场景等
  集合相关的工具类 Collections 等的用法