结盟众多企业“教练”, 共同设计、开发及提供人才培养解决方案,通过新颖多样的学习方式,针对性的定制化内容,助力企业全面提升竞争优势。
刘捷
5天
20000元/天
一、为什么需要该课程
从诞生之初直至现在,Java一直是最流行的编程语言之一。而在计算机世界里,变化是常态。几年的时间,计算机世界就可能发生天翻地覆的变化。处理器处理能力的增长,网络带宽的增长,以及编程方法论的进步等,意味着如今的开发环境与几年前发生了不小的变化,遑论20年前。这么多年以来,Java一直保持着旺盛的生命力,被众多公司采纳,受到众多程序员的喜爱,这自然与其不断地根据外界的变化调整更新自身的能力密切相关。
Java的最新发布版本是Java SE 9,对应的Java开发人员工具包为JDK 9。相比以前的版本添加了几个新特性,比如极为重要的lambda表达式,以及java.util.stream包中提供的流API。另外也在其他地方做了重要更新,比如允许接口方法具有默认实现。这些新的特性无疑会让程序员的工作变得十分方便,不过这也意味着程序员要改变固有的思维方式,在更适合使用新特性的地方积极运用它们。考虑到这些特性的重要性,本课程用了大量时间的来探讨这些新特性。
Java是一门生命力极强的语言,可以预见未来仍会随着开发环境的变化继续升级。希望读者通过本书,能够牢固地掌握Java的基础知识和思维方式,从而在Java推出新功能时,能够迅速掌握并加以运用!
该课程适应于各类开发人员技术人员.面向有编程经验的软件开发工程师,具有一定面向对象分析与编程基础,熟练使用过其他语言(如C语言,C++,VB等)等
二、课程内容安排(5天时间)
主题 | 培训内容 |
---|---|
第1单元 Java体系介绍 |
内容一:Java语言概述和JVM虚拟机体系 1. Java语言概述 2. Java虚拟机概述 3. Java虚拟机的体系结构 4. Java虚拟机内存管理机制 |
第2 Java8和Java9新特性 |
内容一:Java 8新特性 1. Java 8是Java自Java 5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。 2. Lambda表达式和函数式接口 3. 接口的默认方法和静态方法 4. 方法引用 5. 重复注解 6. 更好的类型推断 7. 拓宽注解的应用场景 8. Java编译器的新特性 9. Java官方库的新特性 10. Optional/Streams/Date/Time 11. Nashorn JavaScript引擎 12. 并行数组 13. 并发性 14. 新的Java工具 15. Nashorn引擎:jjs 16. 类依赖分析器:jdeps 17. JVM的新特性 18. 通过大量项目案例分析,什么是好的代码,对好代码新的认识 内容二:Java 9新特性 1. Java 8 发布三年多之后,终于发布Java9。 2. Java 平台级模块系统 3. Linking 4. Java + REPL = jshell 5. JShell : 交互式 Java REPL 6. 改进的 Javadoc 7. 集合工厂方法 8. 改进的 Stream API 9. 私有接口方法 10. 未来是HTTP 2.0 11. 多版本兼容 JAR 12. Java微基准测试套件 13. JVM垃圾收集器新特性 14. 进程API 内容三:Java 10新特性 1. 2018/2019年Oracle即将推出Java 10 2. Java10前瞻新特性 3. 本地变量类型推断 4. 统一JDK仓库 5. 垃圾回收器接口 6. G1的并行Full GC 7. 应用程序类数据共享 8. ThreadLocal握手机制 9. 降低堆栈跟踪取样所带来的影响(如进行profiling)。 10. 减少信号依赖以获得更好的堆栈取样。 11. 通过停止单独线程改进偏向锁。 12. 从JVM移除了一些内存屏障。 |
第3 Java语言核心 |
内容一:Java 语言基础 1. 定义建模的概念:抽象、封装、打包 2. 描述Java技术应用代码的重用 3. 定义类、成员、属性、方法、构造函数和包 4. 使用访问修饰符private和public来进行封装 5. 对特定的目标调用方法 6. 使用Java技术应用开发接口(API)的在线文档 内容二:标识符、关键字和类型 1、 区分正确的和非法的标识符 2、 认识Java技术关键字 3、 列举八种原始类型 4、 定义数值和文本类型的值 5、 定义原始变量和引用变量 6、 声明类类型变量 7、 使用new创建新对象 8、 描述默认的初始化 9、 描述引用变量的意义 10、 描述向类类型赋值的过程 内容三:表达式和流程控制 1、 区分实例和局部变量 2、 描述如何初始化实例变量 3、 了解和修改可能的引用,防止赋值编译器错误 4、 认识、描述并使用Java软件运算符 5、 区分各种原始类型的合法与非法赋值 6、 了解控制语句中的布尔表达式及其用途 7、 认识基类中的赋值兼容性和所需的类型转换 8、 使用if, switch, for, while, 和do语句,以及break与continue标记控制程序中的流程控制 内容四:数组 1、 声明和创建原始类型数组、类数组或数组类型 2、 描述数组成员的初始化 3、 描述如何初始化数组中的成员 4、 确定数组中的成员数 5、 创建多维数组 6、 编写代码,在数组之间复制值 内容五:Java Collection Framework 1、 Java Collection Framework框架介绍 2、 List ,Map ,Set等 3、 将集合的接口与实现分离 4、 Java类库中的集合接口和迭代器接口 5、 具体的集合 6、 链表和数组列表 7、 散列集 8、 树集 9、 对象的比较 10、 队列与双端队列 11、 优先级队列 12、 映射表 13、 专用集与映射表类 14、 集合框架 15、 集合与数组之间的转换 内容六:泛型程序设计 1、 为什么要使用泛型程序设计 2、 定义简单泛型类 3、 泛型方法 4、 类型变量的限定 5、 泛型代码和虚拟机 6、 约束与局限性 7、 泛型类型的继承规则 8、 通配符类型 9、 反射和泛型 10、 虚拟机中的泛型类型信息 内容七:Java异常处理和断言 11、 定义异常 12、 使用try, catch, 和finally语句 13、 描述异常类别 14、 了解普通的异常 15、 开发程序,处理自有的异常 16、 使用断言 17、 区分断言的适当和不当使用 18、 运行时启用断言 内容八:Java文件处理 1、 流与文件 2、 流 3、 文本输入与输出 4、 读入和写出二进制数据 5、 ZIP文档 6、 对象流与序列化 7、 文件管理 8、 新I/O 9、 正则表达式 10、 文件加锁机制 内容九:Java网络编程 1、 连接到服务器 2、 Socket套接字超时 3、 Java实现网络服务器 4、 java发送E-Mail 5、 Java实现聊天室 6、 Java与HTTP服务器 7、 Java建立URL连接 |
第4 Java函数式编程 |
内容一:Java函数式编程 1. 什么是函数式编程 2. Lambda 表达式 3. 第一个Lambda 表达式 4. 如何辨别Lambda 表达式 5. 流 6. 将现有代码库和库代码Lambda化 7. 学习Lambda表达式单元测试和调试的实践解决方案 8. 用Lambda表达式实现面向对象编程的SOLID原则 9. 编写能有效执行消息传送和非阻塞I/O的并发应用 10. 设计和架构的原则 11. Lambda 表达式改变了设计模式 12. 使用Lambda 表达式的领域专用语言 13. 使用Lambda 表达式的SOLID 原则 14. 使用Lambda 表达式编写并发程序 内容二:面向对象和函数式编程的混合-java与Scala 1. Java8和Scala的比较 2. Scala简介 3. 函数 4. Scala中的一等函数 5. 匿名函数和闭包 6. 类和trait 7. 更加简洁的Scala类 8. Scala的trait与Java8的接口对比 |
第5 Java语言和面向对象 |
内容一:面向对象基本原则 1. 面向对象基本原则概述 2. SRP:单一职责原则 3. OCP:开放-封闭原则 4. LSP:Liskov替换原则 5. DIP:依赖倒置原则 6. ISP:接口隔离原则 内容二:Java面向对象技术 1、 定义继承、多态、重载、虚拟方法调用 2、 使用访问修饰符protected和default (包内友好) 3、 描述构造函数和方法重载的概念 4、 描述完整对象创建和初始化工作 5、 创建静态变量、方法和初始化 6、 创建final类、方法和变量 7、 创建并使用枚举类型 8、 使用静态导入语句 9、 创建抽象类和方法 10、 创建并使用接口 内容三:java接口与内部类 1、 java接口 2、 接口的特性 3、 接口与抽象类 4、 接口与回调 5、 内部类 6、 匿名内部类 7、 静态内部类 8、 代理 内容四:面向对象核心设计模式 A、 创建型模式 i. Singleton模式 ii. Builder模式 iii. Simple Factory模式 iv. Factory Method模式 B、 行为型模式 i. Template Method ii. Strategy iii. State iv. Observer v. Chain of Responsibility vi. Command vii. Iterator C、 结构型模式 i. Adapter ii. Bridge iii. Facade iv. Composite v. Decorator vi. Proxy |
第6 Java多线程 |
内容一:多线程核心原理 1. 并发简史 2. 线程的优势 3. 线程带来的风险 4. 线程无处不在 5. 线程安全性 6. 原子性 7. 加锁机制 8. 用锁来保护状态 9. 对象的共享 内容二:java多线程核心原理 1. Java并发机制的底层实现原理 2. volatile的应用 3. synchronized的实现原理与应用 4. 锁的升级与对比 5. Java并发编程基础 6. java线程优先级/线程的状态/Daemon线程 7. java线程间通信 8. 线程应用实例 9. Java中的锁 10. 队列同步器 11. Java并发容器和框架 12. ConcurrentHashMap的实现原理与使用 13. Java中的13个原子操作类 14. Java中的并发工具类 15. Java中的线程池 16. Executor框架 17. Java并发编程实践 |
第7 Java内存和JVM核心 |
内容一:java内存原理 1. Java内存模型 2. Java内存模型的基础 3. Java内存模型的抽象结构 4. 锁的内存语 5. JVM对Java内存模型的实现 6. Java的并发采用的是共享内存模型 7. 支撑Java内存模型的基础原理 内容二:Java虚拟机JVM架构 1. Java虚拟机架构 2. class文件格式 3. 数据类型 4. 引用类型与值 5. 运行时数据区 6. 栈帧 7. 字节码指令集简介 8. Java虚拟机编译器 9. 加载、链接与初始化 10. Java虚拟机指令集 |
第8 java与数据库访问 |
内容一:Java数据存取技术-JDBC 1. Java数据库编程 2. JDBC的设计 3. JDBC驱动程序类型 4. SQL结构化查询语言 5. JDBC配置 6. 数据库连接池 7. 执行SQL语句 8. 管理连接、语句和结果集 9. JDBC执行查询操作 10. JDBC可滚动和可更新的结果集 11. 行集 12. JDBC元数据 13. JDBC事务 14. 批量更新 15. 高级SQL类型 内容二:基于ORM数据存取技术-Hibernate和JPA 1. J2EE数据存取技术 2. Hibrnate映射技术 3. Hibernate 对象实体级联 4. Hinbernate缓存处理 5. Hinbernate并发控制与锁的管理 6. Hinbernate事务管理 7. JPA技术概述 8. Hinbernate项目经验 |
第9 java Web开发 |
内容一:J2EE Web技术 1. J2EE平台概述 2. Java EE 新特性 3. Servlet工作原理解析 4. 从Servlet容器说起 5. Servlet容器的启动过程 6. 创建Servlet实例 7. JSP核心原理 8. 使用JSP的原因 9. 结合使用Servlet和JSP 10. JSP标签和JSTL简介 11. 编写自定义标签和函数库 12. 在JSP中使用表达式语言 13. MVC架构模式 14. Web应用的初始化工作 15. 深入理解Session与Cookie 16. 理解Session 17. 分布式Session框架 18. Tomcat的系统架构与设计模式 19. Tomcat总体设计 20. Jetty的工作原理解析 21. 基于J2EE 核心技术的架构 内容二:基于Struts2技术架构 1. 开发基于Struts的Web应用程序 2. 将MVC应用于您的应用程序架构 3. 使用单元测试来测试Struts应用程序 4. 运用重要的Struts最佳实践 5. 使用常用的Struts扩展功能提高生产效率 6. 保护Struts应用程序的安全 内容三:基于Spring MVC技术架构 1. Spring MVC介绍 2. 采用Spring MVC对比Struts2的好处 3. Spring MVC的DispatcherServlet 4. Controller接口 5. Spring MVC应用 6. Spring MVC注解类型 7. 应用基于注解的控制器 8. 数据绑定和form标签库 9. Converter和Formatter 10. 验证器 11. 表达式语言(EL) 内容一:J2EE Web技术 1. J2EE平台概述 2. Java EE 新特性 3. Servlet工作原理解析 4. 从Servlet容器说起 5. Servlet容器的启动过程 6. 创建Servlet实例 7. JSP核心原理 8. 使用JSP的原因 9. 结合使用Servlet和JSP 10. JSP标签和JSTL简介 11. 编写自定义标签和函数库 12. 在JSP中使用表达式语言 13. MVC架构模式 14. Web应用的初始化工作 15. 深入理解Session与Cookie 16. 理解Session 17. 分布式Session框架 18. Tomcat的系统架构与设计模式 19. Tomcat总体设计 20. Jetty的工作原理解析 21. 基于J2EE 核心技术的架构 内容二:基于Struts2技术架构 1. 开发基于Struts的Web应用程序 2. 将MVC应用于您的应用程序架构 3. 使用单元测试来测试Struts应用程序 4. 运用重要的Struts最佳实践 5. 使用常用的Struts扩展功能提高生产效率 6. 保护Struts应用程序的安全 内容三:基于Spring MVC技术架构 1. Spring MVC介绍 2. 采用Spring MVC对比Struts2的好处 3. Spring MVC的DispatcherServlet 4. Controller接口 5. Spring MVC应用 6. Spring MVC注解类型 7. 应用基于注解的控制器 8. 数据绑定和form标签库 9. Converter和Formatter 10. 验证器 11. 表达式语言(EL) |