首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >阿里之路(一)

阿里之路(一)

作者头像
加多
发布2018-09-06 15:01:06
4030
发布2018-09-06 15:01:06
举报
文章被收录于专栏:Java编程技术Java编程技术

我是2015年6月研究生毕业,然后通过校招进入到阿里巴巴,当时复习时候目标很明确就是要进入BAT,然后就一堆堆资料的复习,本科+研究生7年用的都是c++,所以面试时候自然面试了c++职位,但是面试时候面试官说我们只要Java,你愿不愿意做Java方面开发,自然愿意啊,当时啥都没想,就进入了现在的部门做Java后台的业务开发。

进入职场最直观的感受是凡是要靠自己去摸索,去研究,最多业务或者技术点上同事和老板会给你指点一下,但是具体具体细节还是需要自己去花时间去研究的,毕竟别人都有自己的工作的,即使工作不很忙,人家还想干点自己的事情的。

阿里的系统大多文档不是很齐全,所以需要自己看代码+咨询业务的方式来理清脉络。自然看代码debug是不可缺少的步骤。在转正前都有三个月实习,这三个月时间完成了对第一个业务系统的代码逻辑的熟悉,熟悉后就会发现这个系统并不复杂,都是固定的执行线路。

空闲之余开始看开源框架源码,说起看源码这不得不感谢前同事了元(花名),了元是一个牛逼哄哄的技术牛人,无论是Tomcat,JVM调优,Calssloader,并发编程,OSGI,JNDI等他都很深入的了解,感觉技术上就没有他不知道的,并且喜欢研究开源框架源码。一开始了元是带我看Spring的源码,我感觉很吃力,但是花了大概1月时间对Spring框架有了一点认识,然后就磨磨蹭蹭的看完了Spring IOC和AoP的代码。

对于看源码有一点感触,就是先找一个demo,分析运行结果,然后debug进入,在debug过程中要干两件事情,第一画出模块类图结构,第二画出时序图。好处在于debug完后你会清楚的看到这个框架的这块功能是有哪些模块类组成,每个模块类对这个功能的实现提供了哪些能力等等,这对你理解这个功能的设计有一定帮助,另外时序图有助于你了解这个功能的执行逻辑,当你下一次想看这个功能的某些实现时候,你可以根据时序图直接找的你感兴趣的类,直接进入研究。

看完Spring源码的大部分源码后,就开始看Tomcat了,自然这个一方面是受了元的影响,一方面是自己的兴趣,tomcat里面内容还是比较多的,有空就翻翻,研究tomcat一个心得是首先从main函数开始看tomcat的各级容器是怎么初始化,启动的,然后在分析一个请求过来后是怎么处理的。建议先看一点网上的资料对tomcat的整个结构体系有个了解,然后再看代码会事半功倍。

当然后面有看了Velocity,mybaits和阿里的大部分中间件代码,看源码最大的好处是可以开阔你的思维,提升你的架构设计能力,有些东西书本和紧靠自己思考是很难学到的,必须通过看源码,看别人如何设计的,然后思考为何这样设计。能力的提高判断不在于你写了多少代码,做了多少项目,而在于给你一个业务场景时候,你是否能拿出几种靠谱的解决方案。而如何才能拿出来那,一来靠经验,二来靠归纳总结,而看源码,看经典框架如何实现的,则可以快速累加你的经验。 ......

随着2年积累,你会慢慢发现自己之前的积累实在是太浅了,学的东西太基础了,那么如何才能在把自己提高一个层次那,那就不要甘于做纯碎堆积代码的业务了,去中间件吧,去淘宝吧,在那里高并发,高流量的挑战等着你去被虐-。

最后发表下感慨:良禽择木而栖,努力很重要,选择更重要。

在新岗位要适应一段时间,熟悉新系统,后面会在写下淘宝中间件部门的感受。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.07.07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档