我的大学四年到毕业工作5年的学习路线资源汇总

在这里插入图片描述

小傅哥 | https://bugstack.cn
沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。目前已完成的专题有;Netty4.x实战专题案例、用Java实现JVM、基于JavaAgent的全链路监控、手写RPC框架、架构设计专题案例、源码分析、算法学习等。

前言

一直有伙伴问小傅哥,有没有一个Java的学习路线,最好再有一些相关的资料、书籍、视频。因为现在自己学习也不知道哪不会,看到这个学这个,看到那个学那个,也摸不到头,还比较混乱。特别希望有一个大学到毕业的学习路线整理。

好!安排给你。

以下是我对大学四年和工作5年左右的一个学习路线整理,并将所有资料按照大一、大二…到工作五年,分别汇总到网盘里,以便不至于将资料弄到一堆,根本没法看。因为分享链接总是失效,可以通过关注公众号:bugstack虫洞栈,回复:学习资源下载+百度帐号,获取加入链接,下载有序分类的300G资料。

大一

对于刚上大学的小伙伴来说,完全的投入学习还是有些难的。毕竟大学的生活还是多姿多彩的,很适合释放长期以来压迫急需释放的心灵和懵懂的爱情。但每一步的决定都是因果,付出多少就会有多少回报。在大一可以打好一个良好的学习根基,并合理的安排自己的作息时间。娱乐、学习、健身、活动,都不会缺失。怕的就是沉迷于一项内容!

对于软件或者计算机专业来说,学习内容还是蛮有趣的,也很容易建立成就感。而且学习到的内容还可以帮助其他系的妹子,何乐而不为呢?大一,是一个打开各项窗口和大门的过程,在技术领域也是这样,如下图;

1. 软件

序号软件描述
1word文本编辑工具,无论是你以后做毕业论文还是平时整理材料,以及将来工作中都会用到
2excel电子表格软件,基本统计个表、汇总个成绩,以及很多内容上都会用到
3ppt这个就是神器了,建功立业,全靠他了。
4photoshop如果你想以后可以自己做一些网站,那么一定会需要到ps,很多地方的切图,转换都会用到

2. 技术

前端技术

序号语言描述
1html超文本标记语言,简单说就是你需要写一个网页时候使用
2Div+CSS学到这个技术就可以把网页做的更加漂亮,布局出各种结构
3JavaScript是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。学成大神以后做个游戏,搞个破坏轻而易举。也是你后续学习更多前端技术的根基

后端技术

序号语言描述
1C 语言这可能是你第一个写出 helloworld 的程序了,虽然有些难,但是这让你进入了语言的世界
2C++C++是C语言的继承,进一步扩充和完善了 C 语言。

把妹技术

序号工具描述
1老毛桃装系统Windows使用老毛桃还是很方便安装系统的,放心只要你学会这个,至少认识一堆妹子和学妹。
2软件卸载和安装很多常用的软件妹子是装不上的,比如开发工具、数据库、ACCESS等等,把它们保存好,放到自己的U盘里
3清理灰尘买把套装螺丝刀和清灰贴膜工具

3. 网站

技术博客

序号网址描述
1CSDNCSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客、精品问答、职业培训、技术论坛、资源下载等产品服务。
2掘金掘金是一个帮助开发者成长的社区, 掘金的技术文章由稀土上聚集的技术大牛编写。
3开源中国OSCHINA.NET 是目前领先的中文开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台
4博客园博客园是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区
5思否SegmentFault 思否是中国领先的新一代开发者社区和专业的技术媒体。我们为中文开发者提供纯粹、高质的技术交流平台以及最前沿的技术行业动态。
6菜鸟教程提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。
7W3CSchoolw3cschool启用中文品牌名–编程狮,是一个专业的W3C前端开发及编程入门学习平台,提供包括HTML,CSS,Javascript,jQuery,C,PHP,Java,Python,Sql,Mysql等编程语言。

