前言
学习路线图通常是学习相同技术的入门指南。在线学习的Java学习路线图也是一大难题。
今天,我只选择了一张图片,它足以覆盖Java后端技术的知识点。所谓“不求最好,但求最完整”,Java学习可以参考这张地图进行系统性的路线安排。
当然,有些知识点是可选的,不是说你应该了解所有知识点。在复习小贴士的过程中,我在这张图片的基础上进行了复习,效果很好。
我们少说点。让我们看看这张图片包含哪些有价值的信息。再次,本文仅作一个简单的道路图解读,供参考。每个人都可以根据自己的情况制定一个合理的学习计划,我相信这也会有很大的好处。
相信有很多学习java的道友,海量知识分,绝对是Java干货,等各位的到来,我们一同从入门到精通吧!
Java学习交流:【47】974【9726】
1 计算机基础
这部分内容是为计算机科学专业的学生开设的一门课程,但非学科课程(如下面)的小伙伴需要时间来弥补。特别是计算机网络、操作系统和数据结构。
关于编译原理,我可以理解一点,我只看到了简单的概念和状态机相关的内容,并不特别重要。
2 Java编程
这里的Java编程部分包含很多内容。让我们分别看一看,然后总结一下。
爪哇基金会
这里的Java基础包括基本语法、集合类框架和一些高级特征,如反射、注释等。
Java中有很多基本知识点,理解它们并不容易。此外,随着时间的推移,一些新的特性需要我们关注,比如现在流行的JDK8。
设计模式
我一直认为设计模式可以和Java基本原理一起学习,所以我把它们放在这里。当然,一些真正使用设计模式的地方,例如JDK集合类、IO流等等,也需要您的注意。
爪哇网络技术
Java Web技术包括J2EE、Web框架,甚至还有一系列常用的组件。
J2EE主要包括servlet和jsp,这两个组件是更为怀旧的Web开发组件。虽然现在很少有直接使用它们的情况,但是我们仍然需要花费一些时间来掌握它们。
2 Spring通常用于Web框架。因此,冬眠和Mybatis也需要知道。
同时,爪哇Web开发中常用的类库(如JNIT单元测试、Log4J日志记录工具和Maven)属于我们需要掌握的范畴。
最后,应该注意的是,与Web相关的一些基本知识,如HTTP协议,网络安全的基础,也是我们考虑的一部分。
Java并发技术
Java的并发技术是指Java的多线程技术和JUC包中的并发类,如线程池、并发工具类、阻塞队列等。
Java并发技术可以独立学习,这是Java高级知识的一个主要焦点。
Java网络编程与服务器
这段内容是Java中一个复杂但重要的内容。例如,可以理解和学习bio、nio和aio的一些用法和原理,以及网络服务器(如Tomcat),甚至netty(网络编程框架)。
JVM基础与调优
JVM是一个提供Java程序运行的过程。学习JVM知识也是我们唯一的方法。除了理解“对JVM虚拟机的深入理解”,我们还需要学习JVM调优,使用适当的工具诊断问题,最后解决问题。
访谈的这一部分不仅展示了GC、内存分区和类加载器,还介绍了我所称的JVM调优。
3 Linux
作为一名后台学生,我一年四季都被面试官问到与Linux相关的问题,所以我认为学好Linux非常重要。除了基本的命令之外,最好了解一些shell脚本,甚至是内核的知识,这也是我的弱点之一。
4 数据相关
在这个路线图中,数据部分包含很多数据源,我们可以看到我们需要掌握什么。
关系数据库MySQL
不用说,人们需要知道这一点。无论是基础积垢、索引、高级存储引擎、分布式解决方案等,都需要相应地掌握。
隐藏物
Redis和Memcache等缓存需要作为后端开发人员进行控制。当然,它们的高级特性和分布式解决方案也是必不可少的知识点。
搜索引擎
基于Lucene的搜索引擎,如Solr和Elastic Search,本质上是数据源,但它们对于后端内容并不重要,但在学习课程中没有任何危害。
大数据
海量数据处理的场景越来越多,Hadoop、Storm等大数据技术越来越流行。但是大数据应用通常是由专业的大数据工程师完成的,所以我们应该学习一些基本内容。
5 算法和数据结构
算法一直是学校招生面前的一座大山。作为一名后端学生,除了基本的数据结构算法外,他们还拥有一些高级算法,如dp、search、gress等。
此外,还认识到使用LEETCODE和其他问题库对问题进行刷洗是一种很好的算法整合方法。
6 分布式
最后一部分也是内容和报道最多的部分。分布式相关技术太多了,我们将在这里做一个简要的总结。
Web体系结构
了解Web体系结构的发展将更好地了解分布式学习。毕竟,体系结构的发展与分布式技术的发展相对应。
分布理论
这一部分包括分布式技术的发展和演变、基础理论和上限理论等,在学习分布式技术之前,最好对这一部分的概念有一定的了解。
一致性
强一致性解决方案:事务和锁,弱一致性解决方案:消息队列。
分布式会话
一个常见问题有很多解决办法。
分布式缓存
就像上面提到的缓存一样,它只是一个专注于缓存的分布式解决方案。
分布式数据库
这是指分布式数据库方案,包括HBase分布式数据库。
负载均衡
负载平衡也是一个值得讨论的话题。通常,我们讨论七层和四层负载平衡。
消息队列
消息队列是一个相对复杂的分布式组件,可以理解AMQ、Kafka等公共消息队列的实现。
面向服务
服务的核心包括RPC、服务注册表等。分布式服务相关技术也是后端学生必须掌握的内容。
虚拟化
虚拟化也不是后端学生必须掌握的东西,但是越来越多的服务部署方法现在使用Docker和云服务。所以知道这件事没什么错。