分析源码到底是为了什么

        今日,好像有不少网友在群里问我分析源码到底为了什么?有些觉得完全没必要,也有的觉得可以。那么这里我就写写分析源码到底是为了什么吧!

        首先,你得明确自己的目标,你是为了找一份高薪的工资,或者其他让自己显得更牛逼的动机?还是实实在在的想在使用相关技术的集群出现异常时能够更准确的定位问题、理解问题乃至解决问题。我想,我的目标是:

        搞清楚它们的设计、实现细节,更好的运用它们,在不满足业务数据需求的前提下改造它们,乃至将来有一天,我也能参与写出至少现在在我看来很牛逼的框架们。

         Just so so!

        或许诸位可能觉得我实现不了,做不到,很困难,云云。但是在我看完源码后,在我沉淀后,我相信将来有一天我一定能做到。

        还有,做为一个IT技术人员,谦虚是必要的,它能让你不断的进步,但是有时在别人面前装装逼,也能给自己带来自信。恰巧这种分析源码会让你有资本去那么做。当然,装逼要有个度,而且要最低最低,不然就被别人鄙视加蔑视了!哈哈!而最重要的是,虽然偶尔装装逼,但是那份谦虚是要发自内心的。山外青山楼外楼,在你的周围,总有高手在你之上,所以还是要很务实的持续不断的夯实自己吧!

        分享出来也是一件好事!按照学习金子塔的理论,分享与讲解给别人听是最有效的一种学习手段,能够让自己得到切实的提高。而且,还能带动别人学习,何乐而不为呢?正所谓独乐乐不如众乐乐!

        其实,分析源码是有很多好处的。但是,你要把握一个度,就是:在完成本职工作的情况下,再去做分析源码方面的事情!

        那么,分析源码都有什么好处呢?总结起来,大体共这么几点:

        1、能够深入理解框架实现的原理:原理有时你可能只能理解表面的东西,实际上通过源码分析,你就能够对其深入理解,当然这是要去深入分析的;

        2、能够了解框架实现的细节,比如不常用但是确实好用的类,先进的第三方框架、学习对方对复杂系统良好的把控能力:这个是需要一点一滴积累,并且最好能应用于实战的;

        3、能够深入理解框架的架构设计,提升自己的架构水平,学到很多好的设计模式、理念,运用于日常架构工作中;

        4、如果集群出现异常,能够根据异常迅速定位问题、理解问题和解决问题;

        5、提高自己对框架的深度综合运用能力;

        6、提高分析其他框架源码的能力,提升自己的综合能力,做到触类旁通。

        或许还有其他好处,暂时总结到这里吧!等到分析完那些优秀的框架,并在日常项目中加以锤炼后,我相信,终有一天,我能实现我的上述目标!Fighting!

        

时间: 2024-09-20 05:46:08

分析源码到底是为了什么的相关文章

net-多级缓冲区分析源码,求大神看过来

问题描述 多级缓冲区分析源码,求大神看过来 用(.NET)C# AE做系统,需要用到多级缓冲区分析,希望有人给出源码,跪谢! 解决方案 http://download.csdn.net/detail/jshj1982/5276239

Android 自定义相机及分析源码

Android 自定义相机及分析源码 使用Android 系统相机的方法: 要想让应用有相机的action,咱们就必须在清单文件中做一些声明,好让系统知道,如下 <intent-filter> <action android:name="android.intent.action.IMAGE_CAPTURE" /> <category android:name="android.intent.category.DEFAULT" />

使用 Java 6 API分析源码

您可曾想过像 Checkstyle 或 FindBugs 这样的工具如何执行静态代码分析吗,或者像 NetBeans 或 Eclipse 这样的集成开发环境(Integrated Development Environments IDE)如何执行快速代码修复或 查找在代码中声明的字段的完全引用吗?在许多情况下,IDE 具有自己的 API 来解析源码并生成标准树 结构,称为 抽象语法树(Abstract Syntax Tree AST) 或"解析树",此树可用于对源码元素的进一步 分析.

java.util.Timer分析源码了解原理

  Timer中最主要由三个部分组成: 任务 TimerTask .  任务队列: TaskQueue queue 和 任务调试者:TimerThread thread 他们之间的关系可以通过下面图示: 在这个图中,可以清楚地看到这Timer本身及其和这三个部分的关系: 1. Timer可以看作是面向开发人员的一个"接口" 2. 所有向Timer添加的任务都会被放入一个TaskQueue类型的任务队列中去.(如何安排任务优先级顺序下文会讲) 3. 任务调度由TimerThread负责

Java源码分析:深入探讨Iterator模式

java.util包中包含了一系列重要的集合类.本文将从分析源码入手,深入研究一个集合类的内部结构,以及遍历集合的迭代模式的源码实现内幕. 下面我们先简单讨论一个根接口Collection,然后分析一个抽象类AbstractList和它的对应Iterator接口,并仔细研究迭代子模式的实现原理. 本文讨论的源代码版本是JDK 1.4.2,因为JDK 1.5在java.util中使用了很多泛型代码,为了简化问题,所以我们还是讨论1.4版本的代码. 集合类的根接口Collection Collect

详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析] good

目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口的具体应用 常用HandlerMethodArgumentResolver介绍 常用HandlerMethodReturnValueHandler介绍 本文开头现象解释以及解决方案 编写自定义的HandlerMet

JDK源码分析-ArrayList分析

花了两个晚上的时间研究了一下ArrayList的源码, ArrayList 继承自AbstractList 并且实现了List, RandomAccess, Cloneable, Serializable 通过实现这三个接口 就具备了他们的功能 RandomAccess 用来表明其支持快速(通常是固定时间)随机访问 Cloneable可以克隆对象 Serializable 对象序列化就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便地实现对象的传输和存储,Serializable

Java源码分析:深入探讨Iterator模式_JSP编程

java.util包中包含了一系列重要的集合类.本文将从分析源码入手,深入研究一个集合类的内部结构,以及遍历集合的迭代模式的源码实现内幕. 下面我们先简单讨论一个根接口Collection,然后分析一个抽象类AbstractList和它的对应Iterator接口,并仔细研究迭代子模式的实现原理. 本文讨论的源代码版本是JDK 1.4.2,因为JDK 1.5在java.util中使用了很多泛型代码,为了简化问题,所以我们还是讨论1.4版本的代码. 集合类的根接口Collection Collect

Jquery源码分析---导言

jQuery是一个非常优秀的JS库,与Prototype,YUI,Mootools等众多的Js类库 相比,它剑走偏锋,从web开发的实用角度出发,抛除了其它Lib中一些中看但不 实用的东西,为开发者提供了优美短小而精悍的类库.其使用简单,文档丰富, 而且性能高效,能极大地提高web系统的开发效率.因此可以说是web应用开发中 最佳的Js辅助类库之一.大部分开发者正在抛弃Prototype,而选择Jquery做为 他们进行web开发的JS库. 如是开发人员仅仅只知道文档中的简单的使用 方法,却不明