我为什么要写这一篇文章?

这是一篇比较适合有一定Java基础的同学阅读的文章。

我知道关注我的朋友,其实大部分都是有一定的Java基础的,我的粉丝群体比较杂,有在小公司待着的,有些是想转行在自学的,有些就是在外包公司的。

正是因为这样,从而经常有粉丝发私信跟我埋怨:外包公司、小公司没有成长机会只有加不完的班,敲不完的代码,想跳槽奈何自己技术不到家。转行自学的伙伴,学习迷茫不知道怎么学习才是正确的,就很容易放弃。

所以在2021的年初这篇文章就因此诞生了!

首先我们肯定要知道这篇文章到底有什么,献上文章概述!

1.Java目前的就业情况

2.题外话(你只是在假努力而已)

3.架构师筑基不可或缺的必备技能(大厂必问并发编程技术、JVM深度剖析、网络编程与高效Io、MySQL深度进阶、深入tomacat底层、面试必问算法与数据结构)

4.设计思想解读开源框架(六大原则、结构型模式、创建型模式、行为型模式、spring boot、spring mvc、mybatis)

5.性能直线提升架构技术(分布式与微服务架构思维、zookeeper、Nginx、RabbitMQ、RocketMQ、kafka、elastic)

6.高效的储存让你的项目性能起飞(Redis、mongoDB、MySQL、mycat、FastDFS)

7.分布式扩展到微服务架构(什么是RPC?、Dubbo、spring cloud、Docker、kubernetes)

8.实用的学习网站汇总

9.面试干货

 

一、Java目前的就业情况(岗位需求量以及薪资水平)

其实Java这么多年以来都是非常主流的语言,每年的岗位的需求量也是非常巨大的,在目前的计算机语言来说一直都是名列前茅的。

下图是1985年到2020年的最受欢迎编程语言排行榜

 

可以看的出来Java这么多年了,热度一直都是居高不下的。

我们用Java和目前大热的Python在深圳来比较一下薪资和岗位需求量

Java

 

Python

 

从各方面的数据以及真实就业情况来看目前Java几乎是最好的就业语言。

二、你只是假努力而已

这是一个题外话,但又是这篇文章的根基,为什么这么说呢,我们先抛开任何有关你为什么点进这篇文章的想法,仔细阅读接下来的每一句话。

其实我们在生活中可以发现很多这种情况,你的朋友、死党、同事等等,还有你自己身上都是可以发现假努力的现象。

我就把我遇见的分享出来大家肯定是有共鸣的,大学时期我听过无数次的我要减肥,我要做兼职赚钱,我要好好学习,可是呢我看到的是什么?是行动了,买了装备,然而接下来的就是三天打鱼两天晒网的运动,总给自己找借口。

总是在手机上找着兼职,去了几次后开始找借口,这个工作时间长工资还低谁去啊,这个太累了。

学习就是每天心不在焉的看了一会压根没有去认真看,就好像在完成心里自我以为努力的任务一样。

直到工作了这么久,这种现象还是可以轻易见到,对自己没有要求没有计划,把学习当做任务去完成是很难学做好一件事情的,任何事情都是一样的,包括学习Java,不要再以心里的自以为努力来欺骗自己了。

如果可以做到严格要求自己,请往下看。

干货来了!!

注:文章中展示的只是笔记的概述和一个知识点,需要文中提及的笔记完整版的朋友扫描小编的二维码即可免费获取!已为大家打包整理好了!

三、架构师筑基不可或缺的必备技能

※ 脑图

 

推荐学习笔记:

1、并发编程(并发编程的挑战+Java并发机制的底层的实现原理+Java内存模型+Java并发编程基础+Java中的锁+Java并发容器和框架+Java中的13个原子操作类+Java中的并发工具类+Java中的线程池+Executor框架+Java并发编程实战)

异步任务池

 

2、JVM(走进Java+自定内存管理+虚拟机执行子系统+程序编译与代码优化+高效并发)

类加载的时机

 

