这几天刚刚开始上班,就有很多学员问我,我是怎么学习的,我的知识储备怎么这么多的,今天我就来跟大家聊聊如何高效的学习
如何高效的学习呢,提出以下几点
一:架构师是否应该编写代码
优秀的程序员能够很好地完成明确分配的任务,但是在大多数情况下,“”架构”这个词意味着架构师不会深入到太多细节,而且架构和代码实现之间总是存在一定的距离。
在我看来,编写代码的架构师更有可能进行后勤支持:第一次发现代码中可能出现的问题,警告他人,就改进问题向他人提供建议,或者在必要时向他人展示正确的姿态。
在大多数情况下,我并不需要为谁赢得了“核心模块”,制定这方面的工作,毕竟,我能过于分散部署时间建筑师和效率难以保证,在很多人的情况下,集中了很多比我好,我只需要保持更大的图片需要在它的适当参与。
总体而言,架构师和程序员在某些方面有点像产品经理和用户之间的关系,大多数程序员不主动告诉你他们想要什么,他们需要优化,甚至不知道。要做出好的产品,一个快捷方式是做同样的事情与用户。
二: 为什么人们的系统总是很糟糕
许多程序员有能力解决问题,说要解决一个问题,他们可以在下午写上百个代码,以实现功能。但所做的是有一种思考的感觉。大多数程序都可以这样做,但是如果你认为"时间"是一个维度,你就会意识到一个合格的项目需要考虑更多的:更一般的使用、易于理解的文档、简单和可扩展的设计等等。
许多公司应该有一些遗留系统,它们体积大,笨重,难以利用,几乎不可能维持,每个人都在抱怨这些系统,并每天都在努力,以取代那些遗留系统。但在过去的一段时间后,你会发现新的周围人开始吐槽该系统是替代传统系统。
“大多数系统一开始运行良好。它们具有功能性和可扩展性,但在开发人员离开后,它们都变得很糟糕。”
三。成为架构师最难的门槛是什么?
许多自称架构师的人都会和你谈谈建筑。所有种类的技术名词都像串音一样从他的嘴里出来,三个字没有从高并发大数据中分离出来,但是如果你问他们一点,你会发现许多基本概念缺失了,例如,声称要精通高并发性的人不知道他所谓的高并发系统的瓶颈所在。声称精通架构设计的人不明白他的系统是如何高度可用的。声称尺寸过大的系统实际上具有少于100万个数据块等等。
架构师可能听起来很伟大,但他仍然是一个工程师,不是科学家,不是江湖骗子。 不管你学了多少,你仍然需要把它付诸实践。 设计架构更多的是抽象和权衡: 将复杂的需求抽象为简单的模型,计划如何构建一个系统,包括功能、性能、可用性、研发成本等等。
四。如何更有效地学习?
大多数人每天的学习时间都是有限的,如何提高这个阶段的学习效率成为人们关注的焦点。
告诉我你提高学习效率的经验,其实很简单:系统学习。
在反复几次痛苦的学习 - 流程梳理,然后看到一些独立的物品或材料后,往往更有效,因为他们可以在系统中查找相应的知识,有时甚至是一本书一个只需要看看一个再点出纸窗户的那层,你可以获取新知识。
和很多人一样,当我毕业的时候,我觉得作为一个程序员,只要我努力工作,加一点天赋,我就能取得一些成就。
我已经很久没有接受这样一个事实,那就是我对自己和他人有了更多的认识,我也意识到程序员之间的差距可能比人和猴子之间的差距还要大。
过了一会儿,我发现自己能够客观地评价自己的能力,并意识到距离并不那么重要。只要我找到了跑得更快的方法,那就足够了。
迅速成为学习路线的架构师一:常见模式与工具
学习Java技术体系,设计模式,流行的框架与组件是必不可少的:
- 常见的设计模式,编码必备
- Spring5,做应用必不可少的最新框架
- MyBatis,玩数据库必不可少的组件
![d1881dc060a0810ff6fd1fda0b70b9b6.png](https://i-blog.csdnimg.cn/blog_migrate/adbc3277024792ccdc63ad49804ceb91.jpeg)
二:工程化与工具
工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:
- Maven,项目管理
- Jenkins,持续集成
- Sonar,代码质量管理
- Git,版本管理
![31d05e47117aec9dc471a5302da1e8ba.png](https://i-blog.csdnimg.cn/blog_migrate/91f2504562a2b3354e5921e33ab6182e.jpeg)
三:分布式架构
高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:
- 分布式架构原理
- 分布式架构策略
- 分布式中间件
- 分布式架构实战
![27c4dc6e63c14edc0e344e8ff6d468b7.png](https://i-blog.csdnimg.cn/blog_migrate/842eed121a46e3b200159d69c2e5c467.jpeg)
四:微服务架构
业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?
- 微服务框架
- Spring Cloud
- Docker与虚拟化
- 微服务架构
![c39871fe8e1334e3a155d671bac5b0ed.png](https://i-blog.csdnimg.cn/blog_migrate/7e074ac9a24a9055a0b20ec5947ce485.jpeg)
五:性能优化
任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:
- 性能指标体系
- JVM调优
- Web调优
- DB调优
![929b88c1762505b2ceabf0f4312a21ff.png](https://i-blog.csdnimg.cn/blog_migrate/d4c3f5c65ed742e07095c0eeabfaf7a6.jpeg)
六:底层知识
从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:
- 内存模型
- 并发模式
- 线程模型
- 锁细节
![5af0ada965a6e3e3b67b2eda701df19b.png](https://i-blog.csdnimg.cn/blog_migrate/1a270de2cd15bee416cf6da51d8d1301.jpeg)
以上七大知识体系是我从业多年总结出来的经验,都是当前最主流的技术。如果对Java分布式,spring、高并发、微服务,JVM等技术感兴趣的可以关注我,私信回复“007”我已将知识体系整理好,欢迎私信获取。
转发后私信我“007”即可获取了。
![b08d60b1da37dc7d901f40a1cd11e171.png](https://i-blog.csdnimg.cn/blog_migrate/871ad89c0c4f02626b144405812b13c2.jpeg)
![9a46a9e8d560f72e59825b6b48c0f2a3.png](https://i-blog.csdnimg.cn/blog_migrate/03f6717112db34c16e02a07df63332e5.jpeg)
![436643e4f45833997d3d3b98ef6c3c0c.png](https://i-blog.csdnimg.cn/blog_migrate/5ab7d3a61c4893eb454b5e2fe499d3a0.jpeg)
![65abb228002544976a855fddc23551d9.png](https://i-blog.csdnimg.cn/blog_migrate/fff5ad0aa1915df75ed78d8df61ebd30.jpeg)
![f3d75de6e2128ee911248c21e72539ca.png](https://i-blog.csdnimg.cn/blog_migrate/27598f872b65e979931cdf1d862ef4fc.jpeg)