Hello,大家好,我是阿粉,最近看文章发现一个 Java 学习路线图的资料,觉得很不错就拿过来分享给大家,目前这个版本是 1.0 的,之所以说这个是 1.0 的版本主要是因为还有一些高级内容没有加进去,比如 JVM,容器,消息队列,云原生等都还没有提到,不过对于初学者来说这个路线图已经可以上手完成工作了。

作为 Java 程序员的阿粉不得不说,现在的小伙伴们是真的很幸福,互联网如此的发达,网上各种学习资料以及开源项目可以免费学习。虽然说这些资料方便了小伙伴们的学习,但是同样也会带来一个问题,那就是对于琳琅满目的资料显得无从下手,没有体系,不知道工作中到底会用到哪些,抓不到重点。这个时候 Java 学习路线图就可以起到一个辅助的作用了。

Git

Git 作为目前最流行的版本控制软件没有之一,作为每个开发人员,不单单是 Java 程序员而是每个程序员都需要学习使用的。我们进入一家公司,刚开始的时候除了阅读文档之外能做的第一件事情就是把自己所在的小组的代码克隆下来。所以 git clone 相信是大家使用的第一个命令。另外虽然说都是在 IDE 里面使用git 的命令操作,但是还是强烈建议大家把 git 的常用命令给记下来,通过 git bash 或者其他命令窗口手动执行,可以加深大家这 git 的使用理解。如果说对于还没有步入职场的小伙伴没有实际的项目练手的话,可以考虑通过 GitHub 来练手。毕竟 GitHub 作为全球最大的同性网站,在互联网行业有着举足轻重的地位。

Linux

Linux 同样的作为后端程序员也是要学习的一个知识点,不过针对 Linux 我们刚开始可以先学习一些简单的基础,随着使用频率的增加再慢慢深入,毕竟很多时候我们在服务器上面查看日志,查找文件,以及编写一些简单的 shell 来处理一些任务。学习 Linux 我们需要循序渐进,毕竟一个操作系统要想完全搞透对于我们普通人来说那是不太可能的。

数据结构与算法

数据结构与算法这个更不用说了,是一个老生常谈的话题,虽然说在科班出身的在大学会学习相关内容,但是相信很多人都没有好好学习过,社会会告诉你该来的还是会来,有些东西是躲不掉的,除非不干这一行。学习数据结构和算法的唯一途径就是不断练习,而且一个题目要练习很多遍,尝试不同的方案去解决,只有这样才能熟练的掌握。刷题可以在 LeetCode 或者牛客网都是可以的,海量的题目足够练手。

通用编程技能

通用编程技能主要包含一些网络知识比如 HTTPHTTPSTCPUDP,设计模式,可能很多时候大家会觉得真正在工作中这些东西用到的会很少,有必要学习吗?有必要!有必要!有必要!重要的事情说三遍,要知道我们的日常工作除了写业务代码之外,很多时候还会涉及到组件,框架的封装或者代码的阅读,这个时候如果不具备这部分的知识,那看起来会很吃力的。所以建议大家一定要把基础知识给打牢,这样才能再需要的时候得心应手。

Java

讲到这里终于到了核心模块,在 1.0 的路线图中 Java 的学习主要包含工具,JDK,框架,单元测试,数据库相关知识。这块的东西就相对较多了,而且很多内容都需要结合项目来实际操作才能更好的掌握,单独看资料代码是不怎么能掌握的。

工具

工具这块主要要学习IDEAMavenGradle 还有 Docker 容器部署相关的内容。图中的有些东西可以不用学,比如 EclipseANT,这些现在很多公司都不用了,就没必要在浪费时间了,毕竟要学习的东西还有很多。JDK 这块的内容就更多了,1.0 的路线图中提到了集合,并发,IO,和JDK8 的一些特性,这些内容需要好好的学习,因为在工作中占据了很大的一部分场景。并且如果在找工作面试的过程中也是必问的一些内容。特别是集合和并发这块的内容,阿粉经历的面试基本上都有被问到过相关的内容。IO 这块的内容是很多网络工具的底层核心,特别是一些 RPC 服务,底层的 Netty 都会使用到 IO 相关的内容。

框架

框架这边就更不用多说,现在 Java 主流的编程框架非 SpringSpringBoot 莫属,这块的内容确实很难啃,需要找一些资料或者视频去学习,如果条件和时间允许的话也可以去报一些线上或者线下课程,这个根据自己的情况去决定就好。GitHub 上面也有很多基于 SpringSpringBoot 的开源项目,特别是一些大公司开源的优秀项目,比如阿里的 DubboSpringCloud Alibaba,都可以下载下来阅读一下。阿粉上家公司使用的微服务框架就是 SpringCloud Alibaba,他的注册中心 Nacos 是基于服务发现与配置中心一体的注册中心,还是挺好用的。

单元测试

单元测试这个也是一个很有必要学习的内容,优秀的代码单元测试的用例要覆盖 80% 以上才算合格,但是实际工作中往往很少会有人写单元测试。这个不是个好习惯,该写的单元测试还是要写的,这样再后续代码有所改动的时候我们可以直接测试一下,避免新的改动导致了新的 bug

数据库

