如何从 0 开始学一门新技术框架

 作为技术人,你们最担忧的一点,就是本身学习的节奏跟不上新技术发展的步伐,心里非常焦虑。不少小伙伴都会感慨,平时工做这么忙,成家了为人父母了,回家也无法像单身那样有时间学习了,另一方面,发现各类新技术满天飞,应接不暇。那么问题来了,咱们技术人,应该如何学习一门新技术框架呢?今天我就按照我过去学习Netty的思路来和你们作一个分享,但愿对你们有所帮助。
微信

1. 先搞明白这个框架具体是什么网络

例如, Netty 是什么?框架

咱们即刻Google 一下,获得如下答案:异步

  Netty 是一个基于 JAVA NIO 类库的异步通讯框架。找出关键词“ NIO” 和 “异步”,这就是Netty最重要的特性,另外它处于网络层。提炼出的这些关键词的做用就是用来肯定本身是否已清楚全部基础知识点。框架处于哪一层决定了性能

下一步了解该框架的应用场景。学习

若是发现本身还不懂什么是IO与NIO, 那么就直接看下图
设计

2. 明确该框架能作什么
调试

知道这些框架都是提供了什么样的底层服务,咱们能够利用这个框架作什么事情。rest

对于Netty,能够开发异步、非阻塞的 TCP/ UDP 网络应用程序;开发异步 HTTP 服务端和客户端应用程序;Netty提供了对多种编解码框架的集成、Java 序列化、压缩编解码、XML 解码、字符串编解码等。看到这里,咱们能够初步感受到,Netty能够帮咱们拆分应用进行服务化,做为基础通讯组件被咱们的 RPC 框架使用,以提升开发和维护效率。cdn

3. 了解该框架的应用场景

在应用层面上知道如何使用,经过前人的经验,明确这个框架是如何融入进去的,避免走弯路。

比方说,对于Netty, 明显的一个应用场景就是dubbo,服务提供者和服务消费者之间,服务提供者、服务消费者和性能统计节点之间就是使用 Netty 进行异步/同步通讯。

4. 清楚框架被发明的缘由

准确的说,框架不是一门新的技术,而是帮咱们将底层的操做和通用的操做流程经过类库的方式封装起来,提供相应的API和方法,帮助咱们解决快速的解决应用层面上问题。因此咱们在学习一门新框架的时候,必需要明白这些被封装起来的东西是什么。

比方说,咱们都知道JDK提供了NIO的类库,那为何咱们还要用Netty呢?

回答这个问题前,咱们须要看一看 JDK NIO 客户端的通讯时序图

看过这张图,你们能马上明白,若是本身写,要实现一套NIO程序要写多少代码了吧。这就无形增长了使用NIO的成本,加上调试,抓包查问题等环节, 要从头搞一套异步的NIO程序并不省心。

反过来,Netty的基础开发和应用很是简单,开发一个 Echo 服务端只须要 20,30行代码,开发对应的 Echo 客户端只须要 20-30代码。

5. 实战使用该框架,并反复总结

光了解上面这4点是远远不够的,学技术不能纸上谈兵,在实战中使用后,对框架会有更多准确的把握,根据本身掌握的状况,查漏补缺,而后像作迭代项目同样,不断的深刻下去,最终就能站得更高的位置来审视框架的全局。

总结

关于学习框架的方法论,能够总结到我下面这张图:


互联网时代,须要咱们快速开发,跟上业务的发展节奏和需求,那最好的捷径就是站在别人的肩膀上,用前人智慧的结晶来帮助咱们本身,善于学习新的类库和框架,搞清楚框架中一些设计的原理和细节,搞清前因后果,学会“术”进而应用到平常的工做中去。另一方面,咱们应用团队也要不断反馈和“激励”咱们的中间件和框架开发同窗,共同推动技术体系的发展和建设。

扫描二维码或手动搜索微信公众号: ForestNotes

欢迎转载,带上如下二维码便可

相关文章
相关标签/搜索