为大家整理了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基础,这个时候你应该准备好你的学习环境,安装JDK很简单,初学可以不用上来就用IDE工具,可以先用文本编辑器来过渡一下,后期的时候再用IDE也是可以的。
这里给大家一些Java必备学习工具(先收藏):
对于工具来说是java程序员学习进阶的利器之一,很多工具在后期的项目中都是需要用到的,大家可以提前学习了解一下。
还另外最重要的一件事情就是:不要光看不练习!……对于编程来说理解的唯一方式就是动手,只有这样才能学到技能,学习的过程虽然辛苦,但是一定要坚持,等你能做一些小案例的时候,就会觉得Java其实也非常有意思
学习基础知识最重要的一点就是让大家对java语言有一个基本了解,另外无论大家今后是面试大厂还是面试小厂,基础知识都是考察的重中之重。
大部分语言的基础知识都是大同小异,包含基本的数据类型、程序结构等等。如果是Java这类面向对象的,那么还得掌握面向对象的知识,面向对象是重中之重,面向对象是重中之重,面向对象是重中之重,重要的事情说三遍。只有掌握面向对象的知识,在后续的开发中才会有更好的成长。
spring是java学习的利器,之前在我刚刚接触java的时候,对后端的认知就是Spring、Struts2、Hibernate三驾马车,但后来六演变成了掌握 Spring、Spring MVC、Mybatis,尤其是 Spring 框架。
这部分内容大家可以从新建一个Spring项目开始,一步步循序渐进,一步步慢慢来就可以稳扎稳打。
应用服务这一块,涵盖了很多领域,包括持久化、缓存、队列、反向代理等,这些是完善一个程序的重中之重。前面的那几个知识属于基础框架,那么中间件就是给框架里填充一些增强的部分,让程序健壮稳定。
SpringBoot的意义在于它继承了Spring的过去优点,ioc,aop,springmvc,而且快速启动服务器,快速开发单个微服务。最大的重要性是:springcloud是一个基于springboot实现的一系列框架的集合,用来提供全局的服务治理方案。所以学它就对了,没什么好说的。
只有熟悉JVM,你才能在遇到OutOfMemory等异常时,不会束手无策,不会一脸懵逼得上网找解决办法,最后就算改了几个启动参数解决了问题,也还是云里雾里。
很多公司都是前后端不分离的,而且学习前端的好处也有很多,我们可以自己写一个测试的Demo,前端请求下,比你用postman这类工具效率来的高,可以走一整套流程。
地址:https://github.com/elunez/eladmin
项目简介: eladmin是一个基于 Spring Boot + Vue的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由,对于初学者还是比较友好的。
地址:https://github.com/kingyuluk/FlappyBird
通过学习该项目可以学习到:
地址:https://github.com/dromara/hutool
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。
Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当。
地址:https://github.com/AlmasB/FXGLGames
项目中已经内置了一些简单游戏的 Demo,通过学习可以让你快速上手,框架还可以将游戏轻松打包到单个可执行文件。
地址:https://github.com/Exrick/xmall
项目所用技术栈:SSM、Elasticsearch、Redis、MySQL、ActiveMQ、Shiro、Dubbo、Zookeeper、Vue.js 等
项目简介:XMall是一个基于SOA架构的分布式电商购物商城,并且前后端分离。包括如下几大模块:
地址:https://github.com/sqshq/piggymetrics
项目所用技术栈:Spring Boot、Spring Cloud、Docker等
项目简介:Piggy Metrics是一个基于Spring Boot, Spring Cloud和Docker等技术实现的微服务脚手架,项目包含了:API网关、服务发现、负载均衡、熔断机制、配置中心、监控服务、认证服务等几大微服务项目基本模块,对学习和练手微服务项目是不错的选择。
地址:江离/Cloud-Platform
项目所用技术栈:Spring Boot、Spring Cloud全家桶、Vue.js等
项目简介:Cloud-Platform是国内首个基于Spring Cloud的微服务开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。
地址:https://github.com/seata/seata
项目简介: Seata 是一款阿里巴巴开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
地址:https://github.com/oblac/jodd
Jodd是一个非常易用和好上手的开源Java微框架,里面包含了一系列平时经常会用到的一些核心程序库、工具类/方法、实用程序/框架等等。有了它,开发人员做起事来会变得非常简易和优雅,引入jodd就能帮我们快速实现某些功能。
地址:https://github.com/TheAlgorithms/Java
项目简介: 这是一个基于Java的数据结构与算法的实现项目。里面包含了几乎常用所有数据结构的实现,以及诸多算法题和LeetCode习题的Java实现。
对面试来说无非就是两方面,第一就是面经,第二就是刷题。
看面经除了在网上进行搜索或者面试平台上看分享,真敢还推荐GitHub上面JavaGuide和CS-Notes这两个仓库,里面覆盖了大部分面试内容,整体比较全面。
传送门:
刷题网站推荐的话重要就是牛客网以及LeetCode,还有我最近发现的一个趣IT也不错。
趣IT网址:https://www.funit.cn/
涵盖有一些大厂真题以及阶段性能力测试,这些大家都可以自己去刷。
对于大厂来说,除了上面这些还建议大家看书+读源码,因为Java面试如果仅仅看面经的话,遇到源码和更深入一层的问题基本顾及不到,而恰恰现在大厂的面试官都会去深入一步询问。
Java高并发程序设计 -> JDK -> 深入理解Java虚拟机 -> MySQL必知必会 -> Redis开发与运维 -> TCP/IP编程 -> 图解HTTP -> Head First 设计模式 -> Java 8实战 -> 大型网站技术架构 -> 高性能MySQL -> 其他
书籍详情:
【JDK8-15新特性】
【编程强化】
【数据库强化】
【热门技术扩展】
上述视频来源: https://www.bilibili.com/read/cv9965357?from=articleDetail