耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图

最近,收到一些网友的私信,问我零基础如何学习Java。

入门级学习Java的最佳学习方式,毫无疑问是学习+练习+复盘总结。

学习的方式有很多种:视频教程、书籍、干货文章、学习网站...

练习的方式:教程的配套练习题、用刷题软件、尝试做项目...

网上能找到的资料太多太杂,整理起来也需要花费大量的时间和精力,学习起来毫无头绪。

不卖关子了,我花了将近大半个月时间,耗掉两千多根头发,吐血给大家整理了Java学习从零基础到进阶的全部学习路径和资源,希望对初学Java的你有所帮助。

一、Java基础

1.Java学习网站

  • 九章基础算法班(Java):中文在线互动课,是Java和算法的结合课程,由硅谷资深Java工程师讲授,非常适合从零开始学Java、算法与数据结构,或有转专业找工作需求的小伙伴们。
  • GitHub:程序员都知道的网站,可以查找很多的开源项目,上传自己做的项目,与好友一同交流讨论。
  • How2J :有Java各阶段的知识点概念和实践项目,用来查找和复习知识点妥妥的。

2.Java入门书籍

  • 《Head First Java》

Java入门第一书。内容轻松搞笑,可以通过玩游戏、拼图、解谜题以及一些意想不到的方式与Java交互,介绍了JAVA关键的基本概念,再也不怕“从入门到放弃”。

适合人群:Java初学者,用于熟悉算法语言、巩固基本知识。

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第1张图片


  • 《疯狂Java讲义》

看厚度比较让人绝望,但看下来绝对会让人觉得惊喜的一本书。书里面的内容比较全面,全书深入介绍了Java编程的相关方面(Java语法结构、面向对象特征、集合框架体系、Java泛型……),通过目录即可一键查找。

书籍通过解决问题的角度来介绍Java语言,涉及大量实用案例,在巩固知识的基础上还能学以致用,实用性高,这本书还考虑了Java的版本升级,非常贴心。

适合人群:Java初级程序员,基础薄弱、想巩固基础的Java程序员

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第2张图片

《算法(第四版)》

经典工具书,是一本很适合自学算法的素材,涵盖所有程序员必须掌握的50种算法。内容全面详实,赢在细节的技术性书籍。

适合人群:想学习Java的新手、实战中的程序员。

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第3张图片


3.Java学习脑图

从零基础入门的阶段一到阶段七要学习的全部知识点都给整理出来啦,你可以按照这个学习路径有节奏地逐渐掌握Java语言和算法基础。(你也可以继续看下面列举的详细知识点和学习的资源分享)

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第4张图片


4.Java基础部分知识点整理(点击可练习)

println(打印)

第一个 Java 程序:打印 Hello World

打印 "Hello Java"

条件判断

根据学生的成绩等级,判断学生的成绩范围

数组

https://www.lintcode.com/problem/2188/

https://www.lintcode.com/problem/2201/

循环

计算 1+2+3+...+n 的值

计算 n 以内包括 n 所有能被 3 整除的正整数的和

计算从 1949 年到 n 年中所有的闰年

字符串

获取字符串的长度

获取字符串数组中所有字符串长度的总和

对象

创建对象,给对象属性赋值并且打印

二、Java知识点整理

1.数据结构

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第5张图片


1.1 基本的数据结构

基础概念、数组、链表、栈、队列

1.2 树

哈夫曼树、平衡二叉树、红黑树、B树、B+树、LSM树

1.3 图

最小生成树、最短路径算法、拓扑排序

1.4 排序

选择排序、冒泡排序、插入排序、快速排序、归并排序、希尔排序、基数排序、Java中的排序工具、排序算法的特点总结和性能比较

1.5 进阶

KPM算法、布隆过滤器、并查集、符号表、汉诺塔

推荐学习资料:

1.《算法导论》:这本书的最大特点在于“全”,从一定深度上涵盖了算法的诸多方面,通俗易懂,适合编程初学者,永远滴神。

