Skip to content

lenve/java666

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Java 百宝箱

1.学习规划

技术日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的。

网上的资料多如牛毛,但是很多时候我们缺的不是一个资料,而是一个学习规划!

就是说,做 Java 开发,我们应该从哪里开始学?应该学习哪些东西?应该按照什么样的顺序来学?

松哥大二刚开始自学 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,自己一个人摸索了很长时间,后来才逐步建立起自己的知识体系。

所以每次有小伙伴问我 Java 的学习规划时,我都能理解大家所处的困境。

Java 开发涉及到的领域非常多,对于开发者而言要掌握的东西也非常多,初入行的小伙伴甚至觉得这些要掌握的东西非常杂乱,其实不然!所有要学习的东西都是有内在关联的。

松哥今天就来和大家捋一捋 Java 学习路线图,一起来看看都有哪些东西需要掌握,以及要按照什么样的顺序来学习。

1.1 整体规划

Java 企业级开发涉及到的技能点实际上非常多,我将其大致归为以下五类(文末可以获取思维导图):

在这个技术栈的基础上,你可以继续选择走全栈道路或者走大数据方向。

有的小伙伴可能会纠结于要全面还是要精通某一方面,其实这个无所谓好坏,关键是要看你自己。你是想去大厂做一个某一领域的技术专家,还是想自己独当一面,自己喜欢的才是最好的。

话说回来,即使你想钻研某一方面,也不是说这些东西就不用学了,即使精通某一方面,也必然是先广泛涉猎,再慢慢确定自己的方向。

松哥大学自学 Java 的时候就是这样,当我不知道哪些东西重要哪些东西不重要的时候,我就都学,反正大学生有大把时间,我甚至连 Dreamweaver,Fireworks,Flash 三剑客都学了,甚至利用 Dreamweaver 上简陋的功能做了一个动态网站。

这些东西你说学了没用吗?其实不见得。当我学了很多之后,在未来某一天,突然就顿悟了,把这些学过的东西串起来了,有一种醍醐灌顶的感觉。

接下来,这里五大块松哥拆分开来分别给大家介绍。

1.2 JavaSE

先来看我画的思维导图(文末可以获取思维导图):

JavaSE 这块其实没啥值得说的,基础的东西很多年都没有变化。而且 JavaSE 这块网上也有很多免费教程,大家在公众号【江南一点雨】后台回复 2TB,也有相关的免费视频教程

很多公司,用的 Java8/9/10,实际上还是写的 JDK1.5 的代码,但是这并不意味着我们就不用学习了。Java8/9/10/11 中的一些新特性还是有必要去学习下,特别是现在 WebFlux 逐渐被人们重视,一些从 Java8 就开始萌芽的理念与技术还是很有必要掌握一下的。

1.3 数据库

先来看我画的思维导图(文末可以获取思维导图):

作为一名 Java 工程师,数据库的重要性不言而喻,这算是基本功,我们不能老指望着 DBA,毕竟配有 DBA 的公司只是极少数。有句话叫做“SQL 写得好,下班下得早”。

当然数据库也有很多优化方面的问题,但是在大家刚刚开始学习的时候,我其实是不建议去学习数据库优化、主从、集群、读写分离这些东西的,这些可以等到后面学习微服务的时候再去学习比较合适,在刚学习 Java 没多久的情况下,就去学习数据库优化,极有可能让你对开发这条路打退堂鼓。

数据库这块大家在公众号【江南一点雨】后台回复 2TB,也有相关的免费视频教程

1.4 Web 基础

先来看我画的思维导图(文末可以获取思维导图):

学习是给自己学的,不能偷懒,所以你看我这里列出来的知识点比较多,甚至又一些看起来好像过时的技术。

有人会纠结 EasyUI 要不要学,这个有点古老。我的意见是,如果你是在校大学生,那就学,反正有时间;如果你已经工作了,现在查漏补缺,那可以结合公司的技术栈决定要不要学。

其实 EasyUI 也不能算是边缘化的东西,如果你前端不用 Vue、React 或者 Angular,EasyUI 绝对是一个无法忽视的存在,学习一下 EasyUI ,也能让我们理解整个前端的一个发展过程。

一般来说,Web 基础学完其实是可以自己做一些简单的项目的巩固一下知识点,这块网上也有很多开源项目,松哥这里也给大家推荐一个 CoolMeeting:

至于这里列出来的其他技术点,都是常规技术,大家在公众号【江南一点雨】后台回复 2TB,也有对应的免费视频教程

1.5 经典框架

先来看我画的思维导图(文末可以获取思维导图):

这里涉及到的东西就比较多了,也是学起来最最漫长的一部分。

这里我主要说说关注的几个问题。

  1. SSH 还要学吗

