Java的学习路线图-第二阶段JavaSE阶段
Java的学习路线图,由简到繁,由易到难,一步步的学习,最后成为Java开发工程师
面向对象编程(基础)
1. 面向过程和面向对象区别 | 2. 类和对象的概述 | 3. 类的属性和方法 | 4. 创建对象内存分析 | 5. 构造方法(Construtor)及其重载 | 6. 对象类型的参数传递 | 7. this关键字详解 | 8. static关键字详解 | 9. 局部代码块、构造代码块和静态代码块 | 10. package和import详解 | 11. JavaDoc生成API文档
学习目标
1. 了解面向对象和面向过程编程思想及其区别 | 2. 理解类和对象的概念,以及两者之间的关系 | 3. 掌握类的成员变量和成员方法 | 4. 掌握成员变量和局部变量区别 | 5. 掌握对象的创建过程和内存分析 | 6. 掌握构造方法的语法、特点及构造方法重载 | 7. 掌握基本数据类型传递和引用数据类型传递的区别 | 8. 理解this的本质 | 9. 理解static修饰属性和方法的作用 | 10. 了解局部代码块、构造代码块的执行和作用 | 11. 掌握静态代码块的的执行和作用 | 12. 了解包的概念及好处,了解导包的概念 | 13. 了解使用JavaDoc生成API文档
面向对象编程(进阶)
1. 面向对象的三大特性 | 2. 面向对象之--封装(Encapsulation) | 3. 访问权限修饰符 | 4. 面向对象之--继承(Inheritance) | 5. Object类 | 6. 方法重写Override | 7. super关键字详解 | 8. 重写equals()和toString() | 9. 继承中对象创建的内存分析 | 10. 组合 | 11. 面向对象之--多态(Polymorphism) | 12. 向上转型 | 13. 向下转型 | 14. instanceof运算符 | 15. 编译时和运行时详解 | 16. final修饰符 | 17. 抽象类和抽象方法(abstract) | 18. 接口的定义和实现 | 19. JDK8的接口新特性 | 20. 接口应用:内部比较器Comparable | 21. 内部类详解 | 22. Java的内存管理与垃圾回收
学习目标
1. 理解封装的好处和JavaBean的规范 | 2. 掌握四种访问权限 | 3. 理解继承的思想和好处 | 4. 掌握重写的意义和规范,区分重写和重载 | 5. 掌握super关键字的使用,以及super和this的区别 | 6. 掌握继承体系下对象的创建过程和内存分析 | 7. 了解继承和组合所表述的关系,合理的使用继承和组合 | 8. 掌握多态的原理、发生多态的条件和多态的使用场合 | 9. 掌握向下转型和向上转型,以及instanceof运算符的使用 | 10. 掌握final关键字的使用和Object类中的常见方法 | 11. 掌握抽象类和抽象方法的特点和使用 | 12. 掌握接口的定义和实现,以及接口和抽象类的区别 | 13. 了解面向接口编程思想,掌握比较器的运用 | 14. 了解内部类的定义和特点 | 15. 了解Java的内存管理和垃圾回收机制
异常机制
1. 异常的概述 | 2. 异常的执行过程分析 | 3. try-catch-finally捕捉异常 | 4. throw抛出异常 | 5. throws声明异常 | 6. 异常继承体系 | 7. 运行时异常和编译异常 | 8. 自定义异常
学习目标
1. 了解异常的结构体系和分类(Error和Exception) | 2. 了解Error错误类,以及常见的Error错误 | 3. 掌握使用try-catch-finally处理异常并理解其执行过程 | 4. 掌握使用throw抛出异常 | 5. 掌握使用throws声明异常 | 6. 掌握Exception体系 | 7. 了解自定义异常类的定义和使用
Java常用类
1. Wrapper包装类 | 2. 自动装箱和自动拆箱 | 3. 包装类的源码分析 | 4. String类的使用与内存原理 | 5. String类的源码分析 | 6. StringBuffer | 7. StringBuilder | 8. 字符串处理类性能分析 | 9. Date类 | 10. System类 | 9. DateFormat类 | 10. Calendar类 | 11. Math类 | 12. BigInteger类和BigDecimal类 | 13. Random类 | 14. 枚举类型 | 15. File类 | 16. 常见的面试题讲解与分析
学习目标
1. 掌握Java的八种基本数据类型的包装类 | 2. 理解Integer类的源码 | 3. 掌握String类的使用 | 4. 掌握Stringbuffer和StringBuilder的常用方法 | 5. 掌握Stringbuffer和Stringbuilder的区别和联系 | 6. 理解String和StringBuffer的源码 | 7. 掌握Date、DateFormat的使用 | 8. 了解Calendar类 | 9. 了解Math、Random类基本用法 | 10. 了解BigInteger类和BigDecimal类的基本用法 | 11. 了解枚举的特点和使用 | 12. 掌握File类的使用
数据结构和算法
1. 数据结构的概述 | 2. 线性表 | 3. 顺序表 | 4. 链表 | 5. 栈和队列 | 6. 树 | 7. 二叉树 | 8. 二叉查找树 | 9. 二叉平衡树 | 10. 红黑树 | 11. 图 | 12. 冒泡排序 | 13. 选择排序 | 14. 递归 | 15. 折半查找
学习目标
1. 理解什么是数据结构及其分类 | 2. 理解线性表的概念 | 3. 掌握顺序表和链表的特点和优缺点 | 4. 了解栈和队列 | 5. 理解树和二叉树的概念 | 6. 理解二叉查找树、二叉平衡树和红黑树的概念 | 7. 了解图 | 8. 掌握冒泡排序 | 9. 掌握选择排序 | 10. 掌握递归的思想和使用 | 11. 掌握折半查找
集合(容器)
1. 集合和数组的联系和区别 | 2. 集合框架体系 | 3. ArrayList的使用和源码分析 | 4. 集合中使用泛型 | 5. LinkedList的使用和源码分析 | 6. HashSet的使用和源码分析 | 7. 哈希表及其原理 | 8. TreeSet的使用和源码分析 | 9. 比较器Comparable和Comparator | 10. HashMap的使用和源码分析 | 11. TreeMap的使用和源码分析 | 12. Iterator与ListIterator | 13. Collections工具类 | 14. 旧集合类Vector、Hashtable | 15. 集合总结和选择依据 | 16. 泛型接口 | 17. 泛型类 | 18. 泛型方法
学习目标
1. 掌握容器的概念和体系结构 | 2. 掌握List接口以及List接口子类的底层数据结构 | 3. 掌握Set接口以及Set接口子类的的底层数据结构 | 4. 掌握HashMap的基本用法以及底层数据结构 | 5. 掌握TreeMap的基本用法以及底层数据结构 | 8. 掌握Iterator迭代器的迭代过程 | 9. 了解ListIterator的特点和使用 | 10. 了解Collections工具类 | 11. 了解Vector、Hashtable | 12. 掌握泛型在集合中的用法 | 13. 掌握集合在实际开发中的选择依据 | 14. 了解泛型的定义
IO流
1. IO流的概念 | 2. IO流的分类及其原理分析 | 3. 文件流FileInputStream、FileOutputStream | 4. 缓冲流BufferedInputStream、BufferedOutputStream | 5. 数据流DataInputStream、DataOutputStream | 6. 对象流ObjectInputStream、ObjectOutputStream | 7. 序列化和反序列化 | 8. 转换流InputStreamReader、OutputStreamWriter | 9. 打印流PrintWriter和PrintStream | 10. 数组流ByteArrayOutputStream、ByteArrayInputStream | 11. 使用IO流复制文件夹
学习目标
1. 了解IO流的概念以及分类 | 2. 掌握文件流和缓冲流 | 3. 理解数据流和对象流 | 4. 掌握对象序列化和反序列化的实现和原理 | 5. 了解其它IO流 | 6. 掌握通过IO流实现文件夹的复制
反射和注解
1. Java反射机制的研究与应用 | 2. 反射的原理分析 | 3. 开启反射的源头Class | 4. 获取Class实例的几种方式比较 | 5. 从Class中获取类的结构信息 | 6. Constructor | 7. Field | 8. Method | 9. 使用反射突破泛型的限制 | 10. 使用反射读取泛型 | 11. 使用反射获取数组元素类型 13. 注解的作用 | 14. 内置注解 15. 元注解 | 16. 自定义注解 | 17. 使用反射读取注解
学习目标
1. 了解反射的运行原理以及概念 | 2. 掌握Class类对象的实现方式 | 3. 掌握Class类的常用方法 | 4. 掌握Constructor、Method、Field类的用法 | 5. 理解内置注解和元注解 | 6. 理解自定义注解 | 7. 理解使用反射读取注解
多线程
1. 进程和线程 | 2. 线程的创建与启动 | 3. 创建线程的三种方式对比 | 4. 线程的生命周期 | 5. 线程控制 | 6. 多线程的安全问题与解决办法 | 7. 线程的同步:同步代码块 | 8. 线程的同步:同步方法 | 9. 线程的同步:Lock锁 | 10. 线程的死锁问题 | 11. 线程通信 | 12. Condition | 13. 线程的完整生命周期 | 14. 线程池ThreadPoolExecutor | 15. ForkJoin框架 | 16. ThreadLocal类
学习目标
1. 理解进程和线程的概念及其区别 | 2. 掌握多线程3种创建方式 | 3. 了解多线程的控制方法 | 4. 掌握多线程的生命周期 | 5. 掌握同步的三种实现方式 | 6. 了解死锁的概念 | 7. 理解线程通信 | 8. 掌握线程池 | 9. 了解ForkJoin框架 | 10. 理解ThreadLocal类
网络编程
1. 计算机网络基础知识 | 2. 网络通信协议 | 3. OSI参考模型 | 4. TCP/IP参考模型 | 5. 数据的封装与拆封原理解析 | 6. TCP协议 | 7. UDP协议 | 8. IP地址和端口号 | 9. URL和Socket | 10. 使用TCP编程实现登录功能 | 11. 使用UDP编程实现客服系统 | 12. 使用TCP编程实现上传文件
学习目标
1. 了解网络编程基础知识 | 2. 了解OSI的七层参考模型 | 3. 掌握数据的封装金额拆分原理 | 4. 理解TCP/IP协议栈 | 5. 掌握IP地址和端口号 | 6. 理解TCP协议和UDP协议 | 7. 能够使用TCP编程实现用户登录功能 | 8. 能够使用UDP编程实现在线客服功能 | 9. 能够使用TCP编程实现上传文件功能
多线程提升训练
1. 生产者消费者模式扩展 | 2. Lock锁和Condition | 3. ReadWriteLock | 4. BlockingQueue | 5. volatile关键字 | 6. 多线程题目练习 | 7. JDK新特征 | 8. 面试题讲解
学习目标
1. 理解生产者消费者模式的扩展实现 | 2. 理解Lock锁和Condition | 3. 了解ReadWriteLock | 4. 了解BlockingQueue | 5. 理解volatile关键字 | 6. 了解JDK的新特征
设计模式
1. 设计模式入门 | 2. 面向对象设计七大原则 | 3. 简单工厂模式 | 4. 工厂方法模式 | 5. 单例模式 | 6. 原型模式 | 7. 装饰模式 | 8. 适配器模式 | 9. 外观模式
学习目标
1. 了解设计模式的作用和分类 | 2. 理解面向对象设计的七大原则尤其是开闭原则 | 3. 掌握简单工厂模式 | 4. 掌握工厂方法模式 | 5. 掌握单例模式 | 6. 掌握原型模式 | 7. 掌握装饰模式 | 8. 理解适配器模式 | 9. 掌握外观模式
想要系统学习JAVA的推荐
