
大概1年前,我把自己的实践经验整理成几篇文章,目的是帮助后来者高效的学习Java。
在过去的一年里,根据读者的反馈,以及我个人的思考,我觉得有必要基于这些文章,提供给读者一个凝练,且不失细节的“Java学习路线图”。
该路线图在保留了文章的核心架构外,也做了一些优化,包括:
- 更详细的学习内容。更精确的学习时间。优化学习方法,避开前端知识。及时引入Jar包管理(Maven)。
下面是具体的 “Java学习路线图”:

在图中,我把Java学习分成3个阶段:
- 基础知识Spring应用服务
阶段划分的原则是“由浅入深”,利于读者层层递进的学习。
内容选编的原则是 “有用”,有利于读者理解Java原理,对实际工作有用。
下面是各个阶段的简要介绍。
基础知识
学习Java基础知识,可供选择的书很多,但它们大都有着一个缺点,那就是内容庞杂,有些内容脱离实际,甚至是过时。
对此,在这一阶段,我精选了Java的基础知识,核心原则就是“有用”。并调整了章节顺序,从而有利于读者循序渐进的学习。
Spring
目前,Spring已经成为Java开发的基础设施,是任何一个Java程序员都必须掌握的内容。因此,在掌握了Java基础知识后,接下来应转入Spring的学习。
但在正式开始学习Spring之前,还有两个问题要解决:
- Spring相关jar包的管理。测试程序的编写及管理。
所以,在正式接触Spring知识之前,路线图首先安排了 Maven和Junit的学习。
Maven和Junit,从实用角度看都不难理解,上网搜索就可以满足学习的需要。
Spring的学习又分为两个阶段:Spring Core和Spring MVC。
Spring MVC是建立在Spring Core之上,在Web MVC领域的具体应用。因此,在学习Spring MVC之前,除了学习Spring Core,还必须掌握与Java Web相关的知识,其中最核心的就是Servlet。
在通常的Java学习中,会建议学生要掌握一定的前端知识,从而便于对Spring MVC进行测试。但前端知识庞杂,且边界不好界定,从而就给Java学习者带来很大的负担。
为此,在本学习大纲中,借鉴与行业通用做法,我推荐学生通过junt和HttpClient组合,用单元测试来满足Spring MVC的测试需求。
这样,在Java学习中,就完全避免了对前端知识的接触,极大的提高了学习效率。
特别提醒一下,Spring是Java学习中最难的部分。但是,一旦跨过这个门槛,从此之后,你基本就踏上了Java学习的通途。因此,对Spring学习一定有决心,要敢于迎难而上,不轻言放弃。
关于Spring的学习资料,我推荐《Spring实战》,虽然我个人对它并不十分满意,但已是我读过的最好的书。阅读的过程中,真遇到不理解的东西,记着随时上网搜索。
应用服务
在这一部分,我列举了Java开发中最常用的“中间件”。这些中间件涵盖了各个领域,包括持久化、缓存、队列、反向代理等。
其中列举的东西,虽然涉及广泛,但内容都相对独立,难度也有限。因此通过上网搜索,就可以满足学习的需求。
在掌握了这些中间件之后,你就会成长为一个能够独立编写Java后端程序,并对架构有一定理解的初级Java软件工程师。
最后,我想说的是,该“Java学习路线图”完全来自于我的一线开发经验,学习的节奏也经过实践的检验。因此,后来者只需“按图索骥”,自会以最少的投入,取得最好的学习效果。
祝你学习顺利!
当然在2019年的今天,无论是 Java 还是 Python,学出来之后找工作都是很容易的,而且小编为大家准备的教程(免费)每天拿出2-3个小时自学就可以,学的时间长了,也一下子消化不了,如果你想学习的话,不如就从现在开始学习编程语言吧!

第一阶段 :Java基础

1.认知基础课程2. java入门阶段3. 面向对象编程4. 飞机小项目5. 面向对象和数组6. 常用类7. 异常机制8. 容器和数据结构9. IO流技术10. 多线程11. 网络编程12. 手写服务器13. 注解和反射14. GOF23种设计模式15. 正则表达式16. JDBC数据库操作17. 手写SORM框架18. JAVA10新特性19.数据结构和算法20. JVM虚拟机讲解21. XML技术解析第二阶段:数据库开发全套课程

1.Oracle和SQL语言2.Mysql快速使用3.PowerDesigner使用4.JDBC数据库5.Mysql优化6.oracle深度讲解第三阶段:网页开发和设计

1.HTML基础2.CSS基础3.JavaScript编程4.jQuery5.easyUI第四阶段:Servlet和JSP实战深入课程

1.Servlet入门和Tomcat2.request和response对象3.转发和重定向_Cookie4.session_Context对象5.JSP6.用户管理系统7.Ajax技术8.EL和JSTL标签库9.过滤器10.监听器第五阶段:高级框架阶段

1.Mybatis2.Spring3.Spring MVC4.SSM框架整合5.RBAC权限控制项目6.Hibernate37.Hibernate48.jFinal9.Shiro安全框架10.Solr搜索框架11.Struts212.Nginx服务器13.Redis缓存技术14.JVM虚拟机优化15.Zookeeper第六阶段:微服务架构阶段

1.Spring Boot2.Spring Data3.Spring Cloud第七阶段:互联网架构阶段

1.Linux系统2.Maven技术3.Git4.SVN5.高并发编程6.系统和虚拟机调优7.JAVA编程规范8.高级网络编程9.Netty框架10.ActiveMQ消息中间件11.单点登录SSO12.数据库和SQL优化13.数据库集群和高并发14.Dubbo15.Redis16.VSFTPD+NGINX第八阶段:分布式亿级高并发电商项目

1.基于SOA架构介绍2.VSFTPD和Nginx和商品新增3.商品规格参数管理4.Jsonp5.CMS模块6.广告位数据缓存7.SolrJ和SolrCloud8.商品搜索9.商品详情10.单点登录11.购物车12.订单系统13.分库和分表14.分布式部署第九阶段:毕设项目第一季

1. 电子政务网2. 企业合同管理系统3. 健康管理系统4. 商品供应管理系统5. 土地档案管理系统6. 聊天室设计和实现7. 码头配套和货柜管理系统8. 百货中心供应链系统9. 病历管理系统10. 超市积分管理系统11. 动漫论坛12. 俄罗斯方块13. 个人博客系统14. 固定资产管理系统15. 影视创作论坛16. 屏幕截图工具17. 超级玛丽游戏18. 飞机大战游戏19. 雷电第十阶段:毕设项目第二季

1. 微博系统2. 写字板3. 坦克大战4. 推箱子5. 电脑彩票系统6. 记账管理系统7. 新闻发布系统8. 医院挂号系统9. 仓库管理系统10. 停车场管理系统11. 网络爬虫12. 酒店管理系统13. 企业财务管理系统14. 车辆管理系统15. 员工信息管理系统16. 旅游网站17. 搜索引擎18. 进销存管理系统19. 在线考试系统20. 物流信息网21. 住院管理系统22. 银行柜员业务绩效系统获取方式:转发此文+关注 并 私信小编 “ 学习 ”,即可免费获取!