总听到有开发者谈论这个问题,我相信是不少人的痛点:
作为一名普通的开发者,看到别人不是进阿里就是当高管。心里难免有一些艳羡,不甘于现状。想上进的心思是强烈的,却不知道到底该选择什么样的技术深入学习。
这个问题主要是开发者的发展方向问题,在我看来解决这个问题一般有以下4种方向:
基于产品本身
要记住公司招人是解决问题的,基于现有问题出发,大家一般心里会有一个大致的解决方案,而这个解决方案通常是由若干种技术组合而成。
比如说,当单机遇到性能瓶颈而单纯升级硬件的成本太高时,我通常会选择分布式技术,而分布式之下又有zookeeper、dubbo等具体技术。
总而言之,针对性地学习比“多而不精”好得多,好钢使在刀刃上。
现有技术的拓展
如果你是开发者,你一定有在用某种技术了。那么想深入学习,最行之有效的办法就是深入现有的技术,并进行拓展学习,形成自己的技术栈。
比如我现在在做视频编解码,那像 ffmpeg 、OpenH264、WebRTC等等,都可以学。
一段时间后,你会发现自己也能独当一面。
市场需求状况
大部分人都不能免俗,如果你想赚钱,得到更好的发展,可以根据市场需求选择自己的学习方向。
比如现在人工智能的需求较多,前景不错,那你就可以选择Python、TensorFlow等。
无论是选择运用最为广泛的Java还是在人工智能方面表现不俗的Python,或者其他语言,都要深思熟虑,一旦决定,绝不轻易回头。
兴趣爱好驱动
如果你有感兴趣的技术,那跟着兴趣走就好了,兴趣是最好的老师。
无论你最终选择哪个方向,何种技术,最重要的还是坚持不懈,只有持续不断的学习、实践,才能让你真正精通某种技术。
我在这里也给那些想拔高自己的高度却不知道如何选择方向的程序员们提供一份进阶路线图,主要针对1到5年及以上工作经验的Java开发人员,从广度到深度来说还算比较全面的,里面的技术包涵了Java高并发、分布式、微服务、源码分析、高性能等技术,这些也是目前互联网企业比较常用的技术,那么来详细看看。(图片可以保存)
一:常见模式与工具
学习Java技术体系,设计模式,流行的框架与组件
常见的设计模式,编码必备Spring5,做应用必不可少的最新框架MyBatis,玩数据库必不可少的组件
![image.png](https://static.studygolang.com/190130/6121e7abe3a5a55dbceb87755f174fee.png)
二:工程化与工具
工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:
Maven,项目管理Jenkins,持续集成Sonar,代码质量管理Git,版本管理
![image.png](https://static.studygolang.com/190130/09d26bb370b2449de684460c49fca597.png)
三:分布式架构
高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:
分布式架构原理分布式架构策略分布式中间件分布式架构实战
![image.png](https://static.studygolang.com/190130/08122ef1ea049c98ef22af2ce74f6a44.png)
四:微服务架构
业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?
微服务框架Spring CloudDocker与虚拟化微服务架构
![image.png](https://static.studygolang.com/190130/d6e261c468c40ae811f07bcca6ab0494.png)
五:性能优化
任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:
性能指标体系JVM调优Web调优DB调优
![image.png](https://static.studygolang.com/190130/ea710076e622caad7f8b5ad4735eda37.png)
六:底层知识
从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:
内存模型并发模式线程模型锁细节
![image.png](https://static.studygolang.com/181130/a5308dbb9941488e3bc0bf402bac3705.png)
【附】相关架构视频资料
![image.png](https://static.studygolang.com/190130/94dcc327e5d33372e69880e0f5196775.png)
![image.png](https://static.studygolang.com/190130/72006b01917f7a9fe846331d6f6e5281.png)
资料领取
欢迎工作一到五年的Java工程师朋友们加入Java高级架构:617912068
群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
有疑问加站长微信联系(非本文作者)