万物互联时代,5G技术进入人们的视野并逐渐落地,带动大数据
胜任职位:对于JavaSE知识内容属于Java整个编程领域核心,但无法仅凭此阶段技术就具备工作能力,需继续进阶学习并掌握Web阶段开发
月薪范围:4K-6K
课程细类 | 课程内容 | 掌握能力 |
---|
Java概述与环境搭建 |
- Java历史 - Java语言特点 - 运行机制 - 环境搭建 - 个Java程序 - 初始字节码文件 - Javap命令 - 语言规范 - 编译运行指令 - 标识符命名规范 |
- 了解Java语言发展史 - 了解Java语言的特点 –了解 计算机运营机制、Java运营机制 - 掌握环境搭建 - 了解DOS命令 - 掌握手动安装JDK,配置环境变量 - 掌握个java程序 - 掌握Java基本命令 - 掌握Java命名规范 - 了解进制 - 了解进制及其转换 - 了解原码、反码、补码 - 掌握变量的作用和定义的方式 - 能根据实际情况选择使用8种基本数据类型 - Scanner的使用 - 掌握算术运算符、赋值运算符 - 掌握关系运算符和逻辑运算符 - 掌握数据类型之间的转换 |
语言基础 |
- 进制 - 原码 - 反码 - 补码 - 变量 - 数据类型 - 运算符 - 类型转换 - 类型提升 - Scanner入 |
|
选择结构与分支结构 |
- 基本if - if else - 多重if - 嵌套if - switch - break - 局部变量 |
- 掌握if语句和switch语句的区别和使用场合 - 掌握break在switch中的用法以及default语句 - 掌握三种循环的书写格式以及执行顺序 - 掌握break和continue循环流程控制关键字 - 掌握使用循环解决复杂问题 - 掌握嵌套循环的使用与熟悉嵌套的循环的应用场景 |
循环结构 |
- while循环 - do while循环 - for循环 - break关键字 - continue关键字 - 嵌套循环 - label跳转 - 图形打印 |
|
方法/函数 |
- 方法的概念 - 方法的定义 - 方法的组成 - 方法的调用 - 方法的形参与实参 - 方法的返回值类型与返回值 - return的两种用法 - 递归 |
- 掌握方法的组成 - 掌握方法的声明与使用 - 掌握方法的参数定义与使用 - 掌握方法的返回值与return关键字的使用 - 掌握递归的使用与适用问题 - 掌握IDEA集成开发工具的使用 - 掌握数组的创建、基础应用 - 掌握数组的遍历方式 - 了解数组的复制方式、扩容思路 - 了解使用数组实现容器结构问题 - 掌握基本内存结构 - 掌握基本类型与引用类型参数传递的区别 - 方法的可变长参数 - 掌握Arrays工具类提供的常见方法 - 了解二维数组的定义和内存结构分析 - 了解二维数组的应用场景 - 掌握IDEA调试技巧 |
数组(一) |
- IDEA环境使用 - 使用数组的引言 - 数组的概念 - 数组的创建 - 使用 - 复制 - 扩容 - 插入 - 删除 - 数组参数和返回值 - 可变长参数 - 冒泡排序 - 选择排序 - 插入排序 |
|
数组(二) |
- 希尔排序 - 快速排序 - 二分查找 - Arrays工具类 - 二维数组 - 杨辉三角 - IDEA调试技巧 |
|
面向对象基础(一) |
- 生活中的面向对象 - 什么是对象 - 现实与程序中的对象 - 什么是类 - 类的抽取 - 类的定义 - 对象的创建 - 类与对象的关系 - 实例变量 - 实例变量与局部变量的区别 - 实例方法 - Java对象内存分析 - 方法重载 - 构造方法 - 对象创建过程 - 构造方法重载 - 默认构造方法 - 有参构造的作用 - this关键字 |
- 了解面向对象和面向过程编程思想及其区别 - 理解类和对象的概念,以及两者之间的关系 - 掌握类的成员变量和成员方法 - 掌握成员变量和局部变量区别 - 掌握对象的创建过程和内存分析 - 掌握构造方法的语法、特点及构造方法重载 - 掌握基本数据类型传递和引用数据类型传递的区别 - 理解this的本质 |
面向对象基础(二) |
- 什么是封装 - 封装的操作 - 封装的目的 - 生活中的继承 - 程序中的继承 - 父类的选择依据 - 父类的抽象 - 继承语法 - 继承的特点 - 不可继承 - 访问修饰符 - 方法的覆盖/重写 - super关键字 - 继承后的对象创建过程 - this与super的对比 - 生活中的多态 - 程序中的多态 - 多态中的方法覆盖 - 多态的应用场景(一、二) - 装箱、拆箱 - instanceof |
- 理解封装的特点和好处 - 理解继承的思想和好处 - 掌握重写的意义和规范,区分重写和重载 - 掌握继承体系下对象的创建过程和内存分析 - 了解继承和组合所表述的关系,合理的使用继承和组合 - 掌握super关键字的使用,以及super和this的区别 - 掌握多态的原理、发生多态的条件和多态的使用场合 - 掌握向下转型和向上转型 - 掌握instanceof运算符的使用 |
三个关键字 |
- 什么是抽象 - 生活中的抽象 - 抽象类 - 抽象类的作用 - 抽象方法 - 抽象方法的作用 - 什么是静态 - 实例属性和静态属性的对比 - 静态方法 - 静态方法的特点 - 类加载基本概念 - 静态代码块 - 继承关系下带有静态成员的对象创建过程 - final类 - final方法 - final常量 - 局部实例静态常量的赋值时机与deadline - 基本类型常量与引用类型常量的区别 |
- 掌握抽象类和抽象方法的特点和使用 - 理解static修饰属性和方法的作用 - 理解静态代码块的执行时机 - 掌握final关键字的使用 - 理解基本类型常量与引用类型常量 |
接口 |
- 接口的语法 - 与抽象类的异同 - 接口的微观概念 - 接口规范 - 接口引用 - 接口的多态 - 常见关系 - 接口常量 - 接口的宏观概念 - 接口回调 - 接口的好处 - 默认方法 - 静态方法 - 面向对象7大设计原则 |
- 掌握接口的定义和实现,以及接口和抽象类的区别 - 理解接口回调 - 了解面向接口编程思想 - 了解静态方法和默认方法 - 理解面向对象7大设计原则 |
常用类(Object/内部类/包装类/String) |
- 什么是内部类 - 成员内部类 - 静态内部类 - 局部内部类 - 局部内部类访问外部类局部变量 - 局部内部类的应用场景 - 匿名内部类 - Object类 - getClass方法 - hashCode方法 - toString方法 - equals方法 - equals方法重写 - finalize方法 - 什么是包装类 - 8种包装类型 - 装箱和拆箱的常用方法 - 整数类型的缓冲区 - String类 - 字符串的不变性 - 字符串的常用方法 - Java字符串池 - 可变字符串(StringBuilder、StringBuffer) - BigDecimal - Date - Calendar - SimpleDateFormat - Math - Random - System - Runtime |
- 了解内部类的定义和特点 - 掌握Object类中常用方法 - 掌握Java的八种基本数据类型的包装类 - 理解Integer类的源码 - 掌握String类的使用 - 掌握Stringbuffer和StringBuilder的常用方法 - 掌握Stringbuffer和Stringbuilder的区别和联系 - 理解String和StringBuffer的源码 - 掌握Date、DateFormat的使用 - 了解Calendar类 - 了解Math、Random类基本用法 - 了解BigInteger类和BigDecimal类的基本用法 - 了解System、Runtime类的使用 |
集合(一) |
- 什么是集合 - Collection体系集合 - Collection父接口 - List子接口 - ArrayList - ArrayList源码分析 - LinkedList - LinkedList源码分析 - Vector - Stack - Queue - 线性表与链表的区别和优劣 - 实现链表数据结构 - 泛型特性 - 泛型集合 - Collections工具类 |
- 掌握集合的概念和体系结构 - 掌握List接口以及List接口子类的底层数据结构 - 了解ArrayList、LinkedList底层源码 - 掌握Iterator迭代器的迭代过程 - 了解ListIterator的特点和使用 - 了解Vector、Statck、Queue - 掌握泛型在集合中的用法 - 掌握集合在实际开发中的选择依据 - 了解泛型的定义 - 了解Collections工具类 |
集合(二) |
- Set子接口 - HashSet - HashSet去重原理 - 重写hashCode与equals - LinkedHashSet - TreeSet - TreeSet去重原理 - 实现查找二叉树数据结构 - Map体系 - Map父接口 - HashMap - HashMap源码分析 - Hashtable - Properties - TreeMap |
- 掌握Set接口以及Set接口子类的的底层数据结构 - 掌握HashSet的去重原理 - 了解LinkedHashSet、TreeSet - 了解查找二叉树 - 掌握HashMap的基本用法 - 掌握HashMap的底层原理 - 掌握TreeMap的基本用法以及底层数据结构 - 了解Hashtable、Properties |
异常 |
- 什么是异常 - 异常体系分类 - 异常的产生 - 异常的传递 - throws - 异常的处理(try、catch、finally) - 常见的处理结构 - 自定义异常 - 带有异常声明的方法覆盖 |
- 了解异常的结构体系和分类(Error和Exception) - 了解Error错误类,以及常见的Error错误 - 掌握使用try-catch-finally处理异常并理解其执行过程--- 掌握使用throw抛出异常 - 掌握使用throws声明异常 - 掌握Exception体系 - 了解自定义异常类的定义和使用 |
多线程(一) |
- 什么是进程 - 什么是线程 - 线程的组成 - 创建线程的两种基本方式 - 线程状态(4状态) - 常见方法 - 线程状态(5状态) - 线程安全问题、 - 同步代码块 - 同步方法 - 线程状态(6状态) |
- 理解进程和线程的概念及其区别 - 掌握多线程创建方式 - 了解多线程的控制方法 - 掌握多线程的生命周期 - 理解线程安全问题 - 掌握同步代码块和同步方法 |
多线程(二) |
- 死锁问题 - 生产者消费者 - 线程通信(wait、notify、notifyAll) - 线程池概念 - 线程池原理 - 线程池相关接口与类 - Callable接口 - Future接口 - Lock接口 - 重入锁 - 读写锁 - 线程安全集合 - Collections工具获得线程安全集合 - CopyOnWriteArrayList - CopyOnWriteArraySet - ConcurrentHashMap - 三个集合的源码 - 分析Queue接口 - ConcurrentLinkedQueue - CAS比较交换算法 - BlockingQueue接口 - ArrayBlockingQueue - LinkedBlockingQueue - volitale关键字 - 原子变量 - 并发工具类CyclicBarrier - CountDownLatch - Semaphore |
- 理解死锁产生的原因 - 理解生产者消费者模式的扩展实现 - 理解线程通信 - 掌握wait、notify、notifyAll方法的使用 - 掌握线程池的使用 - 了解Callable接口、Future接口的使用 - 理解Lock锁和Condition - 了解重入锁、读写锁的使用 - 了解线程安全集合的使用 - 理解CAS算法 - 理解volatile关键字 - 了解原子变量 - 了解并发工具类CyclicBarrier、CountDownLatch、Semaphore的使用 |
I/O框架 |
- File - 流的概念 - 流的分类 - 字节流 - 字节节点流 - 字节过滤流 - 对象序列化 - 内存流 - FileFilter - 字符编码 - 字符流 - 字节过滤流 - 流的标准使用步骤 - RandomAccessFile - 重定向标准输出流 - 装饰者设计模式 |
- 了解IO流的概念以及分类 - 掌握文件流和缓冲流 - 理解数据流和对象流 - 掌握对象序列化和反序列化的实现和原理 - 掌握通过IO流实现文件夹的复制 - 了解RandomAccess的使用 - 了解重定向标准输出流 - 理解装饰者设计模式 |
网络编程 |
- 什么是网络 - 什么是计算机网络 - 网络模型 - TCP/IP模型 - TCP/UDP - IP - IPV4应用分类 - Port端口 - InetAddress类 - 基于TCP的网络编程 - 开发步骤 - 客户端上传文件 - 聊天室实现 - UDP协议 |
- 了解网络编程基础知识 - 了解OSI的七层参考模型 - 理解TCP/IP协议栈 - 理解TCP协议和UDP协议 - 掌握IP地址和端口号 - 掌握基于TCP的网络编程步骤 - 能够使用TCP编程实现用户登录功能 - 能够使用UDP编程实现在线客服功能 - 能够使用TCP编程实现上传文件功能 |
I/O |
- NIO概述 - Buffer基本操作 - Buffer实现原理 - FileChannel的使用 - 使用NIO实现非阻塞网络编程 - AIO概述 - BIO NIO BIO区别 - AIO使用案例 |
- 理解NIO的概念 - 掌握Buffer的实现原理及使用 - 掌握FileChannel的使用 - 了解非阻塞网络编程 - 掌握AIO的使用步骤 - 了解BIO、NIO、BIO区别 |
反射 |
- 什么是类对象 - 获取类对象 - Class的常用方法 - 基于反射的通用编程 - 工厂模式 - 单例模式 - 注解 - 枚举 |
- 了解反射的运行原理以及概念 - 掌握Class类对象的实现方式 - 掌握Class类的常用方法 - 掌握Constructor、Method、Field类的用法 - 了解常见设计模式、简单工厂、单例设计模式 - 理解内置注解和元注解 - 理解自定义注解 - 理解使用反射读取注解 - 理解枚举的本质 |
JDK8 |
- Java8概述 - Lambda表达式 - 函数式接口 - 方法引用 - Stream特点 - Stream使用步骤 - Stream API - Date Time API(LocalDate 、LocalTime 、LocalDateTime) - Optional类 |
- 掌握Lambda表达式的使用 - 了解常见函数式接口 - 了解方法引用 - 掌握Stream API的使用步骤 - 了解JDK8新时间LocalDateTime等的使用 - 理解Optional类的使用 |
JVM |
- JVM类加载机制 - Java运行时数据区(虚拟机栈、本地方法栈、程序计数器、堆、方法区、直接内存) - 垃圾判定(引用计数法、可达性分析法) - 垃圾回收算法(复制算法、标记清除、标记整理、分代收集) - 对象引用(强、软、弱、虚) - 常见垃圾回收器 - 栈上分配 - 逃逸分析 - TLAB - Javap+代码落地+分析图 |
- 理解class文件构成、类加载机制 - 了解Java运行时数据区组成:虚拟机栈、本地方法栈、程序计数器、堆、方法区、直接内存 - 掌握垃圾判定算法 - 了解对象引用:强、软、弱、虚 - 了解常见垃圾回收器 - 了解栈上分配优点 - 了解逃逸分析 - 了解TLAB的作用 |