视频资源

序号网址描述
1慕课网慕课网(imooc)是it技能学习平台。慕课网(imooc)提供了丰富的移动端开发、php开发、web前端、android开发以及html5等视频教程资源公开课。
2哔哩哔哩{技术类视频}B站的技术视频内容很丰富,也免费。但除了技术视频以为还有很多其他视频!

算法网站

序号网址描述
1力扣力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。
2牛客网专注于程序员的学习和成长的专业平台,集笔面试系统、课程教育、社群交流、招聘内推于一体。

4. 书籍

序号名称
1C Primer plus 第五版
2c语言深度剖析
3谭浩强经典C++教程
4The_C_Programming_Language(C程序设计语言)
5C专家编程
6数据结构与算法分析
7零基础学HTML+CSS [张熠编著][第三版]
8Javascript从入门到精通

5. 视频

序号名称
1C语言教学视频
2C语言视频教程-谭浩强版-小甲鱼主讲
3html+CSS教程
4机器学习基础班数学、算法、微积分、概率论、统计机器学习概率与算法、深度学习班数学模型

6. 项目

序号名称技能
1开发一款Html+Js的计算器html、div+css、js
2模仿静态的视频网站html、div+css、js
3模仿仿照搜狐、京东等首页html、div+css、js
4开发一款本地音乐播放器使用C语言或者C++
5视频播放软件使用C语言或者C++

大二

刚上大学是打开一扇新的大门,左走、右走不停的摸索,有人沉淀知识,有人混迹网吧。满级的大号是否能干过人家一年下来的学习资本。不要让每一次时间都流逝的无影无踪,留下点痕迹。

大二开始你可能不会在去参加更多的社团,更多的活动,而是安心下来去钻研更多的知识。有时候学校教给你的很多都是领进门,剩下的修行还是靠自己。并且到了大二学习的内容也会更多,技术难度也会相应的增加。不过当你一个个的突破这些难度后,后面的问题也就随之煎蛋了。同时上一年打开了很多技术网站,技术博客。从里面不断的搜索答案,寻找结果。那么从这一年开始,也要自己总结写下一些东西。

1. 软件

序号软件描述
1Git可能刚接触有点晕,甚至不知道这是干啥的。这是一款可以用于协同开发的软件,用于下载和上传代码到公有仓库。代码仓库;https://github.com/
2XMind思维导图软件,可以画出树形结构的思路,本文的截图就是使用 xmind 绘制
3Visio绘制各种流程图,包括常用的网络图、组织结构图、工程设计等。
4AxureAxure RP是一款专业的快速原型设计工具,可以画出一个网页并生成成 HTML
5IntelliJ IDEA、Eclipse、MyEclipse这三款都可以进行代码开发,推荐使用IDEA

2. 技术

前端技术

序号语言描述
1jqueryjQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。
2vue.js是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。

后端技术

序号语言描述
1JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
2SpringSpring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。
3SpringMvcSpring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
4Ibatis/MybatisMyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
5RedisRedis 教程 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
6MavenMaven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

数据库

序号语言描述
1MysqlMySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。mysql 入门教程
2OracleOracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。

Linux系统

序号系统描述
1UbuntuUbuntu是一个以桌面应用为主的Linux操作系统。自己的机器也可以尝试安装学习。
2CentOSCentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一。

服务器

序号系统描述
1apache tomcatApache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。

3. 网站

序号网址描述
1GithubGitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。
2Gitee码云(gitee.com)是 OSCHINA.NET 推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管。
3问答社区Stack Overflow是一个与程序相关的IT技术问答网站。
4udemyUdemy 是一家开放式在线教育网站 (MOOC)
5禅道禅道 项目管理软件 是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理等
6Youtube(视频学习)视频学习网站,国外的
7国外知乎在Quora能看一些在知乎不能聊的话题,Quora上的外国人对我们的评论还是比较理性的。
8InfoQinfoq是一个实践驱动的社区资讯站点,致力于促进软件开发领域知识与创新的传播。
9工具OSCHINA.NET在线工具,ostools为开发设计人员提供在线工具,提供jsbin在线 CSS、JS 调试,在线 Java API文档等。

