小言_互联网的博客

Java服务器端学习路线总纲

308人阅读  评论(0)

前言:本人立下规划,两年内成为一个能搭建DAU(日活跃人数)达到千万级别甚至上亿级别的高并发和高性能的服务器端的男人。主要是先学习Java SSM框架,然后用当下很火的SpringBoot+SpringMVC+MyBatis重构自己的社交APP的服务端程序代码,然后再学学Redis缓存和ngnix高并发容器,最后再使用阿里分布式框架Dubbo和微服务框架Spring Cloud。并在这过程中熟悉Maven项目管理工具和Git项目版本管理工具等等开发利器的使用。

第一阶段:Java的精华部分知识复习

多线程、网络编程、泛型、反射机制和注解,还有设计模式中的“工厂模式”(DI)和“代理模式”(AOP)等等

第二阶段:JDBC连接Mysql和数据库SQL基础(包括增删改查操作以及多表查询)

在学校时,《数据库系统》这门课+课程设计,已经学习并多次实验练习,忽略

第三阶段:HTML+CSS+JavaScript基础简单了解,还有ajax技术

在学校时,《Web网站设计与建设》这门课+课程设计,已经写过自己社交项目的萌土官网,去看看ajax异步加载技术即可

这是Web前端网页开发的基础,不熟悉的话有必要了解一下,以便B/S交互。

第四阶段:Servlet/JSP开发,还有MVC模式的设计理念

Servlet/JSP开发,从此开始踏入JavaWeb开发的第一步,包括Servlet API,XML文件,Tomcat服务器的部署和使用,了解HTTP协,Json数据格式传输。这是Java Web开的基础,可以帮助我们了解C/S(客户端和服务器端)的交互过程,SpringMVC就是基于Servlet实现的。

而MVC模式用于应用程序的分层开发,MVC要实现的目标是将数据、业务逻辑和软件用户界面分离以提高代码的可扩展性和可维护性。

 

第五阶段:Java三大框架,Spring+SpringMVC+MyBatis

Java服务器端开发的精华部分,重点学习。(重要)

第六阶段:SpringBoot

它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者。(重要)

第七阶段:Linux发行版Centos系统部署服务器环境,了解常用linux命令和shell脚本

Centos系统是当前互联网公司普遍采用的高稳定性的服务器系统。我们要了解常用的Linux命令,并在上面安装好Tomcat和Mysql等等。

第八阶段:Redis缓存

为了运行一个优化热门查询性能的Redis缓存,首先应确定你希望缓存的查询结果,应重点关注最常用的和最耗时的查询。

Reids往内存中存储最常用的查询数据备份,当数据没有发生本质改变的时候不去数据库中查询,而是去内存中取数据,这样就可以降低数据库的读写次数,从而提高了网站效率。

第九阶段:ngnix高并发和负载均衡

在大型网站高并发处理的情况下,Nginx是Apache服务器容器不错的替代品,其特点是占有内存少,并发能力强,能够支持高达 50,000 个并发连接数的响应。Nginx还可以作为负载均衡服务,将请求/数据【均匀】分摊到多个操作单元上执行。

Nginx—大型网站高并发处理

 

第十阶段:ElasticSearch搜索服务器

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,是一种流行的企业级搜索引擎。

ElasticSearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力,可以运用于云计算中。

第十一阶段:NIO知识和Netty异步高性能的通信框架

java.nio全称java non-blocking IO,是指JDK 1.4 及以上版本里提供的新api(实际上是 New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。所以,nio就是为高并发请求而诞生。

netty 是一个基于nio的客户端和服务器端编程框架,netty提供异步的,事件驱动的网络应用程序框架和工具,可以快速开发高可用的客户端和服务器。

第十二阶段:Dubbo分布式框架(netty作为基础通信组件)

高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的。

第十三阶段:微服务框架SpringCloud

业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,

第十四阶段:Docker与虚拟化

虚拟化是通过软件的方式模拟实体服务器,其初衷是为了解决“一种应用占用一台服务器”模式所带来的服务器数量剧增的问题,从而降低数据中心复杂度,简化管理难度。

所以,虚拟化的目的是为了在同一个主机上运行多个系统或应用,从而提高系统资源的利用率,并带来降低成本、方便管理和容错容灾等好处。

对了,还有WebService这种远程调用技术可以简单了解一下。

 

Java服务端开发利器

工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的。

Maven,项目管理工具

Git项目,版本控管理工具

Jenkins ,持续集成工具

Sonar ,代码质量管理工具

Log4j,    强大的日志记录工具

Junit,  单元测试框架

Shiro  ,强大且易用的权限安全框架

不用特别去学,直接去使用,用多了自然而言就熟悉了。
 

立下Flag:一周征服SpringBoot+SpringMVC+MyBatis,还有Centos系统部署和使用。

 

参考链接:

这些年,JavaWeb开发技术演进过程

走向架构师——1~3年java程序员面试必备的技能

 

 

 


转载:https://blog.csdn.net/CSDN2497242041/article/details/101926767
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场