2.《九章算法班Java+Python》:市面上很多Java基础课要么只讲实战,要么只谈原理,这门课程的优势在于实战(手把手教coding)与原理(算法和数据结构的知识)相结合。同时,这门课采用用Java和Python双语教学,可以同时学会两门语言,让你更快找到编程方向。

3.《算法图解,啊哈算法》 :这是一本有趣的算法书。通过插图和幽默的语言来讲解算法和数据结构,遗憾的是内容不是特别深入,但很适合新手入门。

4.《剑指 offer》:一个以面试为导向的书籍,剖析了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。

PS:在LintCode的阶梯训练中,也可以免费刷剑指offer配套的72道经典算法题

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第6张图片


2. Java基础(筑基)

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第7张图片


2.1 常见的集合类

基础类型和封装类、String、System

2.2 关键词

transient、instanceof、final、static、this、super、void

2.3 高级

泛型、枚举、异常、注解、反射、进制、编码转化

2.4 集合类

总体框架、Collection、ArrayList、Vector、Stack、HashSet、TreeSet

2.5 其他

String 为什么不可变 、Java8新特性 、Java9、10、11、12新特性 、= = 和equal的区别、HashCode方法的作用、创建对象的几种方式

推荐学习资料:

1.《Java 编程思想》: 这本书要常读,初学者可以快速概览,中等程序员可以深入看看java,老鸟还可以用之回顾java的体系。

2.《Java 核心技术卷一.二》:这本书可以学到很多的东西,既包括基础知识,又包括高级的应用。

3.设计模式

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第8张图片

3.1 创建型模式

工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

3.2 结构型模式

适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式

3.3 行为型模式

策略模式、模板模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式

推荐学习资料:

1.《设计模式解析》:这本书详实的解释了模式的前因后果,结合了许多实例。这本书可以帮你理解设计模式,初读可能会比较迷茫。

2.《Java高级工程师P6+》:这门课程别出心裁的以阿里职级必备的知识点为基础,带大家晋级P6/P7必备技术栈。包含面向对象设计的基础原理与设计模式深度解析等,助力1-3年的Java工程师,高效斩获BATJ offer。感兴趣的朋友可以免费试听体验一下。

4.Java虚拟机

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第9张图片

Java虚拟机是支撑Java程序运行的基石,会写Java代码却未必知道其运行过程。

《Java高级工程师P6+》由阿里P8技术专家授课,讲解JVM必备知识点高频必考题

4.1 Java内存结构

4.2 垃圾回收

4.3 类加载机制

4.4 内存分配及回收策略

4.5 Java中的四种引用

4.6 JVM调优(时机、原则、目标、步骤、参数)

4.7 内存溢出(原因、例子、解决方式)

5.操作系统

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第10张图片

推荐学习资料:

1.《深入理解计算机系统》:通过程序员的视角讲解计算机系统,本书适用于那些想要写出更快、更可靠程序的程序员。能更好的理解程序的行为模式。

2.《现代操作系统》:本书比较全面而详细的介绍了操作系统的概念与算法,更偏于实际,对于重要算法的介绍更为突出。

6.Linux

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第11张图片


7.网络

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第12张图片

7.1 基础知识

五层协议、物理层、数据链路层、传输层、应用层、HTTP。

7.2 socket

阻塞式IO、非阻塞式IO、复用IO、信号驱动IO、异步IO、五大IO模型比较

7.3 序列化

Java序列化、protoBuf、protoStuff、avro

7.4 Netty

基本案例、粘包问题解决、实时通信问题解决、源码分析

7.5 远程调用

rmi、thrift

推荐学习资料:

1.《TCP/IP 卷一》 :大牛力荐的书,对于学习很有帮助。

2.《计算机网络:自顶向下》:从应用层讲到物理层,适合小白。值得注意的是本书翻译得不是很好,如果有条件的话可以看英文版。

8.并发基础

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第13张图片

8.1 基础知识