我们说的 SSH 一般是指 Spring、Struts2 以及 Hibernate。这三个里边,可以确认不用学习的 Struts2,如果你大学刚毕业,进入到一家公司,用 Struts2 做开发,你进去干了三年,Struts2 用的滚瓜烂熟,出来跳槽却发现没有任何优势,所以我不建议大家在 Struts2 上花时间。

至于 Hibernate ,这个我持保留态度。为什么这么说呢?

因为 Hibernate 和 Jpa 之间有着千丝万缕的联系,Spring Data Jpa 结合 Spring Boot,还是有很多公司在用,而如果你掌握了 Hibernate,在后面使用 Jpa 的时候上手很快,关于 Hibernate 和 Jpa 之间的关系,松哥之前专门写过文章介绍:干货|一文读懂 Spring Data Jpa!

  1. 消息中间件学哪个?

就我目前了解到的情况,JavaEE 项目中,RabbitMQ 和 RocketMQ 使用较多,大数据中 Kafka 用的较多,传统的满足 JMS 规范的 ActiveMQ 使用较少。因此小伙伴们可以结合这样一个实际情况选择合适的消息中间件学习顺序。

这个阶段的知识点都搞定了,做个毕设肯定是绰绰有余了,出了学校校门找个实习肯定也够用了。大家在公众号【江南一点雨】后台回复 2TB,也有对应的免费视频教程

1.6 分布式/微服务相关

先来看我画的思维导图(文末可以获取思维导图):

这一块,Spring Boot 和 Spring Cloud 是重点,这两个又分别涉及到诸多知识点:

SpringBoot:

SpringCloud:

学习 Spring Boot 的基础依然是 SSM,不建议跳过 SSM 直接学 Spring Boot,这个松哥之前也专门写文章讲过:Spring Boot 要怎么学?要学哪些东西?要不要先学 SSM?

Spring Boot 学完之后,也可以做个项目巩固一下,推荐两个开源项目:

当你搞定了 SSM、搞定了 Redis、搞定了中间件,你再去学习 Spring Boot 就会发现他是如此简单!

至于 Spring Cloud,虽然 Netflix 公司的几个组件已经不打算继续开源了,但是对于大家而言,我觉得还是有必要去学习一下的,毕竟也不难,花不了多少时间,而且学习这些组件可以帮助大家快速建立一个 Spring Cloud 知识体系。

出了这两大块之外,剩下的就不用我多说了。MySQL 的进阶我是建议放在这个阶段学习的,像数据优化、主从搭建、读写分离等,我建议放在这个阶段。

大家在公众号【江南一点雨】后台回复 2TB,也有对应的免费视频教程

1.7 小结

上面的都学完之后,你已经可以站在一个比较高的角度来看待 JavaEE 开发了。

这个时候,可以考虑自己是想走 “专” 的道路,当一个技术专家呢,还是想走全栈的道路,以后自己搞个工作室之类的,抑或是想往大数据的方向发展都是可以的。无论小伙伴想走哪个方向,都可以在公众号【江南一点雨】后台回复 2TB,有对应的免费视频教程。

好了,一点点经验和小伙伴们分享,文中涉及到的思维导图大家可以在公众号后台回复 规划 获取下载链接。

好啦,小伙伴们五一快乐哦~

2.学习资源

今年 5 月份的时候,松哥发了一个视频资源库,当时和大家说,这个资源库会定期更新,后来却迟迟未更新,其实不是我没资源了,是因为当时的关键字是我一个一个在微信后台配置的,配置到后面发现,后台配置关键字有数量上限,没法继续配置了,所以这事就搁置下来了。

九月份松哥上线了自己的服务,和微信的后台对接起来,具体实现大家可以参考这两篇文章:

现在再配置关键字就没有限制了。于是最近抽空把资源更新了一波,废话不多说,大家在公众号【江南一点雨】后台回复相应的口令,就可以获取相应的视频下载地址。

2.1 Java 基础

资源名称 口令
Java 基础语法 javaboy4096
Java 面向对象 javaboy6148
JavaSE 飞机大战项目 javaboy2053
深入面向对象和数组 javaboy8200
Java 常用类详解 javaboy4105
Java 异常机制解析 javaboy6157
Java 集合与数据结构 javaboy2062
JavaIO 流全解析 javaboy8209
深入理解 Java 多线程 javaboy4114
Java 网络编程 javaboy6166
手动开发一个 Web 服务器 javaboy2071
深入理解 Java 注解+反射 javaboy8218
Java23 种设计模式 javaboy4123
学会 Java 正则表达式 javaboy6175
JDBC 详解 javaboy2080
独立开发 SORM 框架 javaboy8227
快人一步,Java10 新特性全解析 javaboy4132
Java 数据结构和算法 javaboy6184
深入理解 Java 虚拟机 javaboy2089
Java 解析XML文件 javaboy8236

2.2 数据库

