Java学习路线图分享(含项目+面试提升)最全整理

为大家整理了2022最新的Java学习路线图,从学前准备、学习路线、项目实战、面试提升等四个方面给大家分享一些经验,希望可以给学习Java的小伙伴们一些帮助。

个人学习经验:

我本人是计算机科班出身,现在工作三年之后也仍然没有放弃学习,经常在B站上看一些学习教程来温故知新,看的比较多的就是黑马程序员的课程了,下面整理的也有一些是黑马的课程,大家也可以根据自己的学习整理一些常用的资源库来学习进阶呀。下面进入正题:

目录

一、学习Java之前你要准备这些

二、Java从入门到进阶学习路线

1、基础知识

2、Spring相关知识

3、应用服务学习

4、Springboot框架

5、深入理解JVM

6、前端也需要学习

三、10个开源项目带你走进实战

1、eladmin

2、Flappy Bird

3、Hutool

4、Java小游戏

5、XMall商城

6、Piggy Metrics

7、Cloud-Platform

8、seata

9、Jodd

10、Java

四、面试+工作后的自我提升学什么

Java研发书籍推荐,这些可以先收藏呀:

工作之后怎么提升?


一、学习Java之前你要准备这些

学java之前大家一定不能着急,想想想自己是不是真的对java很感兴趣呢,是不是可以真的可以坚持学习呢?这些都是你学java之前一定要想清楚的东西,如果这些你都想清楚了,那么下面一起来和我进入正题……

学java第一件事情,就是系统学习java基础,这个时候你应该准备好你的学习环境,安装JDK很简单,初学可以不用上来就用IDE工具,可以先用文本编辑器来过渡一下,后期的时候再用IDE也是可以的。

这里给大家一些Java必备学习工具(先收藏):

  • 开发工具:IDEA、Eclipse、VS Code
  • 版本控制工具:Git、SVN
  • Docker、K8s
  • 命令行工具:iterm2(MacOS)
  • 网络测试工具: PostMan、PostWoman
  • 网络抓包工具
  • 持续集成:Jenkins
  • Linux:远程连接Linux,Linux的常用命令(非必备)

对于工具来说是java程序员学习进阶的利器之一,很多工具在后期的项目中都是需要用到的,大家可以提前学习了解一下。

还另外最重要的一件事情就是:不要光看不练习!……对于编程来说理解的唯一方式就是动手,只有这样才能学到技能,学习的过程虽然辛苦,但是一定要坚持,等你能做一些小案例的时候,就会觉得Java其实也非常有意思

二、Java从入门到进阶学习路线

1、基础知识

  • 基本程序结构:基本变量类型、运算符、字符串、流程控制、数组
  • 类与对象:类的定义和使用、静态属性和方法、继承、包管理、枚举、反射
  • 接口和抽象类:接口的定义及实现、抽象类的定义及实现
  • 泛型:泛型类、泛型方法
  • 集合:Set、List、Map、树、排序和查找
  • 异常与调试:内置异常、声明异常、自定义异常、捕获异常、日志
  • 多线程:多线程概念、使用线程、同步
  • Java 8 之后的新特性:Lambda表达式、Stream(map、filter、reduce、集合)
  • Java 网络编程:TCP、UDP
  • Java I/O、NIO

学习基础知识最重要的一点就是让大家对java语言有一个基本了解,另外无论大家今后是面试大厂还是面试小厂,基础知识都是考察的重中之重。

大部分语言的基础知识都是大同小异,包含基本的数据类型、程序结构等等。如果是Java这类面向对象的,那么还得掌握面向对象的知识,面向对象是重中之重,面向对象是重中之重,面向对象是重中之重,重要的事情说三遍。只有掌握面向对象的知识,在后续的开发中才会有更好的成长。

2、Spring相关知识

  • Maven:Maven与包管理、POM文件、生命周期等
  • 单元测试:单元测试的概念,Junit
  • Spring Core:依赖注入与控制反转、Spring概述、xml 装配 bean、Spring容器与生命周期、自动装配、注解装配、切面编程(AOP)
  • HTTP协议:基本概念、方法(GET/POST)、HttpClist 库
  • JSON知识:JSON 概念、JSON 与 HTTP、JSON封装的库(FastJson、jaskson 库)
  • Servlet概念:Servlet 概念、Servlet 生命周期、Filter 和 Listener、Tomcat 与 Servlet 容器
  • Spring MVC概念:配置Spring MVC、路径映射、参数传递、实现REST、权限控制等

spring是java学习的利器,之前在我刚刚接触java的时候,对后端的认知就是Spring、Struts2、Hibernate三驾马车,但后来六演变成了掌握 Spring、Spring MVC、Mybatis,尤其是 Spring 框架。

这部分内容大家可以从新建一个Spring项目开始,一步步循序渐进,一步步慢慢来就可以稳扎稳打。

3、应用服务学习

  • MySQL:关系型数据库概念,数据库的CRUD操作、JDBC API、数据库特性,数据库连接池
  • MyBatis:OR映射概念,配置,映射,基本Java库,和Spring集成
  • 缓存:缓存概念、Redis的使用、缓存雪崩、缓存穿透、缓存击穿
  • NoSQL:NoSQL概念,Mongodb的使用
  • 队列:队列概念,RabbitMQ、Kafka
  • 搜索引擎:Elasticsearch
  • 反向代理:反向代理概念,Nginx的配置和使用

应用服务这一块,涵盖了很多领域,包括持久化、缓存、队列、反向代理等,这些是完善一个程序的重中之重。前面的那几个知识属于基础框架,那么中间件就是给框架里填充一些增强的部分,让程序健壮稳定。

4、Springboot框架

  • 第一个SpringBoot项目、核心配置文件properties(yml、yaml)、集成jsp
  • SpringBoot的web开发:集成MyBtis、SpringBoot 下的SpringMVC、SpringBoot开发RESTFul风格、集成Redis
  • Spring Boot 集成 Dubbo、Spring Boot 非 web 应用程序、SpringBoot 启动Logo修改关闭
  • springboot使用拦截器、Servlet、过滤器Filter、Spring Boot 项目配置字符编码、SpringBoot打包部署、集成Logback日志
  • SpringBoot集成Thymeleaf

SpringBoot的意义在于它继承了Spring的过去优点,ioc,aop,springmvc,而且快速启动服务器,快速开发单个微服务。最大的重要性是:springcloud是一个基于springboot实现的一系列框架的集合,用来提供全局的服务治理方案。所以学它就对了,没什么好说的。

5、深入理解JVM

  • 类的加载机制:什么是类的加载、类的生命周期、类加载器、双亲委派模型
  • jvm内存结构:jvm内存结构都是什么、对象分配规则
  • GC算法 垃圾回收:对象存活判断、GC算法、垃圾回
  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值