4. 书籍

序号名称
1入门java黄金资料
2编程之美.完整版
3Thinking in Java(第四版 )
4MySQL必知必会(文字版)
5REDIS 入门指南
6Java EE互联网轻量级框架整合开发 SSM框架
7HTTP权威指南
8git使用说明以及规范V1.0
9Redis 深度历险
10编程之美

5. 视频

序号名称
1HTML5游戏-坦克大战-内含电子书
2Java多线程详解
3Java语言基础教程-Java NIO流篇
4mysql
5Spring、Struts、MVC、Hibernate、mybatis
6毕向东JAVA基础教程全套
7达内SSM视频教程
8马士兵_JavaSE视频
9尚硅谷jQuery
10玩转Git视频教程
11信息技术提高班springmvc25讲
12最新Java基础入门与进阶全套视频
13最新版Intellij IDEA高清视频教程

6. 项目

序号名称技能
1开发一款博客系统Spring、SpringMVC、Mybaits、Maven、Mysql、Git
2开发一款图书馆里系统Spring、SpringMVC、Mybaits、Maven、Mysql、Git
3在线商城系统Spring、SpringMVC、Mybaits、Maven、Mysql、Git
4在线视频资源系统Spring、SpringMVC、Mybaits、Maven、Mysql、Git
5开发一款聊天软件Java Socket、Swing、JavaFx
6考试系统Java Socket、Swing、JavaFx

大三

如果说大一、大二是打基础,那么大三是需要将一些技能栈的广度和已有知识的深度增强的一个过程,同时这一年的学习也基本会影响到将来找工作难易。付出多少终归是有回报的,只要你能在上学阶段就已经可以锻炼成一个正式工作1年左右的能力,那么找工作就像刷offer一样容易,面霸!

通过以往的学习和你自己对知识栈的积累,以及在这条路上认识到的同好,基本你也是一个小大牛了,可以独立解决一些问题和对一些知识有了自己的学习方法论。接下来这一年可以继续拓展自己的技能!

1. 软件

序号软件描述
1虚拟机(VirtualBox、Virtual Machine)虚拟机的安装和使用,非常有利于你后续的对于一些软件的学习。
2Postman是一款接口测试工具,简单易用。也是你后续工作中会用到的软件。
3JMeterJMeter是Apache组织开发的基于Java的压力测试工具。有了他你就可以知道自己的网站、博客性能了。

2. 技术

后端技术

序号语言描述
1深入Java多线程、JVMAPI、部分源码原理、HashMap、Tree链表、数组、网络通信、动态代理和反射、锁、IO等等
2了解RPC框架Dubbo、gRPC
3了解消息中间件ActiveMQ、RocketMQ、kafka
4了解分布式思想分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。
5框架方面学会使用Maven搭建SSM类项目、了解领域驱动设计
6了解云服务器百度云、阿里、腾讯对学生用户都可以廉价购买学习使用
7SpringBootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
8SpringCloudSpring Cloud集成相关优质项目推荐 这些项目是Spring Cloud官方项目或是对Spring Cloud进行了有益的补充以及基于Spring Cloud最佳实践。

3. 网站

序号网址描述
1HackerRank算法题刷题网站
2矢量图素材图片下载,用于网站开发中使用
3公式可视化一般看一些公式比较时间复杂度
4数据库内核月报阿里的数据库内核月报,很高质量
5虫洞技术栈个人的技术高阶学习技术博客

4. 书籍

