2021年Java程序员学习路线图大纲

第一阶段 Java基础

面向对象

面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

集合

即集合是“确定的一堆东西”,集合里的“东西”则称为元素。现代的集合一般被定义为:由一个或多个确定的元素所构成的整体

IO

输入输出(IO)是指计算机同任何外部设备之间的数据传递。常见的输入输出设备有文件、键盘、打印机、屏幕等。数据可以按记录(或称数据块)的方式传递,也可以 流的方式传递

多线程与并发

  • 多线程:在单个程序中同时运行多个线程完成不同的工作,称为多线程。

  • 并发:在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。

异常

异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。在Java等面向对象的编程语言中异常属于对象。

网络编程

网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用。

学习该阶段,可以完成一些简单的管理系统、坦克大战小游戏,项目等。

第二阶段 数据库

数据库不仅仅是Java开发工程师的必学课程,也是其他语言都需要掌握的技能。

例如:

MySQL

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

redis

Redis,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

MongoDB

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

数据库学习完毕后,可以将数据存储到数据库中,也可以通过SQL语句从数据库中查询数据,结合Java项目可以实现动态站点的数据的保存。

第三阶段 前端技术

Javaweb阶段包括前端、数据库和动态网页。Javaweb是互联网项目的入门课程,是学习后面高进阶课程的基础。

首先,我们先看一下前端板块。该板块主要包括如下几个模块:

HTML5

HTML5是Web中核心语言HTML的规范,用户使用任何手段进行网页浏览时看到的内容原本都是HTML格式的,在浏览器中通过一些技术处理将其转换成为了可识别的信息。

CSS

层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

JavaScript

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

Vue

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

第四阶段 动态网页技术

该板块包括Javaweb核心技术包括:

Servlet

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

JSP

JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。

第五阶段  实战项目开发

学习了项目的开发与发布之后,我们就可以单独对一个项目进行开发了,但是在企业中开发中,除了编码之外,还需要项目管理、团队协作开发等,这就是软件项目管理板块要学习的内容。

该板块包括如下几个模块:

Git

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

Maven

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

SSM

SSM全称Spring+SpringMVC+MyBatis,是目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。

ElasticSearch

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式的全文搜索引擎,其对外服务是基于RESTful web接口发布的。Elasticsearch是用Java开发的应用,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

设计用于云计算中,能够达到近实时搜索,稳定,可靠,快速,安装使用方便。

Shiro

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

通过该板块的学习,我们更加真实的还原企业开发的流程,具备真实企业的工作经验。

也对没有学习Java基础的小伙伴提供一个自学的入门教程:

Java基础入门到精通>>>

(0)

相关推荐

  • 发布Vue+Java程序

    发布Vue+Java程序

  • 成为一名优秀的Java程序员9+难以置信的公式

    成为一名优秀的Java程序员 成为一名优秀的Java程序员并不重要,但是首先您应该了解基本的编程语言. 好吧,你知道那太好了.我们应该一步一步地精通Java编程,并应遵循所有说明,改进Java的编程逻 ...

  • 全球最火的程序员学习路线,没有之一!

    国外有一个爆火的开发人员学习路线,目前已经在 Github收获了 152 k+ star,Star 数量在 Github 所有仓库中排名第 9 .这个仓库有多火就不用说了吧! 作为程序员,如果你还不知 ...

  • 元能力:向程序员学习怎样有效解决问题

    乔布斯曾说,每个人都应该学习编程,因为它能教会你思考.编程是程序员的工作,反应程序员的思考过程,体现他们解决问题的方法. 解决问题是一种元能力,是一个人最基本最核心的技能.当一个人没有解决问题的框架, ...

  • 帮公司面试月薪1万6的java程序员,问得都很基础啊

    B站就是下面账号 视频可能更有感觉哦 面试的答案在本文章 建议大家先看视频,然后看自己能否回答上 回答不上的回头看看本文章效果更好哦 面试的日子里有程序汪的面试视频和文章,面试不慌了(这广告打的) 这 ...

  • 想成为一名优秀的Java程序员学历真的重要嘛?

    作为编程语言界的常青藤Java,无论是在企业级应用,还是后端开发中,均有着无可替代的地位.而对于Java开发者是否需要学历文凭也是一直以来都十分热议的话题,今天小编就带着大家来侃一侃这个问题. 首先回 ...

  • Java程序员简历应该怎么写,需要注意些什么?

    前言 不论是校招还是社招都避免不了各种面试.笔试,如何去准备这些东西就显得格外重要.不论是笔试还是面试都是有章可循的,我这个"有章可循"说的意思只是说应对技术面试是可以提前准备.  ...

  • web-magic + Xpath Java程序员

    大学毕业一年收获还是满满的!手动滑稽 今天呢,来记录一个爬虫项目,用的web-magic实现,不说Java和Python那个更强,只看那个代价更小,与现在我而言自然是Java喽!同时呢magic也是参 ...

  • 马士兵JAVA高级互联网架构师|JAVA程序员涨薪必备【马士兵教育】

    5年大数据.人工智能开发经验,曾经任职于HPE.国家生物研究院等多家企业,负责过HPE国内基地海量数据的共享与存储平台.医疗大数据存储解决方案.基于基因信息诊断模型(借助TensorFlow.Kera ...

  • 成为更好的Java程序员的9条技巧

    成为更好的Java程序员的9条技巧 架构即人生2021-01-23 22:56:49 https://medium.com/javarevisited/9-tips-to-become-a-bette ...