资源名称 口令
Oracle 数据库安装及简单 SQL javaboy4141
Oracle 账户管理及查询语句 javaboy6193
Oracle 中的函数 javaboy2098
Oracle 中的子查询 javaboy8245
Oracle 中常见的表操作 javaboy4150
Oracle 中的数据备份 javaboy6202
MySQL 基础 javaboy2107
PowerDesigner 教程 javaboy8254
JDBC 操作数据库 javaboy4159
MySQL 优化 javaboy6211
Oracle 高级课程 javaboy2116
数据库与 SQL 优化 javaboy6283
数据库集群与高并发 javaboy2188

2.3 Web 基础

资源名称 口令
HTML 入门教程 javaboy8263
CSS 教程 javaboy4168
JavaScript 视频教程 javaboy6220
jQuery 视频教程 javaboy2125
EasyUI 视频教程 javaboy8272
Servlet 基础 javaboy4177
Servlet 中的 Request 和 Response javaboy6229
Servlet 请求转发与重定向 javaboy2134
Session 和 Cookie javaboy8281
JSP 详解 javaboy4186
用户管理系统实战 javaboy6238
Ajax 详解 javaboy2143
EL 和 JSTL javaboy8290
过滤器详解 javaboy4195
监听器详解 javaboy6247
KnockoutJS 实战视频 javaboy2152

2.4 Java 高级

资源名称 口令
IntelliJIDEA 视频教程 javaboy4285
Java 高并发秒杀方案 javaboy8299
Activiti 工作流实战解析 javaboy4204
Java 并发编程与高并发实战 javaboy6256
Linux 快速入门 javaboy2161
Maven 详解 javaboy8308
Git 应用详解 javaboy4213
Svn 入门教程 javaboy6265
高并发编程与线程池 javaboy2170
系统优化与 JVM 调优 javaboy8317
Java 编程规范 javaboy4222
AIO、BIO、NIO 详解 javaboy6274
Netty 高级视频教程 javaboy2179
ActiveMQ 消息中间详解 javaboy8326
单点登录视频教程 javaboy4231
Dubbo 详解 javaboy8335
Redis 全解析 javaboy4240
VSFTPD+NGINX 视频教程 javaboy6292
MyBatis 视频教程 javaboy2197
Spring4 视频教程 javaboy8344
SpringMVC 视频教程 javaboy4249
SSM 框架整合视频教程 javaboy6301
RBAC 权限控制视频教程 javaboy2206
Hibernate4 视频教程 javaboy8353
Jfinal 视频教程 javaboy4258
Shiro 视频教程 javaboy6310
Solr 视频教程 javaboy2215
Struts2 视频教程 javaboy8362
Nginx 视频教程 javaboy4267
Redis 缓存详解 javaboy6319
JVM 虚拟机优化 javaboy2224
Zookeeper 详解视频 javaboy8371
Linux 基本操作 javaboy6328
架构师面试攻略(文档) javaboy2233
架构师面试攻略(视频) javaboy8380
JUC 视频教程 javaboy6400
MySQL 高级教程 javaboy2305
Java 邮件开发教程 javaboy8452
Maven 实战视频 javaboy8443
自己 DIY 一个 Tomcat javaboy4339

2.5 大前端

资源名称 口令
HTML5 新特性 javaboy4276
AngularJS 视频教程 javaboy6337
Grunt 视频教程 javaboy2242
Gulp 视频教程 javaboy8389
Webpack 视频教程 javaboy4294
Bootstrap 视频教程 javaboy6346
CSS3 视频教程 javaboy2251
ES6 视频教程 javaboy8398
HTML5 核心技术 javaboy4303
HTML5 实战 javaboy6355
HTML5 项目实战 javaboy2260
JS 模块化视频教程 javaboy8407
less 视频教程 javaboy4312
NodeJS 视频教程 javaboy6364
React 视频教程 javaboy2269
Zepto 视频教程 javaboy8416
HTML+CSS 实战视频 javaboy4321
JavaScript140 集 javaboy6373
jQuery 视频教程 javaboy2278
JavaScript 高级语法视频教程 javaboy8425
Vue 项目实战视频 javaboy4330
CSS3 特效实战 javaboy6382
HTML5 特效实战 javaboy2287
HTML5+Canvas 实现刮刮卡 javaboy8434
Gradle 从入门到精通 javaboy6391
mpvue 项目实战 javaboy2296
Vue 最新最全视频教程 javaboy4348

2.6 大数据

