总结
利用分解的方法论,一分二、二分四。
内部设计 | 外部应用 |
---|---|
目标 | 问题 |
实现原理 | 技术规范 |
优势局限 | 最佳实践 |
技术演进趋势 | 市场应用趋势 |
1、这个技术的核心关键点是什么?要解决的问题是什么?
比如,我学习测试框架TestableMock。
TestableMock要解决的主要是什么?
解决其他框架上手难、不能测试私有方法、不能测试静态方法的问题
TestableMock的核心关键点是什么?
运行时字节码修改(字节码增强技术),动态地修改class文件
2、过往有没有类似的技术?核心技术是否相通?
JMockit也是,不过使用复杂。
JMockit的核心技术也是 字节码增强技术。
我们平时使用的AOP(Cglib就是基于ASM的)也与字节码增强密切相关。
3、这些问题应该使用何种模式解决?
深入原理,了解类加载机制。
思考封装边界问题。
4、5分钟阅读hello world级的文档和demo
30分钟做个hello world,体验下
2小时阅读关键设计文档和代码
如果我来开发这个软件,将如何设计,关键技术点如何设计
5、加入你的知识体系树里,经常复习
6、学习技术,都要学习它的基础语法,有了根基后,就可以进行创作
比如,以前我每次写脚本,我都去网上搜,在不查阅资料的情况下,写不出来。
其实,我可以将脚本中的基础语法整理出来。
以后,自己写时就可以随意进行拼凑的。
体会:在网上搜到脚本解决问题后,要弄懂脚本的意思,抽取出基础语法,慢慢积累基础语法。(求甚解,抽取基础的语法,不断积累)
7、举个例子,关于学习线程池的例子
https://mp.weixin.qq.com/s/H6XSVlaY1gB6Gse3GR8BeA
这篇文章讲了 创建线程池的那几个参数是怎么来的?为何要有这些参数,背后要解决什么问题?
技术的终极使命是落地,是解决问题。
只要一直有问题要解决,那就有意义。
竭尽全力、专心致志、全神贯注的做好分内之事;分享,成长,拒绝浅尝辄止。