今天给大家推荐一个Java 学习路线, Java 要学的知识点、对应的学习资源和预计要花费的时间,都安排的明明白白的,不用再盲目的选了,有计划了,也别再迷茫和纠结了,就跟着学就行了。
1.1 阶段一练气筑基--Java基础(25天)
1.学习Java语言最基本最核心的一套库
2.掌握Java语言的基本语法、数据类型、运算符、控制语句、面向对象基础等
3.熟悉Java开发环境,如Eclipse、IntelliJIDEA等
4.掌握Java语言的理论特性,如继承、接口、抽象类、多态等
5.掌握Java语言的高级技能,如IO、线程、socket等
1.2 阶段二结丹元婴--JavaWeb(20天)
1.学习MySQL数据库的基本语法,如sql、事务等
2.学习JavaWeb开发的基础知识,如web前端、HTTP协议、web服务器等
3.学习Servlet API的使用,掌握Servlet的编写和部署
4.学习SP页面的编写和部署
5.学习JavaBean和JSP的结合使用
1.3 阶段三化神炼虚--Spring全家桶(25天)
1.学习Spring框架的基础知识,如IOC、AOP、MVC等
2.学习SpringMVC框架的使用,掌握基于MVC模式的JavaWeb应用开发
3.学习MyBatis框架的使用,掌握基于MyBatis的ORM映射技术
4.学习SpringBoot框架的使用,快速搭建基于Spring的JavaWeb应用
5.学习SpringCloud框架的使用,实现微服务架构的应用开发
1.4 阶段四渡劫飞升--分布式与微服务(30天)
1.学习分布式系统的基础知识,如分布式缓存、分布式数据库、分布式文件系统
2.学习微服务架构的基础知识,如服务拆分、服务治理、服务监控等
3学习SpringCloud Alibaba微服务架构的使用,实现基于微服务架构的应用开发
4.学习Docker容器化技术,实现应用的高效部署和管理
5.学习ElasticSearch分布式搜索技术
2、Java学习路线图解析
以上是学习路线图的简介,下面略微详细的介绍一下各阶段的学习重点以及参考资料
2.1 第一阶段:Java核心基础
包括的知识点有:
数据类型
Java基础语法------变量、分支、循环
面向对象------封装、继承、多态、抽象类、接口、集合
异常
Java高级------IO、多线程、socket、xml解析
反射
设计模式
最开始要学习的是 Java 基础,学习了这部分,就会对 Java 语言有一个初步的了解。其实大部分语言的基础知识都是大同小异,如果之前已经学习过其他语言如C、C++,那学习这部分会更快。
推荐阅读《Java编程思想》、《Java核心技术》。
当学完了这部分,就可以做《即时通信应用》、《信息发布应用》(扩展)这样的基础项目了,完成项目进阶,充分提升自己的编程能力。
2.2 第二阶段:JavaWeb基础+实战
学习一门编程语言,如果不去操作下数据,就感觉这门编程语言空有皮囊却没有灵魂,对吧?学习JavaWeb首先推荐学习 MySQL数据库,参考《高性能 MySQL》。数据库再拓展的话,还有 Redis,互联网技术领域中使用最广泛的存储中间件,参考《Redis 深度历险:核心原理与应用实战》;还有 MongoDB,非关系型数据库,参考《MongoDB权威指南》,拓展内容后续学习和讲解。
数据库面试常见问题有:
事务、索引、锁、分库分表、优化
学习 Java Web,我们不仅需要掌握数据库技术及后端 Java 技术,还需要学习些前端知识。
前端有三大基础技术 Html、CSS和 Java Script,初学的话,学习这些就可以了。如果想做出更好的交互式效果,可以再学习Vue和React等前端框架技术。
后端 Java 技术包括 Servlet、Filter、Listener、Session、Cookie、JSP、EL 表达式和 JSTL 等。
其中,像 JSP 这样比较老的技术,目前在各大互联网公司基本不再使用,已经被 Freemark、Thymeleaf 这样的模板引擎所替代,我们只需要了解基本使用即可。
掌握 Java Web,还需要借助项目提升能力,为大家提供《供应链管理系统》、《智能派单管理系统》(扩展)来完成项目进阶。
2.3 第三阶段:掌握框架
大部分 Java 程序员都要从事 JavaWeb 的相关开发工作,要开发 JavaWeb,自然就离不开 Spring 的系列框架。甚至可以这么说,没有 Spring 的 Java 项目是不存在的。Spring 框架正在变得越来越庞大,但核心的概念仍然是 IOC 和 AOP,也就是控制反转和面向切面编程。这个两个概念对于初学者来说,学习曲线有点陡峭。
目前流行的框架内容主要是SSM框架,细分如下:
Spring框架详解------IOC、AOP
Mybatis框架------动态sql、缓存、原理解析
SpringMVC
MybatisPLUS
SpringBoot
SpringCloud------微服务架构基础
项目管理------maven、git
若想熟练应用SSM框架,还需要项目磨炼,为大家提供《电子商务平台》、《企业固定资产管理平台》(扩展)来进行技能提升,以便更好的掌握SpringBoot框架与企业级项目前后端联调。
2.4 第四阶段:分布式与微服务
本阶段汇集了当下热门的微服务框架,学完后可增加中级程序员的知识储备,为面试/将来技术的深入奠定良好的基础;贴合Java开发发展趋势,可轻松应对Java互联网开发大部分岗位。
包括Spring Cloud Alibaba、RocketMQ、Docker、Redis、Elasticsearch等众多行业大厂必备技术一网打尽,稳固掌握,逐层提高!
包括内容如下:
学完分布式框架Spring Cloud Alibaba后,可以应对企业级分布式项目中的使用,并可以解决服务超时、重试、服务降级、集群容错等问题
Zookeeper各种功能,配置管理、分布式锁、集群管理等,从Zookeeper命令和Java客户端两个角度操作Zookeeper,让开发者快速上手
阿里巴巴开源的RocketMQ,经过了双11这种高并发场景考验,其稳定性可靠的
RabbitMQ各种工作模式,应用场景,还要了解其高级特性如:可靠消息、死信队列、延迟队列、日志监控、消息补偿、消息幂等性、集群搭建等,全面切深入
Docker各部分组成的操作,Docker进程操作,镜像操作,容器操作,使用Dockerfile、Docker compose进行服务快速部署
Redis是目前互联网世界公认的最为流行的 NoSQL数据库,Redis以其强大的数据处理效率在企业级数据高级处理领域一直占据着主流地位
MongoDB是一个开源、高性能、无模式的文档型数据库。它可以解决需要存储数据量大、高并发读写、高可用的现实问题,适用于社交朋友圈、游戏积分、物流轨迹、商品评论等业务。架构成本较低,各方面却很优秀,MongoDB值得学习
Elasticsearch技术栈,最后融入实战,收集日志数据、服务器指标数据等,最终将分析的结果数据友好的展现出来
"项目经验"是企业了解人才能力的关键因素,为了更快更好地进入企业,就要选择真实、可靠、紧跟企业需要的项目课,沉浸不同阶段和规模的项目实战,本阶段项目进阶是
《智慧政务解决方案》、《智慧工厂解决方案》(扩展)。
以上是Java学习的线路图,当然在实际的学习过程中,可以根据自己的实际情况进行调整和学习,提高自己的学习效率,同时建议在学习过程中多参考官方文档和相关书籍;以上技术,足以支撑找一份好的java开发工作,预祝大家事业有成!