我为什么要写这一篇文章?
这是一篇比较适合有一定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这么多年以来都是非常主流的语言,每年的岗位的需求量也是非常巨大的,在目前的计算机语言来说一直都是名列前茅的。
下图是1985年到2020年的最受欢迎编程语言排行榜
可以看的出来Java这么多年了,热度一直都是居高不下的。
我们用Java和目前大热的Python在深圳来比较一下薪资和岗位需求量
Java
Python
从各方面的数据以及真实就业情况来看目前Java几乎是最好的就业语言。
这是一个题外话,但又是这篇文章的根基,为什么这么说呢,我们先抛开任何有关你为什么点进这篇文章的想法,仔细阅读接下来的每一句话。
其实我们在生活中可以发现很多这种情况,你的朋友、死党、同事等等,还有你自己身上都是可以发现假努力的现象。
我就把我遇见的分享出来大家肯定是有共鸣的,大学时期我听过无数次的我要减肥,我要做兼职赚钱,我要好好学习,可是呢我看到的是什么?是行动了,买了装备,然而接下来的就是三天打鱼两天晒网的运动,总给自己找借口。
总是在手机上找着兼职,去了几次后开始找借口,这个工作时间长工资还低谁去啊,这个太累了。
学习就是每天心不在焉的看了一会压根没有去认真看,就好像在完成心里自我以为努力的任务一样。
直到工作了这么久,这种现象还是可以轻易见到,对自己没有要求没有计划,把学习当做任务去完成是很难学做好一件事情的,任何事情都是一样的,包括学习Java,不要再以心里的自以为努力来欺骗自己了。
如果可以做到严格要求自己,请往下看。
干货来了!!
注:文章中展示的只是笔记的概述和一个知识点,需要文中提及的笔记完整版的朋友私信小编【666】即可免费获取!已为大家打包整理好了!
※ 脑图
推荐学习笔记:
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/
面试前的准备肯定是必不可少的,这是我给大家整理各个技术点的面试真题,有需要的朋友私信小编【666】即可免费获取!
当然除了面试前刷面试题,简历的制作也是非常重要的,一副好看整洁专业的简历总会给面试官产生一种视觉冲击力和美感,对你的第一印象也会加分,给大家推荐几个制作简历巨好用的网站!
①超级简历
②Chuangkit
③Canva可画
④五百丁简历
写这篇文章真的是花费了我很久的时间,文章中所有展示的干货都是自己辛苦收集整理检验过的,所以这篇文章来的有点晚,不过质量是非常可靠的,就跟一分钱一分货是一个道理,细心准备的东西总是不会差的,希望这篇文章可以帮助到大家,能给学习Java的小伙伴指引道路。
文章中所有展示的资料都只是其中一个点,需要完整版的朋友私信【666】即可免费获取!