课程信息
  • 课程首页
  • 拼团活动
  • 专业套餐
  • 优惠活动
  • 我的课程
  • 站内消息
  • 站内提醒
  • 我的钱包
  • 道具 | 抵价券
  • 登录


【快班】基于案例学Java服务器端程序设计

编程技术

10周

20人

此课程所属【大数据攻城狮专业】, 【全栈程序猿】专业,专业内有不少于15门推荐课程,目前平台推出【专业课程0元学】活动,只需0元即可在所有的专业课程中任选5门学习,超值优惠,助您快速成长!点击这里了解

讲师
ianynchen
陈轶宁,网名yining,ITPUB社区元老,超级版主,ITPUB Java等开发板块的开创者。曾任职IBM多伦多实验室IT架构师,现从事地理信息系统开发创业工作。
课程简介

Java目前仍然在服务器端拥有广大的市场,如何使用Java进行合理的程序设计,利用Java的特性,使得你的程序更加简单可靠,更高效。通过本课程的学习,增加对设计模式的理解以及Java的特性对设计模式的支持,掌握服务器端开发包的了解,如ZeroMQ、Netty、Akka等。本课程为开发课程,在开发一个高性能可扩展的Java服务器端应用的同时,深入介绍设计模式以及Java的特性对这些设计模式的支持。

本课程为开发实践课程,将针对设计模式及运用、高可靠性等话题进行深入讲解。学员将参与一个Java服务器端程序的开发及测试。该程序包括三个部分:
1、从不同数据源(TCP、串口、文件)获取信号数据——设计模式、反射、annotation
2、对不同信号数据进行解码,解码之后的信息通过多种协议对外发送,提供数据服务——netty、zeromq
3、服务器端提供编码接口,允许输入Java对象,并编码成为信号协议数据,将数据发送至数据源进行控制
4、系统获取解析之后的信号之后,通过异步方式提交后台进行大计算量的处理——Akka及Java多线程编程
5、上述步骤4中的处理结果以服务信息对外发布


软件代码将通过多次迭代重构的方式不断深入设计

课程章节
  • 第1课 课程介绍
    • 1-1 介绍本课程将要开发的服务器端程序的基本功能
    • 1-2 必要的知识点
    • 1-3 第一个版本的程序
  • 第2课 工厂模式以及其它模式的使用
    • 2-1 通过前两周的开发接触,对已有程序进行优化,利用设计模式使得开发工作更加有弹性,更加能够支持未来的功能扩充。
  • 第3课 反射机制的使用
    • 3-1 通过反射机制,建立更加简单的处理模式,使得程序有更加强大的适应性
  • 第4课 如何处理多线程及提高系统的容错性
    • 4-1 服 务器端开发避免不了对多线程的使用,本节课讲解对Java多线程处理的分析,以及Akka如何能够在Java多线程的模式下更加灵活的处理相关问题。系统 的容错性以及错误恢复能力,对于服务器端程序是重中之重,如何通过Java实现容错性的提高,以及Akka如何在这方面给我们提供一个近似银弹的解决方 案?
  • 第5课 Akka究竟能给我们带来什么?
    • 5-1 在基本理解服务器端编程(并行、并发处理,其中可能存在的问题,以及容错性处理)面临的挑战以及传统的Java处理方式后,重新审视基于Scala的Akka,看看Akka究竟可以在哪些方面帮助我们简化服务器端编程,使得我们更加便捷的处理我们所面临的挑战。
  • 第6课 ZeroMQ
    • 6-1 服务器端编程无法避免网络传输以及网络编程,那么通过传统的Java网络开发包,无论是Socket还是NIO,可以给我们带来什么?同时又给我们带来哪些问题?
    • 6-2 如何利用ZeroMQ、Netty这些第三方包去提高网络开发的效率、稳定性以及性能?
  • 第7课 Netty
    • 7-1 进一步深入了解ZeroMQ以及Netty开发。
  • 第8课 网络传输的处理
    • 8-1 网络传输既需要考虑跨平台的支持,又需要考虑性能的问题,还需要考虑向下兼容性,如何使得我们的程序能够支持这些方方面面的问题?
  • 第9课 完善?建立模拟运行环境
    • 9-1 如 果Java服务器端程序需要和底层硬件设备打交道,或者需要调用第三方C/C++库,应该如何处理?我们看到了如何在网络传输阶段对服务器端程序进行 scale-up,也看到了如何通过多线程的方式进行scale-up,那么如何在业务逻辑的处理上,对服务器端程序进一步的scale-up和 scale-out?JNI、Disruptor以及Kafka来帮助你
  • 第10课 负载均衡处理
    • 10-1 当应用达到一定规模的时候,我们需要进行一定程度的负载均衡处理,这时候怎么办?
课程环境

Windows、Linux或Mac OSX

授课对象

具备一定Java编程能力,希望在Java编程中提高自己的设计能力的学员,或者希望能够熟悉Java中一些常用的第三方包的学员

收获预期

通过开发一个服务器端的Java程序,对于Java的特性,例如反射、annotation增进了解,对设计模式在编程中的使用加深理解,同时深入了解一些广为使用的第三方包,如netty、zeromq、protobuf、akka等。同时对Java网络编程及其中涉及的问题及处理方式有更加深入的了解。

学费

学费: ¥400 ( 固定学费: ¥300, 逆向学费: ¥100 )

新颖的课程收费形式:“逆向收费”约等于免费学习,仅收取300元固定收费+100元逆向学费,学习圆满则逆向学费全额返还给学员!

炼数成金移动版 v2.0