基础篇
01 面向对象
→ 什么是面向对象面向对象、面向过程面向对象的三大基本特征和五大基本原则→ 平台无关性Java 如何实现的平台无关JVM 还支持哪些语言(Kotlin、Groovy、JRuby、Jython、Scala)→ 值传递值传递、引用传递为什么说 Java 中只有值传递→ 封装、继承、多态什么是多态、方法重写与重载Java 的继承与实现构造函数与默认构造函数类变量、成员变量和局部变量成员变量和方法作用域
02 Java 基础知识
→ 基本数据类型7 种基本数据类型:整型、浮点型、布尔型、字符型整型中 byte、short、int、long 的取值范围什么是浮点型?什么是单精度和双精度?为什么不能用浮点型表示金额?→ 自动拆装箱什么是包装类型、什么是基本类型、什么是自动拆装箱Integer 的缓存机制→ String字符串的不可变性JDK 6 和 JDK 7 中 substring 的原理及区别、replaceFirst、replaceAll、replace 区别、String 对“+”的重载、字符串拼接的几种方式和区别String.valueOf 和 Integer.toString 的区别、switch 对 String 的支持字符串池、常量池(运行时常量池、Class 常量池)、intern→ 熟悉 Java 中各种关键字transient、instanceof、final、static、volatile、synchronized、const 原理及用法→ 集合类常用集合类的使用、ArrayList 和 LinkedList 和 Vector 的区别 、SynchronizedList 和 Vector 的区别、HashMap、HashTable、ConcurrentHashMap 区别Set 和 List 区别?Set 如何保证元素不重复?Java 8 中 stream 相关用法、apache 集合处理工具类的使用、不同版本的 JDK 中 HashMap 的实现的区别以及原因Collection 和 Collections 区别Arrays.asList 获得的 List 使用时需要注意什么Enumeration 和 Iterator 区别fail-fast 和 fail-safeCopyOnWriteArrayList、ConcurrentSkipListMap→ 枚举枚举的用法、枚举的实现、枚举与单例、Enum 类Java 枚举如何比较switch 对枚举的支持枚举的序列化如何实现枚举的线程安全性问题→ IO字符流、字节流、输入流、输出流、同步、异步、阻塞、非阻塞、Linux 5 种 IO 模型BIO、NIO 和 AIO 的区别、三种 IO 的用法与原理、netty→ 反射反射与工厂模式、反射有什么用Class 类、java.lang.reflect.*→ 动态代理静态代理、动态代理动态代理和反射的关系动态代理的几种实现方式AOP→ 序列化什么是序列化与反序列化、为什么序列化、序列化底层原理、序列化与单例模式、protobuf、为什么说序列化并不安全→ 注解元注解、自定义注解、Java 中常用注解使用、注解与反射的结合Spring 常用注解→ JMS什么是 Java 消息服务、JMS 消息传送模型→ JMXjava.lang.management.*、 j
avax.management.*→ 泛型泛型与继承、类型擦除、泛型中 KTVE? object 等的含义、泛型各种用法限定通配符和非限定通配符、上下界限定符 extends 和 superList