java系统学习路线

java系统学习路线

写在前面:

因篇幅较多,更新比较频繁,持续学习请关注:
https://www.yuque.com/books/share/75140a92-2d39-4a50-8031-612994127d3d?# 《Java 笔记-EVERYTHING IS OBJECT》

📍step 1:Java 基础

学习任何一门编程语言,首先要学习的是基础语法,开启Java学习的第一步,当然就是深入掌握计算机基础、编程基础语法,面向对象,集合、IO流、线程、并发、异常及网络编程,这些我们称之为JavaSE基础。当你掌握了这些内容之后,你就可以做出诸如:电脑上安装的迅雷下载软件、QQ聊天客户端、考勤管理系统等桌面端软件。

![image.png](https://img-blog.csdnimg.cn/img_convert/5836d92f8cceaf9f52e00aab210d37c2.png#align=left&display=inline&height=719&margin=[object Object]&name=image.png&originHeight=719&originWidth=1423&size=1923572&status=done&style=none&width=1423)

📋大纲

## 📘学习资料

  • 书籍

《Java 核心技术卷 1/2》
《Head First Java》
**

  • 网络资料

https://lingcoder.gitee.io/onjava8/#/

📈学习进度


📍step 2: 数据库

互联网最具价值的是数据,任何编程语言都需要解决数据存储问题,而数据存储的关键技术是数据库。MySQL和Oracle都是广受企业欢迎的数据库管理系统。Java程序和数据库通信的最常见技术是JDBC,Druid和C3P0。学习这些数据库技术后,可以掌握数据库运维技术、复杂业务表结构设计规范、工作中常见的SQL操作、软件数据存储等。

![image.png](https://img-blog.csdnimg.cn/img_convert/d453fbe5c182e26695a527c597057054.png#align=left&display=inline&height=747&margin=[object Object]&name=image.png&originHeight=747&originWidth=1271&size=1679670&status=done&style=none&width=1271)

📋大纲

📘学习资料

  • 书籍

《SQL 基础教程(第 2 版)》(入门级)、《高性能 MySQL : 第 3 版》(进阶)、《MySQL 必知必会》

  • 网络资料

📈学习进度


📍step 3: 前端技术

浏览器展示给用户看到的网页就是前端,前端有三大基础技术分别为Html、CSS、JavaScript,这些学完后,为了做出更好、更炫的交互式体验效果,我们还需要学习jQuery、ElementUI、Vue、Ajax,以及打包工具webpack。学完这些技术后,我们可以开发微信小程序、响应式网站、移动端网站、开发类似京东一样的B2B2C商城、管理后台等。

![image.png](https://img-blog.csdnimg.cn/img_convert/ec32708a8424b3fb007a348279138cc3.png#align=left&display=inline&height=712&margin=[object Object]&name=image.png&originHeight=712&originWidth=1419&size=1864923&status=done&style=none&width=1419)

📋大纲

## 📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


📍step 4: JavaWeb

掌握前端技术只能做静态网站,但它页面数据一成不变,而动态网站可以根据数据库中变更的数据实现不同的内容展示,应用更广泛,因此程序员必须要学会做动态网站。使用Java做动态网站,我们需要学习Servlet、Filter、Session、Cookie、JSP、EL表达式、JSTL等做动态网站的完整知识体系,学完可研发出OA系统、内容网站、BBS等。

![image.png](https://img-blog.csdnimg.cn/img_convert/7d180d32cca231237251f1da613322e3.png#align=left&display=inline&height=672&margin=[object Object]&name=image.png&originHeight=672&originWidth=1394&size=1615954&status=done&style=none&width=1394)

📋大纲

## 📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


📍step 5: 编程强化

学了JavaSE基础,但它在企业级应用中程序处理业务的效率并不高、扩展差,编程强化是对JavaSE基础的加强,将针对性的提高程序处理业务的执行效率、增强程序扩展性。编程强化将加强多线程高级学习,涉及线程内存、线程通信等技术。学完以后,能增加一个中级程序员的知识储备,无论在面试过程中还是将来技术的深入打一个良好的基础。

![image.png](https://img-blog.csdnimg.cn/img_convert/afa2da32a511bd3db538efd9f096f4d8.png#align=left&display=inline&height=829&margin=[object Object]&name=image.png&originHeight=829&originWidth=1371&size=2000651&status=done&style=none&width=1371)

📋大纲

![image.png](https://img-blog.csdnimg.cn/img_convert/35133e2c4d36bb8f6f6e01036818d1fb.png#align=left&display=inline&height=148&margin=[object Object]&name=image.png&originHeight=148&originWidth=1444&size=15666&status=done&style=none&width=1444)
![image.png](https://img-blog.csdnimg.cn/img_convert/4f4dfff52a45f24fbd5fefa4e5e3cb1b.png#align=left&display=inline&height=149&margin=[object Object]&name=image.png&originHeight=149&originWidth=1450&size=22104&status=done&style=none&width=1450)
![image.png](https://img-blog.csdnimg.cn/img_convert/22190a3176988f2ee64c0b17660b3e27.png#align=left&display=inline&height=869&margin=[object Object]&name=image.png&originHeight=869&originWidth=1448&size=99512&status=done&style=none&width=1448)
![image.png](https://img-blog.csdnimg.cn/img_convert/eb291e7f1a9a5a4f4577f8be459eb538.png#align=left&display=inline&height=636&margin=[object Object]&name=image.png&originHeight=636&originWidth=1495&size=84524&status=done&style=none&width=1495)

📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


📍step 6: 工程协作

公司开发都是团队协同开发,为更好的掌握实际开发,我们还需要学习常用的项目管理平台、版本控制器、项目构建工具以及自动化部署工具。项目开发一定是有版本升级的,管理好项目进度和版本需要Git、Maven、Sonar这样的系统平台。学习完软件项目管理后,将掌握整个项目实际开发过程以及整个项目开发过程中所使用协同开发工具。

![image.png](https://img-blog.csdnimg.cn/img_convert/414e8af9c999768493e05c0547720207.png#align=left&display=inline&height=703&margin=[object Object]&name=image.png&originHeight=703&originWidth=1458&size=1590579&status=done&style=none&width=1458)

📋大纲

📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


📍step 7: 主流技术框架使用

SSM

Javaweb掌握后,已经具备企业中实际项目的开发能力了,但它开发效率低,代码量大,开发周期长、开发成本高。企业中广泛使用一些优秀的框架技术来解决上述问题,因此我们还需要学习框架技术,项目开发中主流的Java框架技术有SpringMVC、Spring、MyBatis、MyBatis Plus、SpringData等。这些框架技术都是一个优秀程序员所必备的技能。

![image.png](https://img-blog.csdnimg.cn/img_convert/e70810a83eba1f0627f5895cc103cfb0.png#align=left&display=inline&height=815&margin=[object Object]&name=image.png&originHeight=815&originWidth=1369&size=1916766&status=done&style=none&width=1369)

📋大纲

📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度

微服务

![image.png](https://img-blog.csdnimg.cn/img_convert/b0d6198451e1f1d6c4c9dc9084c9f676.png#align=left&display=inline&height=781&margin=[object Object]&name=image.png&originHeight=781&originWidth=1475&size=126395&status=done&style=none&width=1475)


📍step 8: 源码分析

编程人员技术提升最快的方式是阅读和理解优秀的代码,领悟大师级思想,让思想顿悟,目击不一样的风景,提高核心竞争力

![image.png](https://img-blog.csdnimg.cn/img_convert/16add56d5c57f165b2abb9a0e9052a9a.png#align=left&display=inline&height=583&margin=[object Object]&name=image.png&originHeight=583&originWidth=1227&size=1454720&status=done&style=none&width=1227)

📋大纲

📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


📍step 9: 分布式架构

当Web系统从日访问5万逐渐增长到1亿时,Web架构层面需要如果突破访问瓶颈,提高访问效率。需要用到分布式微服务的技术,要求具备大型SOA架构和微服务架构能力,能掌握大型微服务项目必备技术和实际经验。企业发展过程中,业务量和用户量逐渐增加,为了保证系统的可用性,系统越做越复杂,研发人员增多,大家很难共同维护一个复杂的系统,往往修改部分内容,导致牵一发而动全身,所以我们需要升级系统架构

![image.png](https://img-blog.csdnimg.cn/img_convert/7eeac5bdfb3f1d324a4d390f54ba3ec7.png#align=left&display=inline&height=681&margin=[object Object]&name=image.png&originHeight=681&originWidth=1453&size=1619183&status=done&style=none&width=1453)

📋大纲

![image.png](https://img-blog.csdnimg.cn/img_convert/f50742baa29ea965222991e19f0e0efa.png#align=left&display=inline&height=767&margin=[object Object]&name=image.png&originHeight=767&originWidth=1453&size=132298&status=done&style=none&width=1453)
![image.png](https://img-blog.csdnimg.cn/img_convert/08c0da0acb2deb5608d9eb08f00be29a.png#align=left&display=inline&height=693&margin=[object Object]&name=image.png&originHeight=693&originWidth=1452&size=99263&status=done&style=none&width=1452)
![image.png](https://img-blog.csdnimg.cn/img_convert/61bb7532e8e31d7539066a2f7c70ea07.png#align=left&display=inline&height=727&margin=[object Object]&name=image.png&originHeight=727&originWidth=1448&size=98996&status=done&style=none&width=1448)

📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


📍step 10: 中间件

在分布式系统架构中,服务与服务之间的异步通信,是非常常见的需求之一,消息中间件的诞生正是为了解决这类问题。目前市面上的主流消息中间件有RabbitMQ、RocketMQ、Kafka,我们将学习这3个消息中间件,实现分布式项目中的异步通信。学习完这些后,可以实现分布式项目的异步通信、分布式应用日志收集、分布式事务等。

![image.png](https://img-blog.csdnimg.cn/img_convert/a331adbc3e1b4f55621f85756e25b11f.png#align=left&display=inline&height=650&margin=[object Object]&name=image.png&originHeight=650&originWidth=1374&size=1527591&status=done&style=none&width=1374)

📋大纲

📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


📍step 11: 服务器技术

程序开发完成后,我们把它们打包部署到服务器中运行,所以我们需要学习常见的服务器技术,常见的服务器有Linux和Window server,Linux性能高,是当前主流。我们写好的项目需要用一个软件运行起来,这个软件叫web容器,我们需要在服务器上安装web容器来发布项目,当前主流的web容器有tomcat、jetty、nginx、undertow。

![image.png](https://img-blog.csdnimg.cn/img_convert/464c80e7f815040deb695400eb6ae357.png#align=left&display=inline&height=893&margin=[object Object]&name=image.png&originHeight=893&originWidth=1416&size=1908602&status=done&style=none&width=1416)

📋大纲

## 📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


📍step 12: 容器技术

具备了服务器操作系统及web容器,我们就可以部署单机的站点,在分布式系统中,几十上百的服务,如果使用单机这种部署方式,会投入很高的人力,同时出错的几率也大。所以服务器虚拟化技术Docker也称为如今的必备技术了,Docker可以帮助运维人员实行快速部署,批量维护.使用Kubernetes实现自动化部署、大规模可伸缩、应用容器管理。

![image.png](https://img-blog.csdnimg.cn/img_convert/24b2cc2fa8ac1b27f9b50b6a6559c304.png#align=left&display=inline&height=256&margin=[object Object]&name=image.png&originHeight=511&originWidth=1092&size=922935&status=done&style=none&width=546)

📋大纲

📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


📍step 13: 业务解决方案

企业开发中会遇到一些通用的业务场景,诸如:搜索引擎、缓存、定时任务、工作流、报表导出、日志管理、系统监控等,那么这些通用的解决方案也有现成优秀的免费开源中间件,可供使用。诸如:ElasticSearch、Lucene、Solr、redis、MongoDB、slf4J、ECharts、Quartz、POI等。业务解决方案课程的业务方案和技术难点,解决了企业开发中90%以上的痛点和难点。

![image.png](https://img-blog.csdnimg.cn/img_convert/efbeee8118efa281b9e4a223a176e2ce.png#align=left&display=inline&height=849&margin=[object Object]&name=image.png&originHeight=849&originWidth=1103&size=1720193&status=done&style=none&width=1103)

📋大纲

📘学习资料

  • 书籍

**

  • 网络资料

📈学习进度


  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java是一种广泛应用于软件开发的高级程语言,它具有跨平台、面向对象、健壮性和安全性等特点。如果你想深入学习Java,以下是一个学习路线的建议: 1. 基础知识:首先,你需要学习Java的基础知识,包括语法、数据类型、控制流程、面向对象编程等。可以通过阅读教材、参加在线课程或者观看视频教程来学习。 2. 集合框架:Java的集合框架是非常重要的一部分,它提供了各种数据结构和算法的实现。你需要学习ArrayList、LinkedList、HashMap等常用的集合类,并了解它们的特点和用法。 3. 多线程编程:Java具有强大的多线程支持,可以同时执行多个任务。学习多线程编程可以提高程序的并发性能。你需要了解线程的创建、同步、通信等概念,并学会使用Java提供的线程相关的类和方法。 4. IO与网络编程:学习Java的IO与网络编程可以让你了解如何读写文件、处理流、建立网络连接等。你需要学习FileInputStream、FileOutputStream、Socket等类的使用,并了解常用的网络协议和通信方式。 5. 数据库编程:Java与数据库的结合非常紧密,学习数据库编程可以让你了解如何连接数据库、执行SQL语句、处理结果集等。你需要学习JDBC(Java Database Connectivity)的使用,并了解常用的数据库管理系统如MySQL、Oracle等。 6. Web开发:Java在Web开发领域有着广泛的应用,学习Web开发可以让你了解如何使用Java构建动态网站和Web应用。你需要学习Servlet、JSP、Spring MVC等技术,并了解常用的Web开发框架和工具。 7. 框架与工具:Java有许多优秀的框架和工具可以帮助你提高开发效率和代码质量。学习常用的框架如Spring、Hibernate等,并了解构建工具如Maven、Gradle等的使用。 8. 设计模式:学习设计模式可以提高你的代码设计能力和重用性。你需要了解常用的设计模式如单例模式、工厂模式、观察者模式等,并学会在实际项目中应用它们。 9. 性能调优与测试:学习性能调优和测试可以帮助你提高程序的性能和质量。你需要了解常见的性能问题和调优技巧,并学会使用性能分析工具和单元测试框架。 10. 持续学习:Java是一个不断发展的编程语言,你需要保持持续学习的态度,关注最新的技术和趋势,参与开源项目和社区讨论,不断提升自己的技能。 希望以上的学习路线对你有所帮助!如果你有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值