资源名称 口令
Linux 操作系统 javaboy4357
Linux 基本命令 javaboy6409
Linux 文件安装 javaboy2314
Shell 编程 javaboy8461
网络基础知识 javaboy4366
LVS 集群与高并发 javaboy6418
Nginx 和高并发 javaboy2323
keepalive 和单点故障 javaboy8470
HDFS 分布式文件系统 javaboy4375
mapreduce 分布式计算 javaboy6427
YARN 资源管理与任务调度 javaboy2332
mapreduce 计算案例 javaboy8479
HIVE 视频教程 javaboy4384
Hbase 数据库详解 javaboy6436
zookeeper 协同处理 javaboy2341
CDH 使用 javaboy8488
HUE 使用 javaboy4393
IMPALA 详解 javaboy6445
oozie 详解 javaboy2350
elasticsearch 详解 javaboy8497
Redis 内存数据 javaboy4402
Scala 入门 javaboy6454
Spark 详解 javaboy2359
Spark 高级 javaboy8506
Spark-Stream 流式计算 javaboy4411
Kafka 分布式消息队列 javaboy6463
STORM 流式计算框架 javaboy2368
Python 语言基础 javaboy8515
回归算法 javaboy4420
分类算法、决策树 javaboy6472
聚类算法、微博案例 javaboy2377
推荐算法 javaboy8524
大型电商日志分析(项目实战) javaboy4429
智慧交通(项目实战) javaboy6481
智能 App(项目实战) javaboy2386

2.7 人工智能

资源名称 口令
人工智能入门 javaboy8533
线性回归深入与代码实现 javaboy4438
梯度下降算发实现 javaboy6490
逻辑回归详解和应用 javaboy2395
分类项目案例与神经网络算法 javaboy8542
多分类、决策树分类与随机森林分类 javaboy4447
分类评估与聚类 javaboy6499
密度聚类与谱聚类 javaboy2404
Tensorflow 安装并实现线性回归 javaboy8551
TensorFlow 深入、TensorFlow可视化 javaboy4456
DNN 深度神经网络手写图片识别 javaboy6508
TensorBoard 可视化 javaboy2413
卷积神经网络、CNN 识别图片 javaboy8560
卷积神经网络深入,AlexNet 模型实现 javaboy4465
Keras 深度学习框架 javaboy6517

2.8 分布式相关

资源名称 口令
ZooKeeper 简介 javaboy2422
ZooKeeper 安装 javaboy8569
ZooKeeper 基本数据模型 javaboy4474
基于 Linux 的 ZK 客户端命令 javaboy6526
选举模式和 ZK 集群安装 javaboy2431
JavaAPI 操作 ZK javaboy8578
ApacheCurator 客户端 javaboy4483
Dubbo 入门到重构服务 javaboy6535
分布式锁 javaboy2440
Zookeeper 总结 javaboy8587

2.9 项目实战

资源名称 口令
OA 办公自动化项目1 javaboy4492
OA 办公自动化项目2 javaboy6544
OA 办公自动化项目3 javaboy2449
OA 办公自动化项目4 javaboy8596
备锋客户关系管理(CRM)系统 javaboy4501
百战客户关系管理系统 javaboy6553
宅急送项目 javaboy2458
高仿人人网项目 javaboy8605
Java 邮件开发项目 javaboy4510
在线支付实战视频 javaboy6562
俄罗斯方块游戏实战 javaboy2467
贪吃蛇视频教程 javaboy8614
交通灯管理系统 javaboy4519
银行业务调度系统实战 javaboy6571
供应链系统实战视频 javaboy2476
网上商城项目实战 javaboy8623
医药采购平台管理系统 javaboy4528
点餐系统实战 javaboy6580
杰信商贸 SSM 版 javaboy2485
国家税务协同平台项目 javaboy8632
javaWeb 聊天室 javaboy4537
网上书店 javaboy6589
手机进销存系统 javaboy2494
QQ 聊天器 javaboy8641
ERP 项目 javaboy4546
坦克大战 javaboy6598
五子棋游戏 javaboy2503
报名系统 Activity javaboy8650
OA 供应链系统 javaboy4555
用户管理系统 javaboy6607
JavaWeb 图书商城 javaboy2512
VIP 商场 javaboy8659
企业招聘系统 javaboy4564
博客系统项目 javaboy6616
超级玛丽 javaboy2521
成绩管理系统 javaboy8668
个人理财系统 javaboy4573
人事管理系统 javaboy6625
JBPM 采购申请系统 javaboy2530
电子商务网站 javaboy8677
跨平台 App 开发 javaboy4582

2.10 文档资源

资源名称 口令
Docker 教程 docker
Redis 教程 redis
RocketMQ 教程 rocketmq
Java8 新特性文档 java8
设计模式教程 设计模式
网络协议教程 网络
netty 教程 netty
web 全栈指南 web全栈

好了,本次就先更新这么多,如果这里没有你想要的,也也可以留言说说你需要的资料,松哥会及时更新资源哦。 另外,大家在公众号后台回复 资源 ,也可以获取本文电子版。

如果这些资源帮助到你了,欢迎转发给更多小伙伴哦。

Releases

No releases published

Packages

No packages published