线路图中的数据库主要想表达的是 JDBC 以及一些 ORM 的内容,其实关于数据库的知识是很复杂的,作为 Java 程序员只关注这么一点是不够的,特别是对于 MySQL 数据库,我们必须熟练的掌握,包括事务,锁,索引等内容。

上面的内容比较多,但是阿粉觉得还少了一个重要的内容,那就是前端知识,不会写页面的的 Java 开发不是一个好开发,简单的页面和JS 我们还是要会写的,不说多么精通,至少能看懂代码并且能实现功能。

总结

今天给大家分享了一个 Java 学习路径图,可以帮助初学者更好的入门,对于我们程序员来说,真的有很多东西需要学习,新的技术层出不穷,唯一不变的就是变化。最后借用乔帮主的一句话:Stay foolish,Stay hungry!


原作者:鸭血粉丝
原文链接: 【非广告】2021 入门级的 Java 程序员学习路线图 1.0
原出处:Java极客技术-公众号
侵删

【非广告】2021 入门级的 Java 程序员学习路线图 1.0相关推荐

  1. java程序员学习路线图

    一张图简单粗暴的告诉你什么是java程序员学习路线,什么是 java程序员进阶路线?

  2. 写给自己的Java程序员学习路线图

    恩,做开发的工作已经三年多了,说起来实在是惭愧,自己的知识树还像一棵小草一样,工作中使用到了许多的知识和技术,不过系统性不够.根基不牢.并且不够深入!当然,慢慢的我也更加的清楚,我需要学习一些什么样的 ...

  3. 2022年Java程序员学习规划图

    2022年Java初级程序员的学习路线图: 入门基础:Java SE基础-->Java Web(含数据库+H5+js+vue) 中级技术:Maven-->Git-->SSM框架 -- ...

  4. 转载一篇不错的文章:谈谈“野生”Java程序员学习的道路

    逛论坛看到的一篇不错的文章,特此转载:本文转载自:左潇龙  原文链接:点击打开链接 引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想 ...

  5. java程序员学习路线以及我的学习经验

    本文作者为优知学院创始人陈睿(mike),作者有10年以上技术&产品经验,曾任百度研发经理.携程定制旅游CTO. " 这是一篇完整的java程序员学习线路图,一共分为六个阶段. 我以 ...

  6. java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...

    不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...

  7. java前沿技术_互联网百强企业架构师告诉你,Java应该这么学!云和数据超全面Java中级程序员学习路线图重磅发布!...

    作为常居编程语言排行榜第一名的编程语言,Java语言以其稳定性.健壮性著称,是一门非常成熟的编程语言,多年来一直是国际上众多企业的首选编程语言. Java语言不仅吸收了C++语言的各种优点,还摒弃了C ...

  8. 菜鸟入门:Java程序员学习之路

     1. Java语言基础 谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础部分基 ...

  9. 【最新】.Net程序员学习路线图以及就业现状

    一.前言 前面文章<如何快速掌握一门新的编程语言?>,跟大家分享过我自己学习一门新编程语言的心得.今天跟大家分享.Net程序员学习以及就业方面的内容,分为三部分:1..Net Web程序员 ...

最新文章

  1. 西南大学网络教育学院计算机基础,西南大学网络与继续教育学院课程考试计算机基础【1056】...
  2. Heartbeat,来点真的
  3. 分析JDK中的Runtime的单例设计模式以及使用小例子
  4. matlab 状态空间转传函,求助!!如何把多输入多输出系统的传函转换为状态空间表达式?...
  5. 赋能尖端科技 推进智能布局 |《HPC高性能计算数据存储解决方案蓝皮书》正式发布
  6. java写一个类吧,能不能自己写个java自带的类
  7. vsftpd的主配置文件是什么linux,vsftpd.conf配置文件详解
  8. 现代软件工程_团队项目_阿尔法阶段_现有功能汇总_2018.01.04
  9. 2019文都计算机网络百度云,2019计算机考研|计算机网络知识:计算机网络体系结构...
  10. 【路径规划】基于matlab GUI粒子群算法机器人避障路径规划【含Matlab源码 923期】
  11. 注册双击Ctrl键 (DLL版)
  12. C# ILDASM 使用
  13. 构建综合性平安校园视频监控系统,全面保障在校师生安全
  14. java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to...
  15. WSJ新闻标题的中心词提取
  16. 操作系统:作业调度算法--先来先服务
  17. confluence权限管理
  18. 定位首款弹幕K歌软件 阿里鲸鸣未来究竟能够走多远?
  19. 【编译系统】什么是PL/0和类Pcode虚拟机
  20. Apache POI(Word)教程_编程入门自学教程_菜鸟教程-免费教程分享

热门文章

  1. 示波器测量汽车进气压力传感器信号及波形分析
  2. hangfire使用笔记
  3. 传华虹NEC重启赴港上市计划 可能融资3亿美元
  4. function* 生成器函数
  5. 代码实现 | LDA方法分析红楼梦各回主题
  6. 你的能力是更适合做微商还是淘宝
  7. Linux中PATH、PYTHONPAT、sys.path小结
  8. 试验设计类毕业论文文献有哪些?
  9. quartus II使用
  10. HTML5菜单栏特效