3、MySQL(MySQL架构与历史+MySQL基准测试+服务器性能剖析+Schema与数据类型优化+创建高性能的索引+查询性能优化+MySQL高级特性+优化服务器设置+操作系统和硬件优化+复制+可扩展MySQL+高可用性+云端的MySQL+应用层优化+备份与恢复+MySQL用户工具)

分解关联查询

 

4、Tomacat(Tomcat介绍+Tomcat总体架构+Catalina+Coyote+Jasper+Tomcat配置管理+Web服务器集成+Tomcat集群+Tomcat安全+Tomcat性能调优+Tomcat附加功能)

I/O

 

5、算法与数据结构(基础+排序+查找+图+字符串)

符号表

 

四、设计思想解读开源框架

※ 脑图

 

推荐学习笔记:

1、spring boot(Spring Boot入门+配置文件+日志+web开发+docker+SpringBoot与数据访问+启动配置原理+自定义starter)

 

2、spring mvc(spring框架+模型2和MVC模式+Spring MVC介绍+基于注解的控制器+数据绑定和form标签库+Converter和Formatter+验证器+表达式语言(EL)+JSTL+国际化+上传文件+下载文件)

模型2之Servlet控制器

 

3、Mybatis(MyBatis入门+MyBatis XML方式的基本用法+MyBatis动态SQL+Mybatis代码生成器+MyBatis高级查询+MyBatis缓存配置+MyBatis插件开发+Spring集成MyBatis+Spring Boot集成MyBatis+MyBatis开源项目)

创建Maven项目

 

五、性能直线提升架构技术

※ 脑图

 

推荐学习笔记:

1、zookeeper(简介+了解ZooKeeper+开始使用ZooKeeper的API+处理状态变化+故障处理+ZooKeeperi注意事项+C语言客户端+Curator: ZooKeeper API的高级封装库+ZooKeeper的管理+ZooKeeper内部原理+运行ZooKeeper)

建立zookeeper会话

 

2、Nginx(研究Nginx前的准备工作+Nginx的配置+开发一个简单的HTTP模块+配置、error日志和请求上下文+访问第三方服务+开发一个简单的HTTP过滤模块+Nginx提供的高级数据结构+Nginx基础架构+事件模块+HTTP框架的初始化+HTTP框架的执行流程+upstream机制的设计与实现+邮件代理模块+进程间的通信机制+变量+slab共享内存)

合并配置项

 

3、RabbitMQ(RabbitMQ简介+RabbitMQ入门+客户端开发导向+RabbitMQ进阶+RabbitMQ管理+RabbitMQ配置+RabbitMQ运维+跨越集群的界限+RabbitMQ高阶+网络分区+RabbitMQ扩展)

延迟队列

 

4、RocketMQ(阅读源代码前的准备+RocketMQ路由中心NameServer+RocketMQ消息发送+RocketMQ消息储存+RocketMQ消息消费+消息过滤FilterServer+RocketMQ主从同步(HA)机制+RocketMQ事务消息+RocketMQ实战)

消息发送队列自选择

消息过滤

 

5、kafka(初识kafka+生产者+消费者+主题与分区+日志储存+深入服务端+深入客户端+可靠性研究+kafka应用+kafka监控+高级应用+kafka与spark的集成)

消息轨迹

 

六、高效的储存让你的项目性能起飞

※ 脑图

 

推荐学习笔记:

1、Redis(初识redis+API的理解和使用+小功能大作用+客户端+持久化+复制+Redis的噩梦:阻塞+理解内存+哨兵+集群+缓存设计+开发运维的陷阱+Redis监控运维云平台CacheCloud)

多实例部署

 

2、Mycat

入门篇(概述+Mycat前世今生+Mycat中的概念+快速入门+日志分析+Mycat防火墙配置+Mycat的配置+Mycat的分片join+全局序列号+Mycat分片规则+常见问题以及解决方案+Mycat性能测试指南)

高级进阶篇(读写分离+高可用与集群+事务支持+Mycat sql拦截机制+Mycat注解+Mycat支持的catlet实现+jdbc多数据库支持+管理命令与监控+压缩协议支持+Mycat-Web+MyCAT对存储过程的支持)