序号名称
1Effective Java中文版(第2版)
2Java GC Tuning
3Java核心技术 卷1
4Java核心技术 卷II
5Java特种兵(上册)
6Java虚拟机规范
7Maven3实战
8Servlet3.1规范中文版
9Spring技术内幕:深入解析Spring架构与设计原理(第2版)
10《Java核心技术 卷II 高级特性 (原书第9版)》
11《码出高效:Java开发手册》
12【JavaScript高级程序设计(第3版)】中文 高清 完整 详细书签版
13鸟哥的Linux私房菜 基础学习篇(第三版)
14深入分析Java Web技术内幕
15深入理解Java虚拟机:JVM高级特性与最佳实践(最新第二版)

5. 视频

序号名称
1JAVA应用JVM原理及参数调优深入讲解-11节
2SpringCloud
3传智播客RabbitMQ视频教程
4第一套:JVM内核—原理、诊断与优化
5第二套:深入理解Java虚拟机(jvm性能调优+内存模型+虚拟机原理)
6第三套:深入Java虚拟机-类加载器专题
7炼数成金Kafka视频教程
8尚学堂RocketMQ视频教程
9图灵学院-高并发下分布式锁实践
10dubbo入门基础与集群搭建

6. 项目

序号名称技能
1结合所有技术搭建一个自己个博客域名、备案、虚拟机、https、github等等
2完成一个中型项目,用于以后毕业设计和找工作SpringBoot、SpringCloud、Mysql、Git、Maven、Xmind、Visio等

大四

到了这一年基本会分为;找实习工作、考研、考公务员,对于找实习工作的按照你的知识积累并不会很难,可以在实习僧以及校招等方面投递简历,对于简历的编写一定要参考下,不要胡乱的写,每一次投递都是你的机会。

整理好的知识技能栈,梳理下自己的能力范围,准备好面试的储备。在这个过程你可能会很忙,不在是能安心的坐下来学习,可能还得处理一下感情问题。但终归前程路漫漫,这不是终点!

1. 互联网

序号公司
1腾讯
2阿里
3华为
4头条
5百度
6京东
7美团
8小米
9网易
10新浪

北上广深也都分布着的大厂互联网也不少,按需选择,这里就不一一列举了!

2. 工作

简历投递网站

序号网站
1Boss直聘
2拉钩网
3领英
4脉脉
5简历模版
  1. 快速融入团队
  2. 完成分配任务
  3. 学习涉及的技术栈和框架

3. 毕业设计

  1. 认真完成选题
  2. 整理项目设计的技术栈和相关资料
  3. 搭建Demo工程,逐步解决各项问题点
  4. 输出整体工程与文档

4. 书籍

序号名称
1Effective Java中文版(第2版)
21000道 互联网Java工程师面试题
3[代码大全2中文版(完整清晰版)]
4[深入理解Java.7.核心技术与最佳实践].成富.扫描版
5Head First Java 中文高清版
6HotSpot实战
7Java_NIO_细节也精彩
8Java.Concurrency.in.Practice
9JAVA解惑
10Java虚拟机规范(Java SE 7)
11try和finally里的return
12白帽子讲Web安全
13从Paxos到Zookeeper 分布式一致性原理与实践
14深入理解Java虚拟机++JVM高级特性与最佳实践
15写给大忙人看的Java SE 8

5. 视频

序号名称
1分布式支付系统
2国家电力项目实战(共九天)_Java_SSH

工作1-3年

正式工作往往跟在校学习并不一定,在学校很多时候都是在写 DEMO,并没有一个整体全局的考虑。但是随着工作后你会跟着业务、运行、产品功能的不断的迭代,开发完成各种各样的需求。但是这 1-3年也基本是一个个人技能爆发增强的过程。这样让你把之前学到的知识和现有项目中的锻炼,不断的完善个人的技术栈。

但也不忘记在这个阶段除了工作内容需要,也得继续扩展自己的知识技能。否则会陷入一种工具人的僵局,慢慢变成螺丝钉。要想不断的突破自我,一定是不断的学习和接受新的理念和新的挑战。