线程的概念以及案例、Thread生命周期状态、Thread构造函数、Java内存模型、线程通信、sleep和wait的区别、synchronized、volatile、threadLocal

8.2 原子包

Atomiclnteger、CAS原理、AtomicBoolean、AtomicStampedReferece、Unsafe

8.3 并发工具

CountdownLatch、CyclicBarrier、Semaphore、Exchanger

8.4 锁机制

ReentrantLock、ReenReadWriteLock、StampedLock、ForJoin、Phaser、AQS原理

8.5 线程池

Excutor、Future&Callable、ExcutorService、ThreadFactory、CompleteableFuture

8.6 并发容器

ConcurrenHashMap、ConcurrentSkpiListMap、ConcurrentSkipSet、ConcurrentLinkedQueue、CopyOnWriteArrayList、BlockingQueue

推荐学习资料:

1.《Java 并发编程艺术》:涵盖Java并发编程机制的底层实现原理、Java内存模型、Java并发编程基础、Java中的锁、并发容器和框架、原子类、并发工具类、线程池、Executor框架等主题,通过实例介绍了如何应用这些技术。

2.《电商秒杀系统 - Spring项目实战》:如果一直停留在理论,不如来进行项目实战。2周快速实现秒杀系统,学习高并发下如何进行调优和处理。

9.微服务架构

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第14张图片

9.1 Servlet

servler的生命周期、API、JSP和servlet的比较、四种会话跟踪技术、request对象的主要方法、cookie和session的比较

9.2 Spring

Spring架构、Spring上下文和容器、Spring加载机制、SpringBean探秘、AOP与代理

9.3 SpringMVC

SpringMVC架构与流程、DispatchServlet的实现、每一控制器的流程解读

9.4 SpringBoot

SpringBoot入门、整合其他技术、打包部署、actuator监控、源码分析

9.5 SpringCloud

服务注册于发现Eureka、客户端负载均衡Ribbon、声明式Rest调用Feign、容错机制Hystrix、服务网关Zuul、配置中心Apollo、负载均衡算法

10.分布式架构

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第15张图片

11.数据库

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第16张图片

11.1 Mysql

UML图、Mysql基本操作、视图、函数、存储过程、变量、事务、流量控制、游标、权限管理、索引、查询性能优化、存储引擎的比较、切分、复制。

11.2 MongoDB

11.3 ElasticSearch

11.4 中间件

11.5 JDBC

11.6 Mybatis

11.7 FastDFS

11.8 Mycat

12.工具

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第17张图片


13.安全

耗时两周,阿里高级工程师吐血整理的2021年Java学习路线图_第18张图片

14.颈椎康复指南

不开玩笑,适当看看真心有用

《做自己的颈椎医生》

三、Java面试

《Java高级工程师p6+》:

由P8高级技术专家杨逍老师和Facebook E5架构师令狐老师主讲。老师会剖析面试必问的技术与算法原理;大厂面试真题解析和面试反套路经验;体系化的SpringBoot项目实战等等。

《九章算法班2021》

主讲老师令狐冲曾在2家北美顶尖IT企业就职并担任面试官,ACM金奖得主,刷题数超过3000题。这门课主要能帮助大家快速掌握刷题技巧、面试沟通技巧、提高代码质量和coding style,沉着应对大厂的算法面试。

这门课我有幸听过,令狐老师很有资历,有着丰富的面试经验,当时成功上岸阿里绝大部分都靠它了。感兴趣的朋友可以先听下试听课


今天的分享就先到这了,衷心的希望,大家能在学习 Java 的这条路上快乐一些,纯粹一些,少听少看一些那些焦虑文,什么 35 岁,什么学历歧视,沉下心来,多学习一点知识,让自己变强一点,比什么都好!一家之言,必然有不尽善尽美的地方,但只要能对大家的学习有些许帮助,我也就很满足了!

码字不易,整理不易。最后就恳请大家点个赞再走哦~

你可能感兴趣的:(算法,编程语言,面试,java,jvm)