前记:

最近看了rongjun的一片文章:自己动手实现jdk代理类。按照上面的例子敲完才发现,JDK动态代理 实现底层原来如此简单,只是大量的使用了反射,类编译,类加载一些常规的东西

而且本质也是如实此简单。然后回头看源码,天呢,实现很长很长,当然里面加了很多各种异常的处理,各种抽象。。。呵呵,私以为。如果所有JAVA实现的框架,技术 ,如果都能如 rongjun这种代码一样,我想大家自己跑一遍并解读源码,我想大家就不会被各种拗口名词,各种不断新出的技术术语 所蒙蔽所不解。。所谓万变不离其宗,各种复杂的东西,拨开迷雾本质是:各种基本元素的不同花样组合。此时,终于明白以前我的一位架构师导师的苦心了,他告诉我,要把JSR熟读搞懂。JSR就是JAVA的各种复杂基本元素。

以上是我对于“动手自己实现XXX”的感悟。

鉴于做为一个有点小追求技术人员,仅仅满足于怎么用这个问题,简直太肤浅太肤浅了.....

明白 为什么 非常重要,归综下来以下好处。

  • 明白底层原理,那么在面对众多不同的产品时才能明白其利弊,才能做最基本的技术选型,也就才能达到更好的使用。
  • 世上无原创,读懂各种技术,各种术语 的底层思想,这些都是解决问题的套路,可以为我所用,如果滚瓜烂熟各种套路,如果再掌握最基本的元素,根据场景 实现自己的框架 ,那岂不是信手拈来。如果这个场景使用非常广泛,那不就推广出自己发布的框架吗,哈哈哈。。。

不过知易行难,加油~

因此必须要求自己知道常用技术底层的实现原理,其中自己动手去实现一个精简版的技术 是 加深对一个技术原理理解的 非常好的方式。我需要保持 ,故列出一个清单,当想到去实现的一个技术 ,就记录下来并持续 自己动手~

----------------------------------------------------------------------------------------------------------------------------------

  1. 自已动手实现springIOC
  2. 自己动手实现SpringAOP
  3. 自已动手实现JDK动态代理
  4. 自己动手实现RPC框架
  5. 自己动手实现.....

自己动手实现XXX系列的更多相关文章

  1. Seven xxx in Seven Weeks ebooks | 七周七 xxx 系列图书 电子书| share 分享 | free of charge 免费!

    Seven xxx  in Seven Weeks ebooks |  七周七 xxx 系列图书  电子书| share  分享 | free of charge  免费! Seven Languag ...

  2. 动手实现CapsNet系列——1 概述

    Geoffrey Hinton是深度学习的开创者之一,反向传播等神经网络经典算法发明人,他在17年年底和他的团队发表了两篇论文,介绍了一种全新的神经网络,这种网络基于一种称为胶囊(Capsule)的结 ...

  3. 动手实现CapsNet系列——2 实现(未完待续)

    执行后返回如下信息: Loading complete. Training started! [epoch 0][iter 0] loss: 0.8082, acc: 14.0000% (14/100 ...

  4. 自己动手写ORM的感受

    之前看到奋斗前辈和时不我待前辈的自己动手写ORM系列博客,感觉讲解的通俗易懂,清晰透彻.作为一个菜鸟,闲来也想着自己写一个ORM,一来加深自己对 ORM的理解,以求对EF,NHibernate等ROM ...

  5. 自己动手写插件底层篇—基于jquery移动插件实现

    序言 本章作为自己动手写插件的第一篇文章,会尽可能的详细描述一些实现的方式和预备知识的讲解,随着知识点积累的一点点深入,可能到了后期讲解也会有所跳跃.所以,希望知识点不是很扎实的读者或者是初学者,不要 ...

  6. Github干货系列:C++资源集合-

    Awesome CPP,这又是一个 Awesome XXX 系列的资源整理,由 fffaraz 发起和维护.内容包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. ...

  7. TiDB 源码阅读系列文章(一)序

    原创: 申砾 PingCAP  2018-02-28 在 TiDB DevCon2018 上,我们对外宣布了 TiDB 源码阅读分享活动,承诺对外发布一系列文章以及视频帮助大家理解 TiDB 源码.大 ...

  8. Github上安卓榜排名第2的程序员教你如何学习【转载,侵删】

    来自:峰瑞资本(微信号:freesvc)文章作者:代码家(微信 ID:daimajia_share) 软件早已吞噬整个世界,程序员是关键角色.过去 40 年中,许多伟大的公司都由程序员缔造,比如比尔· ...

  9. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

随机推荐

  1. webpack 分析

    编译后 自动打开浏览器 可视 //npm install --save-dev webpack-bundle-analyzer //webpack.base.conf.js const BundleA ...

  2. $.ajax 的速度要快于 angular 里 $http (个别情况)

    $.ajax: $http:

  3. HDU 1806

    http://acm.hdu.edu.cn/showproblem.php?pid=1806 非常玄妙的rmq问题,这个st算法有点神 #include <iostream> #inclu ...

  4. 快速生成树RTSP

    Note: 数据分组:

  5. 【集成学习】lightgbm使用案例

    github地址 #!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Created on Sat Mar 31 21: ...

  6. js获得分辨率

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  7. selenium-java,启动谷歌浏览器和火狐浏览器

    selenium3.4.0-java,启动谷歌浏览器和火狐浏览器-------------------------------------------------------------------- ...

  8. bzoj 5288 游戏

    bzoj 5288 游戏 显然从点 \(x\) 出发,能到达的点是包含 \(x\) 的一段区间.用 \(L,R\) 两个数组记录每个点对应的区间端点. 如果能预处理出 \(L,R\) ,询问显然可以 ...

  9. BZOJ1101 POI2007 Zap 【莫比乌斯反演】

    BZOJ1101 POI2007 Zap Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b, ...

  10. 将美化进行到底,把 PowerShell 做成 oh-my-zsh 的样子

    不知你有没有看过 Linux 上 oh-my-zsh 的样子?看过之后你一定会惊叹,原来命令行还能这么玩!然而 Windows 下能这么玩吗?答案是可行的,接下来就来看看怎么玩. Windows 下我 ...