生产实践篇(生产实践案例-Mycat读写分离案例+分表分库案例+生产环境部署+Mycat最佳实践+Mycat实施指南+数据迁移与扩容实践+版本选择与升级指南+性能调优)

开发篇(加入Mycat+Mycat开发基础+Mycat架构分析+Mycat线程模型分析+Mycat连接池模型+Mycat的网络通信框架+Mycat的路由与分发流程+Mycat的JDBC后端框架+Mycat的事务管理机制+Mycat的分页和跨库Join+Mycat缓存+Mycat的分片规则设计+Mycat Load Data源码+Mycat外传-群英会)

事务支持

 

七、分布式扩展到微服务架构

※ 脑图

 

推荐学习笔记:

1、spring cloud(基础知识+微服务搭建+服务治理+客户端负载均衡+服务容器保护+声明式服务调用+API网关服务+分布式配置中心+消息总线+消息驱动的微服务+分布式服务跟踪)

客户端负载均衡

 

2、Docker

基础入门(初识Docker与容器+核心概念与安装配置+使用Docker镜像+操作Docker容器+访问Docker合库+Docker数据管理+端口映射与容器互联+使用Dockerfile创建镜像)

实战案例(主为镜像添加SSH服务+Web服务与应用+数据库应用+分布式处理与大数据平台+编程开发+容器与云服务+容器实战思考)

进阶技能(核心实现技术+配置私有仓库+安全防护与配置+高级网络功能+libnetwork插件化网络功能)

开源项目(Etcd—高可用的键值数据库+Docker三剑客之Machine+Docker三剑客之Compose+Docker三剑客之Swarm+Mesos—优秀的集群资源调度平台+Kubernetes—生产级容器集群平台)

第三方镜像市场

 

八、实用学习网站汇总

给大家整理了一些我个人觉得挺实用的一些学习网站:

① 视频网站

  • B站(推荐):https://www.bilibili.com/
  • 网易云课堂:https://study.163.com/
  • 极客学院:https://www.jikexueyuan.com/
  • 慕课网:https://www.imooc.com/

② 专栏

  • 极客时间(推荐):https://time.geekbang.org/
  • Gitchat https://gitbook.cn/

③ Github

  • Java 知识地图(推荐):https://github.com/smileArchitect/JavaMap

④ 技术博客:

  • CSDN 博客:https://blog.csdn.net/
  • 博客园:https://www.cnblogs.com/
  • 掘金社区(推荐):https://juejin.cn/
  • InfoQ:https://xie.infoq.cn/
  • 思否:https://segmentfault.com/
  • 开源中国:https://www.oschina.net/blog

⑤ 搜索引擎:

  • 百度:https://www.baidu.com/
  • 谷歌:https://www.google.com/

⑥ 知识问答:

  • 知乎(推荐):https://www.zhihu.com/
  • stackoverflow(推荐):https://stackoverflow.com/

⑦ 刷题:

  • 力扣(推荐):https://leetcode-cn.com/
  • 牛客:https://www.nowcoder.com/

⑧ 云笔记:

  • 石墨:https://shimo.im/
  • 语雀:https://www.yuque.com/
  • 有道云笔记:http://note.youdao.com/

九、面试干货

面试前的准备肯定是必不可少的,这是我给大家整理各个技术点的面试真题,有需要的朋友扫描小编的二维码即可免费获取!

 

当然除了面试前刷面试题,简历的制作也是非常重要的,一副好看整洁专业的简历总会给面试官产生一种视觉冲击力和美感,对你的第一印象也会加分,给大家推荐几个制作简历巨好用的网站!

①超级简历

 

②Chuangkit

 

③Canva可画

 

④五百丁简历

 

结尾

写这篇文章真的是花费了我很久的时间,文章中所有展示的干货都是自己辛苦收集整理检验过的,所以这篇文章来的有点晚,不过质量是非常可靠的,就跟一分钱一分货是一个道理,细心准备的东西总是不会差的,希望这篇文章可以帮助到大家,能给学习Java的小伙伴指引道路。

文章中所有展示的资料都只是其中一个点,需要完整版的朋友扫描小编的二维码即可免费获取!