1. 技术

序号语言描述
1Dubbo一款RPC框架,很多互联网都在用,也有的公司是自己的RPC框架。但是原理基本一样。
2MQ消息型中间件,用于系统解耦、消峰等
3Zookeeper分布式的,开放源码的分布式应用程序协调服务
4ElasticSearch基于Lucene的搜索服务器
5EurekaEureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务
6nginxNginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
7熔断、降级、限流分布式微服务中在高并发下保护的一些策略
8分布式任务把定时任务通过集群的方式进行管理调度,并采用分布式部署,保证系统的高可用,提高了容错。
9Jenkins工程搭建和部署上线
10MyCat分库分表工具和原理

2. 工作

  1. 责任担当,在框架内合理完成需求开发
  2. 不止于此,对每一个需求不只是开发完成,还需要对上下文清楚的了解
  3. 沉淀成长,要学会对知识的积累形成自己的技术栈的一条完整链路

3. 书籍

序号名称
1阿里巴巴开发手册
2代码整洁之道
3程序员修炼之道
4Java编程思想
5深入理解Java虚拟机
6Java并发编程实战
7设计模式
8Head First 设计模式(中文版)
9200个聪明人的逻辑思维游戏.最具挑战和智慧的逻辑思维谜题

4. 视频

序号名称
1老男孩Docker生产实践
2慕课网Docker+k8s微服务容器化开发实践
3Zookeeper分布式系统开发实战
4nginx视频教程(3套)

工作3-5年

3到5年的程序猿与三年前不太相同,以往大多数时候只是实现需求,完成任务。所能关注的信息基本也是一个点一个点,但是技术栈锻炼的还不错。那么可能会出现一种情况就是为什么技术不错却又不能全局的驾驭系统。那么这个阶段就是提升整体系统把控的能力,可以写出更加容易扩展和更好的健壮性的代码。

每一个阶段的成长都不太容易,需要一些项目给予也需要给自己一些加压。不只是对技术栈的更深层的理解,也要从中吸取更多的营养。学会更加良好的抽象化和完整的建设系统的能力。

1. 源码能力

序号名称
1Spring源码
2Mybaits源码
3Schedule 源码
4Dubbo源码
5线程池源码
6JVM虚拟机原理,用Java实现JVM
7JDK 部分核心常用组件源码,JUC、HashMap

2. 扩展技术

序号名称
1Netty
2javaagent
3asm
4javassist
5分布式跟踪
6Docker
7熔断、降级、限流

3. 算法能力

序号名称
1动态规划
2数据结构
3算法思维
4做一些算法题提升

4. 场景总结

序号名称
1各种场景的下的技术方案
2个人技术栈的完整程度

5. 书籍

序号名称
1架构整洁之道
2docker开发指南
3实现领域驱动设计实践
4分布式系统原理与范型
5Redis设计与实现
6google软件测试之道
7Netty5.0架构剖析和源码解读
8重构改善既有代码的设计
9多线程并发编程在Netty中的应用分析-批注版

6. 视频

序号名称
1架构师体系视频
2马哥docker+k8s视频教程
3netty精讲(含电子书)

总结

  1. 以上的内容总结基本也和我大学到现在的学习路线差不多,因为有些是新技术也同样补充了下。可能在这些内容里有一些是细节点是缺少的,但是也没关系。因为随着你的学习,会在你学习到的旅途中看到更多的风景,收获更多的果实。
  2. 程序员这个行业就是一个不断学习,不断成长的方向。如果你担心35岁以后怎么样,那么一定你是恐慌之前没有投入太多的经历去沉淀自己。所有的恐慌也不过是一点点懒惰的积累,最终的一个点爆发了而已。
  3. 愿努力拼搏的你,都能在前进的道路上有所收获!

小傅哥 CSDN认证博客专家 ASM 设计模式 面经手册
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付 39.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值